So. This week has been chaos. Paperwork chaos. We are legally up for business, few things remain.
One thing this game has been lacking is the long run gameplay. In an effort to keep the player playing more that just one or two matches an Experience System has been developed. This will give you badges and Skill points that I will explain later.
I have tried to keep the theme of the badges around musical symbols. It’s been quite fun and I’ve learned about some symbols I did not know. I have been looking at the experience system of other games to set the boundaries of each level. Finally I decided to keep an even space between the levels, but I am thinking that the first few levels to be less, it must be tested.
Now, leveling up without rewards is not fun. Leveling up will give you 1 skill point per level. So I decided to split the ‘abilities’ of the player in 3 sections (for now).
- Thrust: Will control how much control do you have.
- Max Speed: Obviously, determine how fast can you go. I have to test this more because it may lead to making Mayhem Speed to scale accordingly.
- Beat Boost: This will control how much boost you will get by the song beat.
Skill points are not permanent and can be changed from match to match from the main menu. You can reset everything and restructure your skills points.
What’s next (week)
I want to do local multiplayer for the next week. At least the first steps of it. It shouldn’t be too hard. I will check which gameplay modes are more fun to play (Cooperative, Competitive, Capture the flag, Tag and Run). Of course it will be shared screen. And I will try to make significantly different palettes for each player. So far I am thinking on 2-4 players.
Also, I started implementing the SteamApi and a bunch of bugs appeared and I need to fix them right away.
Snippet of the day (Programming, C++)
So, I remember a day when I was laughing at the literal operator, thinking, “I am not gonna use that, ever, it’s dumb”. Well guess what? I found a really nice way to use it. I was playing around with the game palette. Looking at design webpages and copying palette colors. And it was being a pain. (Note: All my colors converted to floats)
Up until now I defined colors like this:
vec4 myColor = RGBAb(32,32,128,255);
This resulted in some time loss when I was trying to copy colors from online palettes, where they usually are at hex format (0x20304560).
I realized that I could take advantage of the literal operator to ease up my work. (Yes, it was a day I didn’t feel like working, and I was playing around with snippets).
Although I still use the non-hex system whenever it feels more comfortable.
Here is the little snippet. I tried to make it constexpr trying to compute the vec4 in compile time, not sure how well it is working.
constexpr inline vec4 HexToRGBA(const uint32_t hex)
constexpr inline vec4 operator "" _RGBA(const unsigned long long hex)