Sentinel Development Diary 1 / Planning, Concepts and Initial Work

11 years, 11 months ago 0

This is the first proper entry in the Development Diary for our latest XNA Independent Game entitled Sentinel. Iron Star Media consists of two developers; John Wordsworth (@johnwordsworth) – a programmer and lightweight artist, and Jackson Matthews (@oliacym) – a heavyweight artist and designer. This series of blog posts will show you how we made our second game and will hopefully shed some insight into the overall procedures behind game development as well as giving some tips based on the lessons we learnt. 

Today we document the first 5 hours of development with some planning, concepts and basic ground work.

Planning and Design

One thing that we learnt from Ikaroids was that you have to put in a sufficient amount of time into the planning and concept stage of a game before sitting down and cranking out code. It might seem like a chore, but spending a day or two thoroughly planning your title (more for a bigger title) will overall reduce the amount of time you spend on the project. When you have a good idea of the data structures you need before you start coding them, you can produce a good first draft of the class in one sitting, and you’ll have an overall idea of how it’ll all plug together.

From Ikaroids, we used the software XMind for quickly drafting our concepts into a basic plan. 

A Mind Map from the early development of Ikaroids

A Mind Map from the early development of Ikaroids

From here we fleshed out the details of the game in a separate Mind-Map, which listed the the campaign structure, the bad guys that you would face and some information about the pickups and mechanics. After generating a couple of Mind Maps, we fleshed out a sprite list in Open Office and then started work. We have followed the same steps for Sentinel, except with a keener eye for the details required.

Concept Artwork

It’s handy in the early days to pin down the artistic style of the game by drafting some concept art. This also gives the programmer some set pieces to start working with before the final graphics are ready. For Sentinel we produced a small handful of basic images using our graphics tablet (you don’t need a massively expensive Wacom for concept art, but veer away from the cheapest of the cheap). Using my Trust TB-7300, which has a superb response and detail level, I produced a few images depicting what the overall gameplay would be like, and the title / menu screens.

Concept Artwork showing the title screen of Sentinel

Concept Artwork showing the title screen of Sentinel

Concept Artwork for the Menu of Sentinel

Concept Artwork for the Menu of Sentinel

These two pieces of concept artwork are exceedingly simple, but they set the overall layout of specific elements of the game. They also mean that the programmer can get started on the game without having to change too much later on. It also sets the style of and feel of the game which helps to generate buzz between the artist and the programmer.

Initial Coding

Today marked the start of coding for Sentinel. I know that I said that you shouldn’t jump straight in, but we have a pretty clear idea where we want this small title to go after only a few hours of planning and it’s a good idea to start the programming on your game aimed at ‘re-usable’ game components that will be re-usable in later projects. After Ikaroids we thought that this time around it would be much better to build a ‘User Interface’ library, instead of mashing all of the menus and screens together with code every time. 

After an hour or two of coding, we had a library consisting of a few basic UI elements – including Labels and Select Menus. With the UI groundwork in place, adding new elements is relatively simple and adding them / moving them around the screen is even easier.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>