alexriegler / breakout Goto Github PK
View Code? Open in Web Editor NEWA simple Breakout clone
Home Page: https://alexriegler.github.io/Breakout/
License: Other
A simple Breakout clone
Home Page: https://alexriegler.github.io/Breakout/
License: Other
Linux platforms should also have installers and/or executables for each release.
Some research should be done to look into what formats are best for distributing to Linux platforms.
The game is using C++17 right now but could be upgraded to C++20.
There shouldn't be any breaking changes.
This requires changing the CMAKE_CXX_STANDARD
variable in the main CMakeLists.txt. I think this should be the only change required but you should double check that there aren't any reference to C++17 anywhere.
Right now the game opens up a terminal along with the game window, which is a bit unconventional. It would be better if the game didn't need to open a terminal window and it instead logged messages to a file.
Currently sound effects are limited to an arbitrary 200 limit. After reaching this limit, the game throws an exception and exits. This limit is easily reachable after one or two levels.
Here is where the issue is in the code:
Lines 17 to 31 in 1be65a9
The sound effects instance are not being reused at the moment but they can and should be.
Perhaps some kind of circular buffer could be used. Some logic would need to be added to determine whether a sound effect has finished and if it has, then reuse the sound effect.
SFML states the following about sounds,
Another source of error is when you try to create a huge number of sounds. SFML internally has a limit; it can vary depending on the OS, but you should never exceed 256. This limit is the number of sf::Sound and sf::Music instances that can exist simultaneously. A good way to stay below the limit is to destroy (or recycle) unused sounds when they are no longer needed. This only applies if you have to manage a really large amount of sounds and music, of course.
Source:
https://www.sfml-dev.org/tutorials/2.5/audio-sounds.php
sf::Sound documentation:
https://www.sfml-dev.org/documentation/2.5.1/classsf_1_1Sound.php
The dev branch was created a while ago when the project was still using Visual Studio to build the game. It uses C++20 and has some significant architectural differences from master.
This will take a considerable amount of effort to merge. My suggested merging strategy is to take parts of the dev branch piece-by-piece into the master branch. There may be parts that we don't want to merge.
Updating the master branch to C++20 is addressed by issue #2.
MacOS platforms should also have installers and/or executables for each release.
Some research should be done to look into what formats are best for distributing to MacOS platforms.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.