Organizing the game structure

Started by
1 comment, last by Pleistorm 8 years, 5 months ago

Hi!

My game became bigger than I expected and one of the things that slow me down is the mess with the code. It is working but is different for different objects (I am using Gamemakerstudio, objects mean GMS objects). When I start to clean it it becomes a huge mess because it is hard to see all connections between objects in the game. Also it is not my job but a hobby and I am working when it is possible so sometimes I forgot what did yesterday and what have for today.

The research I made for mindmaps had no result, all of them are somehow not for me and I started to make maps with Serif Pageplus, it has such ability and I found it more effective for me but not enough. Then I discovered it is possible to do that with tables but... Still total mess.

Is there any software for gamedesign and coding that can help me organize this mess and is not very complicated? I am trying to avoid heavy and complicated software for such things. Had the idea to make everything on paper but it is technically impossible for some reasons - sometimes I am forgetting my stuff at home and cant use it in my job and vice versa. Also my cats will totally sabotage this idea.

Advertisement
Managing complexity is a skill you need to develop. I have had many project die due to them becoming to complex to manage.

Lucidchart is a diagramming tool you could use to try to visually represent some of the complexity in your game.

My advice is to keep complexity down by decreasing the amount of dependencies there are between different parts of your project as well as keeping the role of objects very specific without having it do too much.

I have never worked in game maker studio, so I don't know how you could manage complexity in that environment. How I have managed complexity in my Unity project at the moment is making simple components that only do one thing. As an example, I have a player script I use on the player. I could have put spell casting abilities and damage handling in that same player script but I didn't. Instead I created a spell casting component and a damageable component. Now any thing I want to be damageable I can attach a damageable component to. When checking to see if I can damage an object, I only check to see if it has a damageable component. I can put all the details of how damage works inside these damageable components. The player component can just check with the damageable every update to see if it is dead.

I couldn't really help you manage the complexity of your project without seeing some details on how it is organized. But I hope some of that advice helps.
My current game project Platform RPG

It is hard to explain because I cant yet find the formula to organize the stuff. Will try that with example.

FactoryA produces > TankA > shoots with shellA

production is related to mineralsA, B, C, upgrades, other buildings > TankA is dependant on terrain, trees, etc, other machines, upgrades > shellA is dependant on...

mineralA is related with FactoryA production of TankA; trees are related with TankA, InfantryB, mineralC;

Building that net is not so complicated but it becomes hard to read, so many connections. I want to see also that TankA has

shield X......................(in progress)

speed Y.....................not implemented yet (or not finished)

detection_radius Z.....errors here, related to machines A and B.

drawing functions related to its parent Battle_Machines - not finished.

Maybe tables are better to do that. The problems are:

1. I cant see the whole picture clear;

2. I forgot what was doing yesterday and what have to do today/tommorow.

3. When I change a name of something or delete it errors are becoming - missing this, missing that... Sometimes in the middle of the game errors crashed the game and said cant find objectX (it was renamed to objectNewTank for example and other objects will bring that error too, but what objects? I must play the game to the point where it appears or checking the whole code of some objects, takes a lot of time and I forget what was about to do).

4. Artificial Inteligence - eventA causes eventA1 and is related to objectA, B... I want to put some code there. Had a succes with table, made it similar to a diagram, but it becomes huge and that is for one object only.

What you suggest is not applicable to my game because instead of regular upgrades it depends on relationships and terrain positions more.

Looks like I need some combination of tables and diagram/mindmap but I am not sure it exists - and not shure even how it should looks.

(Sorry for my bad English.)

This topic is closed to new replies.

Advertisement