Software made for fun, but still software

I have very bad news for some of you: video games are nothing more than colorful software with funny things like zombies, but at the end every videogame is nothing more than a complex software project.

What I’m writing about today? Why all those bad news? Today I’m going to talk about something boring for almost every developer, something necessary that all of us tried to avoid at least once, what must not be named!:  Software documentation

Software made for fun, but still software

Boss doesn`t like documentation either

Write words before code

When someone has an idea, the first impulse is to code it as soon as possible, sometimes after some sketches and rough draws in any sort of paper (blocs, tissues, toilette paper, who knows). In case of being a dev team, is absolutely necessary to write down some design documentation before starting with the code or the game assets. Things usually go wrong, and it’s nice to keep a reference handy when the fire starts. Even for lonely indies, is better to have a plan not to get blown off center after a few months.

Things that worth writing down

Lots of design documentation templates can be found around the web , but there are some important topics that are a must:

Introduction:

A little presentation about the project. It usually contains information about the document structure and what can be found on it.

Description:

A large description of all the aspects of the project, including genre of the videogame, functionality (yes, every functionality expected), hardware and software tools needed, people assigned to each task…

Requirements:

This is, in my opinion, the worst part of the software design process by far. All the requirements that the software must fulfill have to be in this document and explained as clear as possible. Yes, ALL of them.

The main char must be able to move forward, backward, up and down? That’s a requirement

The game must work on Android 4.0? That’s another requirement.

Take care of the most common error: “the game should work well in older pcs” is not a specific requirement. Nobody can measure what is good, or older in this case, and requirements must be fulfilled.

Oh God! no more requireemnts

Oh God! no more requireemnts

Planification

We already have an entire article about this one, but remember: a videogame is the best piece of software you can create with the available resources in the available amount of time.

For task and time management, Gantt diagrams are quite useful, and GanttProject is a good and free alternative for anyone who wants  some iron discipline on his team.

GanttProject

GanttProject

Design: Diagrams and mockups

Code can be built using diagrams as reference, like class diagrams for object oriented languages. These kinds of structures are a complex enough to deserve an entire article in the future.

Other useful diagrams are called mockups. They represent the size and position of every GUI object, being a preliminary vision to the graphic designers and a guide for the developers. Nowadays there are lots of web apps ready to  create simple mockups fast an easy, like MockupBuilder or MockFlow.

Class diagram and a so simple mockup

Class diagram and a so simple mockup

 

 

Well, it’s enough for now! If any of you is not used to write some documentation for his projects, I recomend you to try it next time.

I’ll might be back someday with some more information about diagrams and code arquitecture, but next article is going to be full of fun and colours.

See you soon!

 

 

Leave a Reply

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