A video showing a very basic flight model, explosions FX and parallax scrolling. I intend to go OTT with the particle effect. Lots of debris everywhere.
Pages
Monday, November 30, 2009
Flight model
Got a basic flight model up and running. As the game will be heli-something based, I've opted for the classic LEFT, RIGHT and UP for thrust controls. Gravity will obviously control the downwards motion.
I want to get a tipping/leaning motion in on the player vehicle, where the nose dips downwards for left and right movements. This will hopefully make the vehicle feel more weighty.
At this point I've decided I'm going to cut corners with the player vehicle sprite, mirroring the sprites for the left and right movements.
Thursday, November 26, 2009
Parallax scrolling
I want the camera to track the player as they move about the level. GM supports views whereby the user can specify which object to follow (in this case the player vehicle). However just panning the screen around with the player vehicle in the centre of the screen would look dull.
To add a bit of depth to the levels, I also want the levels to be constructed from 3 distinct layers. A foreground, the middleground where the action actually takes place, and a background. The foreground and background images are simply there as graphical eye candy to add a bit of parallax scrolling. This is fairly straightforward to do in GM.
The level is constructed as a room in the usual way. Once you've enabled views, you can specify which portion of the room you want to see on screen. If you have specified the player vehicle in the Object Following field, in simple terms you can get this portion (or view) to slide about the room under the players control.
I have two objects called Background_Scroller and Foreground_Scroller and these must be placed in the room.
Background_Scroller
Depth: 10000
Draw call:
draw_background_tiled(bgnd_image_mountains, view_xview*0.6, view_yview)
Foreground_Scroller
Depth: -10000
Draw call:
draw_background_tiled(foregnd_image_01, -view_xview*0.6, view_yview)
NOTES:
The two draw calls detailed above simply draw the backgrounds, but at different 'scaled' offsets in x. As the player moves the view around, so the value of view_xview changes and hence the speeds of the scrolling of each changes. Hence the parallax.
bgnd_image_mountains and foregnd_image_01 are images defined as backgrounds.
Objects have depths which are simply values used to control the order in which things are drawn (think of this as Z-depth). Remember X is across the screen, Y is up and down the screen, and Z is in and out of the screen. Things that have a +Z are into the screen, whilst things that have a -Z are out of the screen.
My Background Mountains want to be drawn first (far away into the screen) and hence have a large positive value of ZDepth.
My Foreground wants to be drawn last (nearest to the camera and furthest out of the screen) and hence has a large negative value of ZDepth.
Monday, November 23, 2009
Truck sketch
Sunday, November 22, 2009
Impact FX
After getting the basic animation for the explosion sprite nailed, it was clear that the explosion didn't feel very powerful, lacking any form of impact.
This was easily sorted by adding a simple white 'ring' sprite added at the origin of the explosion. This sprite could then be scaled up and decreased in alpha over a very short period mimicking a fake shockwave from the explosion.
Explosions test bed
I've spent a few moments creating a little test bed for trying out fx/explosions/shrapnel. In the test bed, at the click of a button, I can drop bombs which fall to the ground, triggering a frame-by-frame animation for an explosion.
I wanted to avoid using alpha'd particle systems for the explosion and opted for a hand drawn animation style. It's more time consuming to create like this, but the results will be in keeping with the art style of the finished game.
Once I'm happy with a basic ground explosion, I'll create a placeholder object and blow the crap out of it.
Saturday, November 21, 2009
Stuff that blows up
It's fun blowing up stuff. It's fun watching stuff burn. Initially I'll be working on getting some of the more 'fun' rewarding elements done first. Lots of particle effects. Lots of debris.
Friday, November 20, 2009
The game
The game will be a 2D side scrolling something-em-up. It will have shooty bits, collecty bits and hopefully other bits to try to add variety to the gameplay. Other than that, I have no firm game design.
My approach for this game design will be to try it and see. As I don't have a publisher breathing down my neck 'steering' the game design, I can pretty much please myself. Why struggle for days to get a complicated feature working, when you can replace that feature with something far simpler and far more achievable. Don't set your sights too high.
Thursday, November 19, 2009
The developer
I am not a programmer. I am however a big fan of all things 2D and retro.
Gamemaker (GM) allows someone like me, with little prior programming knowledge, to create 2D and move it about on-screen. GM uses a simple drag and drop interface to get you started, and also supports GML its own programming language (if you are feeling brave).
I use GM for its flexibility and ease of use. It allows the user to quickly playtest ideas and concepts to see if they play half as well as they think they should. It quickly allows you to discover if an idea is worth developing.
I will be developing this game in my spare time. I have a day job. I imagine updates to the game and this blog will happen in bursts. Sometimes frequent, sometimes not so.
Wednesday, November 18, 2009
The blog
This blog will track the development of an indie game from the initial concept ideas through to completion. Hopefully over time this will have many uses. It will document the development process of an indie game created in Gamemaker (GM). Hopefully allowing other GM users to see my approach will perhaps allow them to avoid making the same potential mistakes that I am bound to make over the course of this project.
This 'developers diary' approach will also allow me to look back on this project and its progression in detail.
I might of course reach a real stumbling block at some point in the future, and ditch the whole project for something new. If this does happen, at least it will be documented up to that point.
Subscribe to:
Posts (Atom)