The funny of this game is about sense of achievement. This game is based on a quarter view shooting game which you can see in every place. But my game is dfferent. It can customize how the game logic. Players can use their imagination to build a very funny game. By playing this game, player can understand how a game working, and learn some konwledge about making a game.
How I build this game
I chose shoot game as my game framework. Because shoot game is easy to make and multitudinousness. Player can make many different games.
I use art resouces from Tanks! Tutorial to build a game scene which have many red tanks and a boss tank.
To save the logic solution which player edit. I use "command type" + "data" method to save logic. I use a integer number to identyfy a command type, and use float number to save data.
For example, I identyfy the number of 13 as the logic "Move". But only a command type "13" can't describe how did the object move. We also a three float data to build a tri-vector to describe the move behaviour. So, It's look like this.
When application load the data files, we can get four numbers ------ "13", "10" , "0" , "0". To make it more convenient, the ones digit of type is the number about how many data this logic need. "Move" need three data, so the ones digit of "Move" is number "3".
How to work with data:
When I get the number "13", I will execute the "Move" function if I have. In Unity, the "Move" funtion is transform.Translate(vector3). The vector3 Obviously is build by the next three numbers. To make it easy to understand, I separate types and data.
Now, we get two array type and data. Then ,read type number form type, find the function by the type number, entry data in the funtion. This once loop. Then read next type number, do the loop again.
By using this method, I can save the logic in a text file. And I also can recurrence the logic in real game.
Deside those things can be customise
Because of my understanding, I chose 12 parts as the Customizable part. Every part have own independent data file, and individual scritp to interpret them.
The editor interface
So far it's about how to use local file's data. I also need a editor interface to let player edit data. I make a interface which its style like DOS system. Player can use mouse to click text to do some operator.(actually, these text is button).
The left part is logic button warehouse. Player can click the them and add them in middle area. The middle area is the canvas of logic block, showing for player how the logic is. As you can see, I packing codes as some behavoir. Becase I thing using natural code to make game is to hard for fresh man. I try my best to make these logic blocks easy to understand, but there are still not easy enough. So I write a help documant and left two samples.
I make this game alone. The reason why I want to make this game is that I remeber the happinese and feeling gratifiying after my first game completed. The feeling is so awesome. I hope more people can have the same feeling.