Game Progress Update #1

Welcome to the first Dev with Dave Game Progress Update!

So, the development of Flappy-vaders has begun, The first phase of which is prototyping.

Prototyping

I consider prototyping to be an important stage of development as it gives you chance to test ideas and adjust them where necessary. Start by coding the bare minimum necessary to test the idea with, play around with it and then once it feels right, you can expand on it. After all, you don’t want to spend 3 months creating a game only to discover that it’s not actually fun to play.

With Flappy-vaders the prototyping gave a quick and convenient method to determine the ideal values to use for the gravity, thrust upward, scroll speed, etc.

Parallax Background

The first system I built was the parallax background system.

First I created the two ground sprites using Paint .Net, and copied them into the project media folder. Both images are 192px wide, the nearer image is 32px tall, and the back image is 42px tall.

Next I created a backgrounds script in AGK Studio to put all the variables, constants and functions relating to the parallax background.

Originally I was planning to use two sprites for each layer, with the sprites jumping back to position to replace the other as the scroll by.

However, because we are using 16:9 as the aspect for the background area, if you played the game on a device with a wider display then a gap appears on the right hand edge of the screen as the sprite doesn’t wrap round in time.

Instead, I decided to use 3 sprites, as shown below, which gives a comfortable buffer for playing the game on phones with really wide screens.

The idea is simple, the sprites move towards the left, and as soon as the first sprite passes the left hand screen edge, it jumps to the third tiles starting position. This repeats indefinitely.

I used a technique called “Timer Based Movement” or “Delta-Time” to ensure that the background scrolls at the specified speed regardless of how fast the device is that is running it. This is basically calculating how far the sprite should have moved in the time it takes to update the display.

I then repeated the process for a second layer and added a variable to store the difference in speed between the layers.

Player Movement

The next script I added to the project was the Player Movement script.

Player movement in this game is quite simple. The ship will accelerate downwards at a constant acceleration until the player taps the screen. This gives the ship a sudden upward velocity. This is then acted on by the constant downward acceleration.

This isn’t necessarily the way actual physics works, but it’s how Flappy bird did it, lol 🙂

As with the parallax background sprites, the player sprite uses timer based movement.

In the next update

That’s all for this progress update.

I’ll be prototyping the zones next, as well as adding collision to the players ship.

You’ll be able to see how I get on in the next progress update!

See you then 🙂

Flappyvaders Game Design Document

It’s taken a few days longer than expected, but I am finally sharing the GDD for Flappy Vaders! Simply click on the link below to read it.

This is the plan I will be following over the next few months as I build Flappy Vaders.

I’m midway through creating the Trello board for this project currently. I’ll share a link later so you guys can get a feel for how I’m using Trello for project management.

If you have any questions about planning a project, then please ask them on the “Dev with Dave” Forums.

Introduction to the game

Ok, before we get too far into this, I think I’d better give you an idea of what the game I’m making entails. I’m sorry if it gets a bit boring, the first revision of this post read like I’d just copied and pasted the actual design document, so I hope I managed to add some personality to it this time.

With the limitations imposed by both the low end hardware being used for this project I have decided that I am going to create a simple game for mobile devices. I hope this doesn’t put too many of you off 😉

I’ll be combining Flappy Bird game mechanics with an endless level filled with randomly chosen “zones” to progress through, each zone having it’s own obstacles.

There will be coins to collect which allow you to unlock and boost power ups as well as buying a selection of different ships each with their own unique specs and design.

To monetize the game there will be the option to acquire coins from watching rewarded ads and through buying them for real world money. There will also be the option to remove adverts by paying a small fee.

A Sega Master System Console – Image by Evan-Amos – Own work, Public Domain, More…

There will also be the chance to win coins or power ups with a daily reward system.

Graphically I am aiming for a retro style. I’ll be using the limited palette from a Sega Master System, as well as a scanline overlay and rounded edges to give the impression of playing on an old cathode ray TV. The graphics are based on a resolution of 144 x 108 also so they appear lo-resolution. (This is 1/10th the size of a regular 16:9 HD display, only in 4:3)

I’d also like to use a parallax background, particle effects and animations to add a bit more pizazz to the graphical side of things.

Music and sound effects will also be suitably retro based, and either downloaded from stock resources on line or from asset packs I already own.

And that sums it up nicely I think? If there’s any detail I’ve missed off then leave a message in the comments 🙂

I’ll share the actual design plan that I’ll be following soon, as well as a post about how important I think having a decent plan to follow is in a project like this.