Okay so I've forgotten to keep to the every other day blogging business, but I'll do one big update over the course of this week so far. The game is becoming even more like a game, but I haven't upgraded the graphics quite yet (haven't found good graphics on google so I might just have to draw them myself on photoshop or draw them in the game itself, no clue on that one right now). However, I have the scoring system working perfectly and the score will stay the same as it was on the previous level and keep incrementing the same way. On Monday, I read over the comments on my last post about making the enemies move in a more fluid motion rather than someone that just drank 20 5 Hour Energy shots. So that's checked off as well, the enemies move nicely across the screen and bounce off the side in the opposite direction instead of hitting the side of the screen and then pushing through it by force.
Things left to do:
Graphics!! (hopefully haha)
Number of lives indicator (like the score indicator)
Game over screen that will show you what level you got to and what your score was (will have a replay button at the end)
No clue what else there is left to do other than the stuff I just listed. I feel like after all that is accomplished it will feel like a full-fleged game (that could be compared to an Atari 8800 game which isn't much compared to games now-a-days...oh well)
The game is fully functional. I have the file reader working like a charm and I have the game going to the next level once you kill all the enemies on the current level. The next step is to update the grahpics on the game. After that I'm going to mess around with scoring systems, a level indicator, and a "Game Over"/"Next Level" screen.
Alright as I've said before, I have gotten to a stopping point and now I'm just fine tuning everything to make it feel as much like an actual playable game rather than a high school student's final project for a first attempt.
I have now successfully gotten the super() function stuff working and the splitterDemon inherits all the functions from enemyDemon plus the code I've added myself. Now that that's done and completed, my main focus is going to be finishing the laserDemon, laserSplittingDemon, and then the splitterDemon's 2 little spawns. Once that is completed, I'll just add graphics. To sum this all up in a visual way to help you understand it a bit better, here is a table.
Up-coming things to look for:
laserDemon, laserSplittingDemon, and splitterSpawnDemon
Graphics (definitely will get those before the due date)
A file reader so I can create multiple levels with different amounts of each demon
A scoring system (updated at the top of the screen at all times)
Lives counter (possibly part of the scoring system somewhat like how the top down shooter looked but a different feel)
Anything else that I might have said in a previous post is also included if it hasn't already been completed. I have some ideas in mind for things not listed up there, possibly power ups? Maybe even different difficulty levels or game types like survival and how many enemies you can kill with a limited amount of ammo (having the enemies randomly drop ammo so if you are good you will always have SOME ammo). I'm not totally sure if I could get to these steps by the due date, but they are fun things to toy around with once I get the full thing created. My main priority is getting the last bit of demon files created and functioning on their own, then updating graphics. Once that is all done, I'm focusing on making a file reader that will do everything for me so I can just put all the levels into a file and play from there. Once that's done, I'll tinker with the gameplay mechanics and look of the game (score system and lives counter).
So now that I have the game doing what I want it to do for the most part, I'm trying to incorporate some AP Comp Sci ideas into my game. Most of this means inheritance and extensions and stuff in that nature. At the moment I'm trying to figure out a way to write a generic fireEnemyBullet() function. The problem I'm having is that I have 2 different types of bullets, regular bullets and a laser bullet (2 side by side longer bullets). As you could most likely guess, there are two separate files for the bullet code. Some possible ideas I've figured from reasoning could be:
Put both different bullet classes in the same bullet file (enemyBulletFile) - I'm not sure if this could work or not. It's just an interesting idea that I might tinker with (probably mull over with Mr.Howe)
Put a variable in each enemyFile that says if they can fire lasers or just regular bullets (the one Mr.Howe and I have figured is the best way to go at it)
Alright, so I've finally gotten the game looking like the simplified version of the final product. I have enemy ships (just the generic ships so far). The ships randomly change their x and y velocities to make the effect they have in the original game where the ships sort of bump back and forth as to make it harder to shoot them. When the number of enemies on the screen is equal to 3 and the number of Enemy bullets on the screen is equal to 0, I have a number generator pick a number between 0 and 2 (for the purpose of using it as the index of the 3 enemies on the screen in listOfEnemies). Once that one is chosen, I then make him fire a bullet at you.
Things still to come:
More diverse Enemy ships (ones that shoot a laser, and others who separate into two smaller ships once shot, and a combination of both)
More then one Level
I'll have a Level number screen and a game over screen (to give it that video game feel)
I started out picking the game Demon Attack (or something along the lines of Demon something). It seemed to be a basic concept for a game. It had a similar feel to space invaders and since I enjoyed remaking space invaders in Flash last year, I felt it was necessary to pick the game.
For the first day of actual coding, I just wanted to get a playable character who could move and shoot. The graphics didn't matter to me so I just made black squares with the dimensions of the actual rectangle I wanted and dealt with it. (Important to all who make games I PROMISE)
But ya, that was the first day. I got my character to continuously move across the screen as you hold down the left or right arrow key. Then I got him firing only 3 bullets at a time. The reason for that is, in the original, you can only shoot 1 bullet at a time and I thought that was kinda stupid because you really had to pick and choose your shots. (I might go back to 1 bullet only if the game seems too easy).
Later to come:
Having Enemy ships keep changing their movement pattern for only a little bit and coming back so they stay near the same place, but moving slightly to avoid some bullets.
Collision checks for my bullet and enemy bullets
Optional Ideas for after the main thing is done:
Adding a file reader so I can just create more levels easily by making a spread sheet