A page out of history

Continuing on with the theme of Planning, here is the first of the actual Game Design Documents which I’m sharing with you. I should point out that I wasn’t involved in this project at all and am just sharing the GDD to demonstrate what a GDD actually looks like.

I wonder how many of you out there have heard of a game called “Race and Chase” by DMA Designs?

I’ll give you a clue, that it’s not the title the game was published with, and in the years since it’s release, the Studio have also become known by a different name.

Here’s the GDD for “Race and Chase” anyway. Have a look through and see if you can work out what the game was called on release 🙂

Just click the “View PDF” button below to open the file.

For those of you who haven’t guessed yet here is a behind the scenes video from DMA Designs, giving a tour of the studio as well as talking about the game!

Did you guess from the GDD? That’s right, Race and Chase went on to become the very first GTA game!

Planning

A goal without a plan is just a wish.

The first step in making your game is creating the plan.  I cannot stress how important having a plan to follow is and how much more likely you are to finish the project if you have one.

If you’re a solo developer then you might be able to complete a simple game without having anything written down. For larger projects and certainly for people working as part of a team, then having a written plan to follow is essential.

The plan gives everyone involved with the project a point of reference and helps communicate ideas and concepts.

In the games industry these plans are called Game Design Documents (or GDDs for short) and they have been a cornerstone of game development for decades.

Traditionally GDDs are a word processor document, but I find using a Trello board as well makes keeping everything updated easier.  Wikis are also a popular alternative to a written document.

What goes into a Good GDD

What needs to be in the GDD depends on what type of game it is you are making.  It is normal for a GDD to start with a description of the game.  It only needs to be a few paragraphs long and should not contain any technical stuff.  Think of this as your elevator pitch.

If you are going to be pitching your plan to investors or publishers, it would be a good idea to include target audience and targeted platforms, and touch briefly on your monetization strategy next.

The next section should be setting the scenario for your game.  Describe the world, backstory, characters etc.  Obviously, this is would be more in depth in an epic Skyrim style RPG than in a casual mobile game.

Next comes styling, where you can describe themes and appearance.  Again, I prefer using a brief description of how you visualise the graphics, before breaking it down into smaller sections where you are free to describe individual aspects in greater detail.  I like including mock-ups or sketches in this section to really help people understand exactly what I am hoping to achieve.

It is also worthwhile to pay similar attention to the music and sound effects.  Listing any music which needs composing, and special effects which need creating.  It would also be a good idea here to reiterate any relevant information here from other sections which would help whoever is creating the audio.

Gameplay is next.  Start with a brief overview, before breaking each element down into its own section.  You will want to include things like player movement, scoring, win/lose conditions, enemies and how they behave etc.  Depending on how complex the game your making is, this section can get quite large.

Having described the themes and gameplay, its now time for the User Interface/Controls.  As always, start off with a summary describing the theme/aim of the UI, before dividing it up into more detailed descriptions of the individual elements.  I find that sketches/mock-ups of UI layouts can speed up development no end, and gives a head start on developing the user experience before too much of it is coded.

I like to include a more in depth look at your monetization strategy next.  If you are simply looking to sell your game for a fixed amount then this is not so important but is for other business models such as Freemium.

Keeping the GDD updated

As I said earlier on in this post, I find using a Trello board to be a very helpful tool in keeping your GDD up to date and making sure that each member of the team knows what they are doing.

I usually set up the Trello board with the following columns – Bugs/Know issues, Planned tasks, In Progress, Under Review and Completed.  Planned tasks would usually consist of cards made up of the individual points detailed in the GDD.

Each team member chooses there next task from the Planned tasks column, moves it to the in progress column and signs their name to it, then when it’s completed, it gets moved into the under review column for checking.

Progress is discussed in fortnightly meetings and any changes to the GDD can be bought up then.  If the team member needs something clarifying, or if it is decided to change an element or mechanic.

It is usually best that only one team member is responsible for keeping the GDD up to date.

Conclusion

I hope this has helped to explain just how important it is to have a solid plan to follow when developing a game and given you insight into what needs to be included in it.  I’ll be posting some example GDDs later in the week, as well as sharing the GDD for Flappy vaders.

If you have any questions, then either leave them in the comments below, or pop over to the forum and ask them there 😊

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.

The Software

As for software, I’ll be using The Game Creators App Game Kit Studio, which although isn’t free, has a fairly low one-off price and no silly licensing restrictions.  It’s certainly a lot less system hungry than Unity or Unreal.

App Game Kit Studio is great for beginners and experienced programmers a like. It uses a powerful BASIC like language and can export to a variety of platforms.

AGK Studio in action

You can get it from the App Game Kit website or from Steam. At the time of writing, it’s £78.99. There is a free demo available from Steam as well.

I won’t be talking too much about the code itself, but I will talk about the theory behind it and how it all works.

Next, the graphics will be done using Paint.Net, a free 2D graphics tool along the lines of PhotoShop. It’s quite a powerful little app on it’s own, but you can download dozens of free plugins to add extra tools and effects.

You can download Paint.net from https://www.getpaint.net/

Lastly for Sound and music, I’ll be using Audacity to edit samples and LMMS to create any tunes, or possibly I may just use a stock tune from somewhere.  I’m afraid I’m not much of a composer or musician.

Audacity is a free easy to use multi track sound editor, it’s great for editing sound effects and adding things like echo or combining sounds in layers.

Audacity is available from https://www.audacityteam.org/

Finally LMMS  is a digital audio workstation application program. It allows you to create melodies and beats, synthesizing and mixing sounds, arranging samples and much more.

LMMS is free to download from https://lmms.io/

The Hardware

One of the aims of this project is to prove that you don’t need a top end PC to create and publish a game with.

So, for I will be using my Linx 10 Tablet. I bought this device in around 2015 to replace an old iPad 2 which had broken. It cost £140 together with the Origami keyboard/cover.

Linx 10 tablet with origami keyboard/cover attached.
Linx 10 tablet with origami keyboard/cover attached.

The whole thing is powered by a Quad Core Intel Bay Trail Atom Z3735F CPU running at 1.33GHz (Increasing to 1.83GHz when required). There is 2Gb of LPDDR3 Ram and a 32Gb eMMC for storage. I also have an additional 64Gb MicroSD card for extra space.

The 10.1″ IPS display is touch sensitive and happily shows the eye candy provided by an integrated Intel HD Graphics card which is DirectX 11 compatible. It’s not the best graphics card in the world especially with only 32mb of dedicated RAM, but it should be more than ok to develop a 2D game.

It’s running the latest version of Windows 10, although only the 32bit version. The tablet itself came with Windows 8 (32bit) installed, but I upgraded back when Microsoft was doing the Free upgrade offer.

Peripheral wise, the tablet has a micro-USB connector to connect a mouse or other USB device. It also conveniently came with an “On the go” converter for plugging in regular sized USB plugs.

I’ll be using an old Creative Labs portable travel mouse. The keyboard does have a mouse pad but it doesn’t have mouse buttons and it’s not ideal for graphical work. I also have a small graphics tablet which I may use for the artwork, but I’m not sure

Normally all I use the tablet for is Netflix, editing documents, browsing the internet and occasionally playing emulated old school console games; but I think it’s up to the challenge! Only time will tell though 🙂

Challenges

To make things slightly more challenging and/or interesting, as well as to prove you don’t need a high end PC, a large team or a shed load of cash, I’m going to be creating the entire game solo, using a really low spec PC, and as smaller budget as possible.

Coding at Geek Retreat (Pre-lockdown)

Originally, I was planning to work on this game in coffee shops and cafes around town, but sadly due to the covid19 pandemic the whole country is on lockdown so Instead I’m going to be stuck in my house.

I’ll explain more about the hardware and software I’ll be using in the next post.

Once the game is published, I’ll go over how much I spent on developing this project and any other costs, for those who are interested.

A little bit about me…

A Sinclair ZX Spectrum 128k (My first ever computer)

For those of you who don’t know me, my name is David Hobbs. I’m the owner of Warriors of the Cucumber Software, which is a small independent studio based in Milton Keynes in the UK.

I’ve wanted to write games ever since I was a small child growing up in the era of 8 bit home computers like the ZX Spectrum and Commodore 64. I didn’t even have a computer when I started to learn to code, just a book from the library, a pen and some paper.

I had my first games published in 1991, for the Commodore Amiga. These were written in AMOS, a variant on BASIC written by Francois Lionet. (If anyone is interested, Francois is currently developing a spiritual successor to AMOS, called AOZ Studio, see >here< for more information)

MK:GameDev Meetup

My biggest success to date came when I published Best Night Light on Android. It had a slow start but now, five years later, has reached almost half a million downloads!

I am a fairly active member (when time allows, lol) in a few Facebook Indie Dev groups, and on various forums and discords. I’m also involved in local game dev events such as the MK:GameDev Meetup, a friendly gathering of both professionals, amateurs and beginners talking about all aspects of game dev over a few drinks.

If there’s anything else you’d like to know, then feel free to drop me an email or a message on social media and ask 🙂

Welcome to Dev with Dave

Hello World!

Hello World, and Welcome to Dev with Dave!

If you are an aspiring indie developer, then stick around as over the next few months, I will be planning, programming, publishing, and promoting a game before your very eyes! I’ll explain each step of the way in depth with blogs, videos and posts on social media.

I’ll also talk about the frustrations of the project, and the high points. And I’ll occasionally throw in cute pictures of my cats just to lighten the mood 🙂

Dave and Sirius enjoying the sunshine

Starting with designing and planning the game, I’ll talk about (amongst other things) the importance of having a plan to follow as well as showing you what I consider to be a good plan.

Programming the game is next, but as I have said previously, this won’t be a coding tutorial. I’ll discuss the theory behind the various aspects of the game, and show progress on the game with blog updates and video posts.

Once the game is finished, it’ll be time for publishing and promotion. I will be setting up the store page and uploading the game (Including a brief rundown on ASO, translations etc.). Setting up and starting an ad campaign with Google Ads, and talking about social media marketing and other things you can do to bring your game to the attention of those who want to play it!

So please, come along for the ride and we’ll take a journey into the world of indie game development.

Don’t forget to follow Dev with Dave on Facebook, Twitter and Instagram to keep up to date with the project.

Facebook icon