Hey.
Sorry to bump the thread, but I didn't want to post this on the Screenshots one, as I've already posted there twice.
I've been working on the game
very slowly (only a few hours per month, although lately I've been more productive), and I've made some progress since last post 9 months ago. Here are some of the changes, including some GIFs:
Rubble particles:
I already posted this in the Screeshots thread, but I'm reposting them here. Using a VertexArray (which, when I first started using SFML a few years back, I thought it was called VectorArray, ha!), I made some "particles" that appear when objects are hit with bullets or when they explode.
The particles stay on the map, even if you go faaaaaaar away and then come back, so after you complete all your objectives and are tasked to go back to base, it's nice to see all the destruction that you managed to make.
One exception of the "stay on the map" rule is in the space mission. In this case, the particles simply go flying and once they are outside the camera they disappear.
Those are some old GIfs, though, when the particles were as big as oranges. They are considerably smaller now, with some random variation in size, so the effect is a little more subtle.
Secondary weapons: From the very beginning I wanted to have three playable characters, Green, Blue and Red, each with a primary weapon and a very powerful secondary. I inmediately had an idea of each primary weapon, but I had no clue about the secondaries.
A few weeks ago I finally took the time to implement some ideas about the secondary weapons, yay!
For Green, seeker missiles, which took me more time to implement that I want to admit:
For Blue, a melee charge (or whatever you want to call it. I just call it Kaio-ken):
And for Red, a freeze ray. Enemies drop a different rubble particle if they are frozen.
In all cases, the idea of the secondary weapon is to complement the primary and to get out of trouble. Blue has a very hard to aim primary, so the secondary is used to clean lots of enemies quickly; Red as a shotgun has a primary, so it has trouble with long range enemies, so you can freeze them to get close and BAM!; finally, Green has a machine gun as a primary, so it's kinda good against everything but the helicopter itself is pretty slow, so the seeker missiles serve more as a "panic button".
Once you use the secondary, you have to wait a little bit to use it again.
Gameplay changes: -
Fuel is now spent by movement, not time: At first, fuel was spent by time, but the game has dialogue popups. If the player stops the helicopter to read the dialogue in peace, he's spending fuel. Basically, I was punishing players for reading the dialogue, and that's not ok. So, now the fuel is spent only on movement, so you can stop to read without having to worry.
This was HUGE for balance, because I tested levels on which I both ignored and read the dialogue: in the former case I ended up having plenty, while in the latter I barely had fuel to complete the mission. If I put more fuel items on the map, you ended up with way too much fuel if you ignored dialogue, but if I didn't put enough items, the mission was unwinnable if you did read them. It was a nightmare to balance a mission, but with this change now I don't have this problem.
-
Secondary weapons now recharge by kills, not time: Players (and by "players" I mean "me", ha!) could just use the secondary, wait the 15 seconds it takes to recharge, and use it again, basically completing the whole mission without using the primary weapon. This was even more effective after the change in fuel previously mentioned, because now you are not spending fuel by waiting.
Now I changed it so that the secondary recharges after 10 kills, that is, enemy helicopters or turrets, but not neutral buildings. Now you HAVE to use the primary, and use the secondary more wisely, because there's a limited number of enemies on the map, and therefore, limited recharges.
-
Item detector tabs: The game uses objectives tabs to represent, well, your objectives.
You change this with the keyboard, and a little arrow will point in the direction of the objective you have selected.
An unrelated problem was that it was difficult to find items, like fuel or health. You basically stumble upon them by pure chance, and the worse thing was that you actually spend fuel by looking for items. This was not cool.
So I decided to simply add tabs for each item, so if you need something in particular, you simply select the tab and the arrow will point to the closest item.
Yes, this makes the game easier, but I prefer an easier game than a tedious one.
-
Checkpoints!!!: Before this, if you died, you had to start the level all over again, including waiting for dialogue, uugh. Now you only start since, well, the last checkpoint, which is usually after your last objective completed. Thanks to this, I can make the game harder
To implement this I don't save a copy of my Level class in memory, because not only that's very slow, but I also have the problem of pointers pointing to incorrect places in memory. Instead, considering that each mission is stored in a text file in an specific format, I simply save the level at that checkpoint in that same format (but in memory, not in a text file) and then load this level in the same way as If I'm loading a level from scratch. As far as the code is concerned, I'm loading an entirely different level, not a checkpoint.
This works surprisingly well, althought it was a little tricky, because it's not as simple as saving the positions of each enemy and call it a day, I also had to tweak the events (scripting system) up to that point, which includes timers, variables and stuff like that, but all in all, I was happy with the results.
-
Ammo: This game is inspired by the Strike series of games from the MegaDrive and SNES. In those games, you had to manage your armor, fuel and ammo. In my case, I decided to scrap ammo pickups and just leave armor and fuel, so your weapons have unlimited ammo, but a few weeks ago I thought: "ah, what the hell?" and added ammo anyways. It's not the most significant change, but at least it stops the player from just holding the shoot button for the whole mission.
And I guess that's it. Not that many visual changes, more like details, but the game feels better overall, like more fun, less tedious. I'm actually liking it.
By the way, I'm not making this game to sell it, I'm just making it as a personal thing, but with the recent news that Greenlight is going away, I started considering putting the game there, for curiosity more than anything, and if the rare event that it gets greenlit happens, sell it for like a buck or something (as the game is pretty short), but on the other hand I fear that I'm going to get destroyed in the comments.
Anyways, sorry for the long post. I'll upload a video of gameplay soon.
Thanks for reading