Sep20
Above = Me getting owned at my own game. Note the Heart’s health at negative 4000-ish.
Also, oh snaps. Game looks a step up from the last post, no?
I hope someone goddamn reads this shit (You better get to the bottom), because (YES, YOU) I’ve spent like and hour or something ridiculous typing it out. Time really flies in the middle of le night :S
Improvements areeeeee:
Wave Controller
A Wave Controller has been added. This is a module that I call every tick (every time the game steps through the code, getting everything to move and behave as it should, and then drawing it) and it decides what to do about of spawning new enemies. It is not particularly complex, it picks from a few preset patterns of enemies to spawn, and then spawns it from that list every time a certain amount of time passes, choosing a new pattern when it has run through the current one. The reason it picks patterns instead of randomly picking the next enemy to spawn is to prevent odd spawns like a whole bunch of really easy or really hard enemies spawning in a row, which may inevitably happen sometime during a level. Anyway,  wave is one big set of patterns of enemies the wave controller decides to spawn. The player is given time between each wave to place extra turrets etc. The amount of health the enemies have, the number of patterns per wave and how much time there is between each spawn, all increase as you battle through each wave. Eventually it gets very difficult, as your weapons do a fraction of the damage they did at the start of the game. With the wave controller implemented, the game is now a lot more like a game, with actual progression. All the game needs on top of that sense of progressing is a few goals and extra encouragement to give playing the game some extra meaning meaning. Not that there will be much actual meaning to it, but adding at least some story or goals so the player knows why they should even be doing anything apparently can really make the difference between a boring and interesting game, even one as simple as this.
New Enemy
A new enemy, somewhat more complex than the other enemies, has been implemented. Twas a bit of a headache. You can kind of see it wiggling its way along the track at the top of the screenshot. The difficulty with this enemy was it was intended to be swarm of smaller, weaker enemies of some kind. This kind of idea did not fit too well with the way the game currently treated enemies, because each enemy needed to be able to be shot and die individually, as well as move in some sort of pattern together, rather than rigidly follow a path and lose health and die as one unit. After adding a little functionality here and there in the collision code, and a few headaches and problems coding the actual enemy it was finally completed, though not really behaving as individual enemies.
The swarm of viruses or whatever they are is made up of an arbitrary number of little viruses, 5 I think in the game but it can be changed. And instead of just following the track like the other boring old enemies :P they wiggle along in a sine curve formation. They all have their own individual collision circle (the thing missiles and things actually look at when they are deciding if they are hitting anything or not) but because the swarm are treated as the same enemy in the game, if any of them are hit the whole enemy health gets reduced, and every time it gets reduced a certain amount, the last virus at the back disintegrates, which looks kinda cool in my completely unbiased opinion. Eventually there will be one last virus left from the swarm, and unfortunately for the player, on top of the enemy moving quickly there is now only one target to hit. This leads to the last in a swarm frequently getting through my otherwise solid defenses as slow moving missiles and blindfiring spikeything launchers try in vain to destroy it.
Various UI Extras
The UI (User Interface, the buttons and displays etc if you didn’t know ;D ) is still very lacking in nicenessness or any kind of design, but most functionality is there now.
A “Next Wave” button has been added, so the player can tell the game when they are ready to take on the next wave of enemies.
Some little guys have been added to the main turret, that sit there and type away. May add another animation for when you are starting to lose. Chuck an alert light or something in there maybe? This isn’t really the UI but ftp.
A speed toggle button was chucked in, AS SEEN ON the picture above. Go on, have a look, its an amazingly remarkable button. Anyway, what it does, funnily enough, is allow the player to speed up time if they are confident in their defences. Everything still works in fast mode, all the buttons, you can still shoot etc. Just everything is faster. OooooOooo interesting. I also added a frameskip feature to speed up the speed mode. As drawing all the images and things on the screen is one of the most intensive processes, as the computer has to do it many times a second to look smooth, I decided to cut down on the unnecessary drawing. In speed mode it skips drawing every second frame entirely, but still does the thinking behind it so that the game isn’t affected. If it didn’t do this it would end up trying to draw frames way too quickly, and your eyes probably wouldn’t really notice anyway. This is something that as far as I know is missing from a few games I have played with a speed up feature. On Bloons Tower Defence, the computer gets bogged down when many enemies and effects are on screen happening at once, which makes the speed up feature not too speedy and the game can get incredibly bogged down in later levels, even slowing down normal gameplay. The Bloons TD series is still great fun to play, and 100 times more awesome than anything I could come up with lol. Plus its New Zealand made ;D check it out.
As requested by someone quite a while ago, though not really visible in the screenshots, when you click the buy button to buy a turret, the text in the buttons switches to cancel so that they player knows they can click the button again to cancel the command. The cancelling was already in there, but someone had a crack at an older version in IT class and was like wtf how do I un-buy it so I was like oh snaps stakeholder feedback I can use this shit to get moar excellenceness credits.
Also the game currency, temporarily “Proteins”, is displayed, as well as the number of proteins it costs to build each kind of turret. I am thinking of starting the costs lower, and increasing them each time you buy a certain type of turret, so the player is encouraged to use the varying behaviors of the turrets to their advantage instead of spamming one they feel is the best. Spamming one kind of turret doesn’t work too well anyway, I’ve tried :D
Oh and of course, what I have added just today, the message displayer object thingy!!!!!
YAY!!
Which basically serves to notify the player, as seen in the image. It can make text appear centre-screen, which quickly fades out of the way so as to not obscure anything. At the moment this feature is only used to announce waves e.g. “Wave 1”, and to notify the player that the wave has finished and enemies have stopped spawning. Perhaps it will be used as very basic in game help, or for hints.
There is also a very basic menu, which is fugly as hell and I can’t be bothered showing it here, just a few buttons that for the most part don’t work. But it does of course have a working new game button, and a resume button that resumes the last game the player played, if applicable. I am not sure why tbh I mean if they quit they want to quit, so we may make the menu work as the in game menu as well, but at the moment theres no button for it so you just have to click quitttttt
In other news I hate the programming curriculum thing because it is mostly writing a whole bunch of shit and none of it is actually computer science oriented. I think it is just a general technology curriculum that they adapt to a whole bunch of subjects -.- It’s all about serving a goddamn client and writing up about your concepts and progress and design processes and shit, so I swear half the class tbh can’t program for shit  because they haven’t really had to experiment or explore or been taught very much as a class because there isn’t really time when there’s so much other stuff to do.  Our classes do have a few interesting projects coming along though, despite the pretty much anti-making-interesting-or-fun-games curriculum we have to deal with. Well we are supposed to use expert practice and plan and design a game that will be enjoyable etc but the main point is there simply isn’t enough time. I mean I occasionally do a big session of programming at home when I’m in the mood, and take 2 IT classes and we’re still probably going to cut it quite close in terms of finishing the game. I also don’t know if my game is going to be particularly fun but at least I am learning a lot about problem solving and structuring a program so that every part works together in a symphony of data processing and interaction (The game is far from that, but along the way I have learnt what I’ve done wrong and what I’ve done right so far, and what could’ve been planned better) I think they are changing the curriculum next year though :)
So the end is near. To be done:
- Finish the menu, write up instructions and other info
- Make a new level and track, possibly multiple levels and tracks
- Maybe a loading screen and level select screen as part of the menu. The game only takes a few seconds to load atm.
- Finish the interface, make it nice and shiny, make the heart health and protein count things not look out of place
- Maybe add upgrades of some sort for your turrets, to purchase with proteins
- Make the game loseable, have a lose and maybe even win screen if applicable :S
- Test the game with some other people
- Make it so you can’t shoot bullets over the goddamn UI lolol
And yeah, I think that’s it really. So yeah, maybe the next update will be when the games complete, if ever. I hope.
Feedback is appreciated, I know I have jack shit followers and never post but feedback is good. And suggestions too. Might be able to use it for my write ups even.
Goodnightttttttttt Reader le existent. Yep I’m pretty good at French

Above = Me getting owned at my own game. Note the Heart’s health at negative 4000-ish.

Also, oh snaps. Game looks a step up from the last post, no?

I hope someone goddamn reads this shit (You better get to the bottom), because (YES, YOU) I’ve spent like and hour or something ridiculous typing it out. Time really flies in the middle of le night :S

Improvements areeeeee:

Wave Controller

A Wave Controller has been added. This is a module that I call every tick (every time the game steps through the code, getting everything to move and behave as it should, and then drawing it) and it decides what to do about of spawning new enemies. It is not particularly complex, it picks from a few preset patterns of enemies to spawn, and then spawns it from that list every time a certain amount of time passes, choosing a new pattern when it has run through the current one. The reason it picks patterns instead of randomly picking the next enemy to spawn is to prevent odd spawns like a whole bunch of really easy or really hard enemies spawning in a row, which may inevitably happen sometime during a level. Anyway, wave is one big set of patterns of enemies the wave controller decides to spawn. The player is given time between each wave to place extra turrets etc. The amount of health the enemies have, the number of patterns per wave and how much time there is between each spawn, all increase as you battle through each wave. Eventually it gets very difficult, as your weapons do a fraction of the damage they did at the start of the game. With the wave controller implemented, the game is now a lot more like a game, with actual progression. All the game needs on top of that sense of progressing is a few goals and extra encouragement to give playing the game some extra meaning meaning. Not that there will be much actual meaning to it, but adding at least some story or goals so the player knows why they should even be doing anything apparently can really make the difference between a boring and interesting game, even one as simple as this.

New Enemy

A new enemy, somewhat more complex than the other enemies, has been implemented. Twas a bit of a headache. You can kind of see it wiggling its way along the track at the top of the screenshot. The difficulty with this enemy was it was intended to be swarm of smaller, weaker enemies of some kind. This kind of idea did not fit too well with the way the game currently treated enemies, because each enemy needed to be able to be shot and die individually, as well as move in some sort of pattern together, rather than rigidly follow a path and lose health and die as one unit. After adding a little functionality here and there in the collision code, and a few headaches and problems coding the actual enemy it was finally completed, though not really behaving as individual enemies.

The swarm of viruses or whatever they are is made up of an arbitrary number of little viruses, 5 I think in the game but it can be changed. And instead of just following the track like the other boring old enemies :P they wiggle along in a sine curve formation. They all have their own individual collision circle (the thing missiles and things actually look at when they are deciding if they are hitting anything or not) but because the swarm are treated as the same enemy in the game, if any of them are hit the whole enemy health gets reduced, and every time it gets reduced a certain amount, the last virus at the back disintegrates, which looks kinda cool in my completely unbiased opinion. Eventually there will be one last virus left from the swarm, and unfortunately for the player, on top of the enemy moving quickly there is now only one target to hit. This leads to the last in a swarm frequently getting through my otherwise solid defenses as slow moving missiles and blindfiring spikeything launchers try in vain to destroy it.

Various UI Extras

The UI (User Interface, the buttons and displays etc if you didn’t know ;D ) is still very lacking in nicenessness or any kind of design, but most functionality is there now.

A “Next Wave” button has been added, so the player can tell the game when they are ready to take on the next wave of enemies.

Some little guys have been added to the main turret, that sit there and type away. May add another animation for when you are starting to lose. Chuck an alert light or something in there maybe? This isn’t really the UI but ftp.

A speed toggle button was chucked in, AS SEEN ON the picture above. Go on, have a look, its an amazingly remarkable button. Anyway, what it does, funnily enough, is allow the player to speed up time if they are confident in their defences. Everything still works in fast mode, all the buttons, you can still shoot etc. Just everything is faster. OooooOooo interesting. I also added a frameskip feature to speed up the speed mode. As drawing all the images and things on the screen is one of the most intensive processes, as the computer has to do it many times a second to look smooth, I decided to cut down on the unnecessary drawing. In speed mode it skips drawing every second frame entirely, but still does the thinking behind it so that the game isn’t affected. If it didn’t do this it would end up trying to draw frames way too quickly, and your eyes probably wouldn’t really notice anyway. This is something that as far as I know is missing from a few games I have played with a speed up feature. On Bloons Tower Defence, the computer gets bogged down when many enemies and effects are on screen happening at once, which makes the speed up feature not too speedy and the game can get incredibly bogged down in later levels, even slowing down normal gameplay. The Bloons TD series is still great fun to play, and 100 times more awesome than anything I could come up with lol. Plus its New Zealand made ;D check it out.

As requested by someone quite a while ago, though not really visible in the screenshots, when you click the buy button to buy a turret, the text in the buttons switches to cancel so that they player knows they can click the button again to cancel the command. The cancelling was already in there, but someone had a crack at an older version in IT class and was like wtf how do I un-buy it so I was like oh snaps stakeholder feedback I can use this shit to get moar excellenceness credits.

Also the game currency, temporarily “Proteins”, is displayed, as well as the number of proteins it costs to build each kind of turret. I am thinking of starting the costs lower, and increasing them each time you buy a certain type of turret, so the player is encouraged to use the varying behaviors of the turrets to their advantage instead of spamming one they feel is the best. Spamming one kind of turret doesn’t work too well anyway, I’ve tried :D

Oh and of course, what I have added just today, the message displayer object thingy!!!!!

YAY!!

Which basically serves to notify the player, as seen in the image. It can make text appear centre-screen, which quickly fades out of the way so as to not obscure anything. At the moment this feature is only used to announce waves e.g. “Wave 1”, and to notify the player that the wave has finished and enemies have stopped spawning. Perhaps it will be used as very basic in game help, or for hints.

There is also a very basic menu, which is fugly as hell and I can’t be bothered showing it here, just a few buttons that for the most part don’t work. But it does of course have a working new game button, and a resume button that resumes the last game the player played, if applicable. I am not sure why tbh I mean if they quit they want to quit, so we may make the menu work as the in game menu as well, but at the moment theres no button for it so you just have to click quitttttt

In other news I hate the programming curriculum thing because it is mostly writing a whole bunch of shit and none of it is actually computer science oriented. I think it is just a general technology curriculum that they adapt to a whole bunch of subjects -.- It’s all about serving a goddamn client and writing up about your concepts and progress and design processes and shit, so I swear half the class tbh can’t program for shit because they haven’t really had to experiment or explore or been taught very much as a class because there isn’t really time when there’s so much other stuff to do. Our classes do have a few interesting projects coming along though, despite the pretty much anti-making-interesting-or-fun-games curriculum we have to deal with. Well we are supposed to use expert practice and plan and design a game that will be enjoyable etc but the main point is there simply isn’t enough time. I mean I occasionally do a big session of programming at home when I’m in the mood, and take 2 IT classes and we’re still probably going to cut it quite close in terms of finishing the game. I also don’t know if my game is going to be particularly fun but at least I am learning a lot about problem solving and structuring a program so that every part works together in a symphony of data processing and interaction (The game is far from that, but along the way I have learnt what I’ve done wrong and what I’ve done right so far, and what could’ve been planned better) I think they are changing the curriculum next year though :)

So the end is near. To be done:

- Finish the menu, write up instructions and other info

- Make a new level and track, possibly multiple levels and tracks

- Maybe a loading screen and level select screen as part of the menu. The game only takes a few seconds to load atm.

- Finish the interface, make it nice and shiny, make the heart health and protein count things not look out of place

- Maybe add upgrades of some sort for your turrets, to purchase with proteins

- Make the game loseable, have a lose and maybe even win screen if applicable :S

- Test the game with some other people

- Make it so you can’t shoot bullets over the goddamn UI lolol

And yeah, I think that’s it really. So yeah, maybe the next update will be when the games complete, if ever. I hope.

Feedback is appreciated, I know I have jack shit followers and never post but feedback is good. And suggestions too. Might be able to use it for my write ups even.

Goodnightttttttttt Reader le existent. Yep I’m pretty good at French