Sunday, April 13, 2014

Space Intruders: Day 7 - Final

It's been a quiet week this week as far as you know... but on this side it has been crazy. I ran in to a lot of speed bumps, and walls. Some I over came, some I got around, some will have to wait for another week.

Play it here

What I've Got:

As it is right now I have a pretty nice start on a top/down shooter. The level is only 30 seconds long howver. I was able to figure out sine, and with it I've got some neat patterns. Though to be fair, it is a little too time consuming for me to make a proper job of it so I just have a couple waves of fighters just for kicks. Proof of concept and what have you.

The title and game over screen are good. Though exhaustion keeps me from playing with Game Over vs Mission Accomplished depending on your health level.

I'm happy I was able to figure out the health and power bars. I have random (ish) power up drops. I was hoping to get them to have a chance of spawning @ enemy location upon death, but I could not figure out how to do it (see What Didn't Work). Initially I had power ups randomly spawning too close together so you would get 2, or 3 health or power pickups in a short amount of time. Will explain that fix later on as well.

What Went Wrong:

Pick-up problems all over.

Initially I wanted Power, and Health pick-up's to drop on dead enemy locations. However I could not figure out how to pick x, or randomly choose a number to determine if an item is dropped, and if so, if it's health, or power.

I decided after a couple of hours to just have pick-up's randomly spawn, and make their way down the screen. I set this up, but noticed that I would get a couple of power ups in close succession. I wanted it more spread out so I tried to do the following:

The condition of (inverted) as long as x power up is on board (theoretically telling the system to check for power up if it is on board, do not run, if it is off the board, run it. 

That failed to catch on, and in order to save time I just set the power-up's to randomly spawn at X second intervals. Making sure that the time span is long enough for pick-up's go traverse the entire screen before another on can possibly show up.

What Went Right:

I've gotten a lot better at figure out how logic needs to work. Most of the issues I did have were features I was not aware of. My use of the features/options I've used before is going smoother. It's easier for me to build up an idea in my head, and put it together in the "code" and have it work first or second run. Second run is usually me going "Why did that do that.. oh yea, because I need to do this too" once corrected things are smooth. I've also dipped my toes in to sine, and keeping track of things.

My patterned attacks at first were attached to game time, but I found out after putting a lot of stuff together that game time keeps ticking on the other layouts, and if I go to one layout, and go back to the game menu time is still ticking, so if you win one game, come back for a second one, the time/clock does not reset, so no enemy fighters came along (as their time had already passed). I basically added a manual clock counting half seconds, attached a wave number to the wave, and set it up so at this .5 second mark, as long as wave number is X than send out this set of fighters and add 1 to the Wave global variable. It took half a day to figure out that attaching a wave number would make it so I would not kick out a set of fighters ever tick for the .5 seconds that the condition was true (producing 30 waves of fighters in half a second).

Patterns were also a slow going process to create, so I only have a few in place. I want to do a lot more, but time is getting in the way.

Health, and power went beautifully, and I was able to figure out corresponding bar/sprite lengths to give the player a helpful guide to what their game was at.

All in all, I feel pretty good about what I have. As far as a game a week stuff goes.  I set out to do more than I thought, and ran in to some trouble along the way. I'm happy I did it though as now I have even more things I know I need to master. I'm really enjoying this whole Game  A Week challenge, I'm learning logs, and building my confidence in Construct2. I'm certain that I've only scratched the surface of how it all works, and that's exciting.

Next week is a new project, Box Jump. Probably the first project where code will be simple, and content is what matters.


No comments:

Post a Comment