Saturday, May 23, 2009

And reality hits...

So, today I completed the scrolling game tutorial for GameMaker and the reality of building this game finally hit me.

I'm not sure what I was thinking 'drop and drag' game builder meant - when Yusuf said at the start of the course that there wouldn't be any programming, I completely believed him...Perhaps if I was building a more basic game, that would be the case. As the tutorial went on and I started to wrap my head around variables (something I haven't done in a long time), I started to panic. How the hell was I going to get the game to do what I wanted it to? I could barely understand what was going on! But as I got through the tutorial, things started to make sense and I began to see the sorts of things I needed to consider sourcing and ways i needed to consider game play in order to get this to work.

Now, I have a feeling it's not going to be as painful as I thought this morning to make this work - it just might take a bit of tweaking. Needless to say, I'm going to start by building a much simpler game - if I can get that to work, I'll try to build on that. My only concern is getting it all done in time for a whole bunch of external playtesting and iterations - damn that quiz for leaving me with such a small timeline! (Although thank god for it giving me an easy 15% towards my final score!) I always say I work best under pressure... :-)

So, my plan at this point is to build a one level game. The entire room/scene will be 480hx1920w with each screen view 480x640, scrolling size to side following the stink bug (or set varible to view_xview?). There are 8 orange trees in that space. The bug is moved with the arrow keys and the oranges are eaten with the space bar. the bug only moves when the key is depressed.

The status bar will be across the top of the screen and will display the number of lives, stink bombs, health bar and score (and/or time?).

I'm going to build a couple of dodgy graphics in Photoshop to use as sprites, as it will probably take me as long to source them online to match what I need. I'll use the resources that came with Game Maker as much as possible for now, especially re sounds.

So, these are the things I think I need to consider for some of the game aspects to make this work (this is in no way extensive - just what I jotted down as I was going through the tutorial).

The bird
  • Need image (flying gif) and two sounds - cawing warning sound as it appears, and a crunch sound for when it eats the bug
  • the bird will fly in an arc, a half circle, where it swoops down and covers the top half of the screen.
  • need to set up a controller_bird to have it launch random(room_width) (can I set this to change direction? Will this be randomly timed or should I build it's appearance on a timeline to increase the difficulty?) Need to work out speed. Destroy instance when outside room
  • If the bug sets off a stink bomb, I need it to be deflected
  • If the bug is in a certain radius of the flight path, the bird needs to change it's path to hone in on the bug. If bug within X distance, move towards point of obj_bug.x and obj_bug.y at speed of 8 else vertical speed?
  • If the bird collides with the bug, it's -1 life, the crunch sound and maybe a graphic as the bird flies off? Or just a red flooded screen?
Stink bug
  • Need flying sprite and still sprite
  • Start with one active (50% health) and two back up lives
  • Get an extra life every 1000 points?
  • At the start of the game, the stink bug is sitting on the fence on the left hand side of the entire screen.
  • As it flies, it uses up health at 1/step?
  • There's a noise when it's flying and one when it's eating.
  • If the arrow is not depressed and it's mid air, it will hover still flying. If the arrow is not pressed and it's on the ground or in a tree, it stops flying. (I think? I think the best control option will be worked out as i playtest)
  • if the bug stops moving on an Orange 'hit' area, and the space bar is held down, the energy will transfer from the Orange to the bug's health status (and the points to the score board). This only happens as long as the life of the orange (max 10 points) and the space bar is depressed.
  • Can the bug fly while the space bar is depressed?
  • The Z key sets off the stink bomb. Can it be used while he bug is flying?
  • When lives run out, bring up a scoreboard with high scores/times?
The farmer and bug spray
  • need a run version and a spraying sprite. Need a running sound (and maybe some cursing?) and a spray sound and as spray sprite
  • Farmer starts at the far right of the field. Starts running to left along the bottom of the field/screen
  • at random(room_width) the farmer stops for 3 seconds and sprays. He then runs off in a random direction (left or right) and will stop again at a random(room_width) (or shall I plot this on the timeline?). When he reaches the far ends of the field he just turns around and heads back in the other direction
  • if the bug flies into a sprayed area, it loses health points based on the amount of time it spends in the cloud e.g. 10 points per second?
  • The spray cloud lasts for 4 seconds
The trees and oranges
  • there are 8 trees in total
  • Need a top tree sprite and a bottom tree sprite
  • They each start out with 10(?) mature oranges on them.
  • After an orange is eaten, another grows back on the tree i a random spot after a random amount of time (2-3mins?). It takes 30secs for an orange to grow from bud to mature orange (can it be eaten for less points before it's mature? haven't decided)
  • As soon as a bug clicks the space bar on an orange, it starts to die and will die even if the full energy amount hasn't been taken out of it
  • The trees dies if at any time there are no oranges on them
  • The oranges die if they aren't eaten after 3(?) minutes
  • There are bonus oranges that give the player extra stink bombs. They appear randomly at random times on different trees. They are only revealed when the player has sucked 6 of the total points from the bonus orange, when they change colour to purple and the bonus is only received if the player sucks the full amount of points from the orange
Score board
  • This is at the top of the screen and contains info re the score, lives, health status and points
Stink bombs
  • Appear as a cloud and last for 5 seconds. A sound goes off and lingers while it's working
  • All attackers are repelled after a stink bomb goes off, while it's working
Background
  • The sky, the fence, the ground. Use GameMaker resources for now

OK, that's enough for now. Will try actually trying to onstruct something tomorrow...

No comments:

Post a Comment