allegro_flare
allegro_flare copied to clipboard
Add Suite of new Classes
AllegroFlare still has some gaps in functionality for mainstream use and clarity. Here's some ideas on what could be considered:
- Networking
- Physics 2D (chipmunk or box2d)
- Physics 3D (probably bullet physics)
- ~Random~ ✅ Added
- Math
- Downloadable Content
- Unlockable Content
- ~Color~ ✅ Added since https://github.com/allegroflare/allegro_flare/pull/172
- Parallax Background
- MotionFX (or ParticleFX, or MotionGraphic)
- TileMap
- Particle
- ParticleGenerator
- SpriteSheet
- Filesystem Watcher
- Jukebox - issue is here
- NinePatch
- TitleScreen
- TitleScreen::MenuOption
- CreditSequence
- StoryboardScreen
- LorumIpsumGenerator
Most of these features (with the exception of Random and Math) are best left until after 0.9.0
Random and Math should probably be in by 0.8.9
Color should be an object. And you should be able to do operations like +, -, *, etc.
// Initialization
Color::red;
Color(0.0, 1.0, 0.0); // 100% green
// Operators
Color(1.0, 1.0, 1.0, 0.75); // 75% transparent white
Color(0.4, 0.6, 0.3) + Color(0.2, 0.1, 0.6); // Color(0.6, 0.7, 0.9)
Color(0.8, 0.4, 1.0) * 0.25; // Color(0.8, 0.4, 1.0, 0.25)
Color(0.4, 0.6, 0.3) * Color(0.5, 0.25, 0.5); // Color(0.25, 0.15, 0.15)
A SpriteSheet would be good. (Question asked here: https://www.allegro.cc/forums/thread/616493)
To add to this list, some really nice high level classes that came to mind:
TitleScreenTitleScreen::MenuOptionCreditSequence
Jukebox class, to easily control music from all different formats. Crossfade, adjust volume, playlists, seamless looping, layering, streaming, etc. Maybe even an API to control Spotify locally.
Random name generator - could use kid name generator from hackathon https://github.com/MarkOates/krampushack2016/blob/master/src/generators/kid_name_generator.cpp
Could use top 100 name lists from major countries. Brittan, USA/Canada, India, China, Japan, etc.
Consider a Time class, could provide timestamps, as well as generate calendars (example here)
Added a Generators/PersonNameGenerator in https://github.com/allegroflare/allegro_flare/commit/e9448ccd0f197d20985ce47ac09ada6a186d09bd. As per the comment above, would be nice to add top common names from different major countries.
A UnicodeFontViewer, derived from FontAwesomeExample (and probably used to replace the class in it):
https://github.com/allegroflare/allegro_flare/blob/217941c8c50a6277b8b528a5d512eda9aecbfd23/examples/AllegroFlare/FontAwesomeExample.cpp#L10-L94
Consider a PigLatin converter: e.g. https://cs.calvin.edu/activities/books/c++/intro/3e/HandsOnC++/lab5/exercise.html