• Register
Post news RSS Optimization and Puzzle Part

Maybe try some puzzles, even if this is mainly not a puzzle game? And take a look at the optimization to increase frame rate.

Posted by on

Firstly, let me explain what the game is.

This game, Indie Dream Indie Dev, is a story-game, and it's about an indie developer's story. The protagonist of the game is a college student who wants to make his own game, but unlike professional developers, he is a self-learnt developer, just like many of the self-learnt indie developers. In this game, you can control the protagonist to do some daily-things, make some choices, and experience an indie developer's life. But this game is also about some shooter-game-part and some puzzle-game-part. Developers have to think about what a game should be like first and then make it out, and the protagonist does too. You can control the protagonist's mind to think about a game, and play the game in the protagonist's mind, and you will control the protagonist to develop a game in the developer-simulation part. The protagonist have to think about many codes, this will be shown in the puzzle-game-part.

In the last few weeks, I have done some improvements on the game performance, and I started to develop the puzzle-part.


The lights in some of the game-scenes are not fixed, so they are rendered as real-time lights. They used to be pixel lights, which are expensive to render, and they may make the frame rate very low on low-end PCs. Now I use a script to control the light automatically, it will change a pixel light into a vertex light when it needs, which are much cheaper to render.



The upper one is a scene with 3 pixel lights, while the other one is the same scene but it has 3 vertex lights instead. As you can see, pixel lights are smoother than vertex lights, but the frame rate will be lower. The frame rate difference may matters a lot on low-end PCs. With the script, the performance will be better. Unity Engine has an "auto" setting in its light options, but in general the "auto" setting only works well on 3D scenes. This is a 2D game, so I wrote a script to control the lighting.

Auto Reading

The texts in this game are written in a few txt files, and they will be read when the game needs. The problem is that the old auto-read system reads the texts in every frame and then decides on showing the texts or not. This is needless, so I rewrote the codes. Now, the auto-read system will decide on showing the texts or not first and then read the text from the file for only once. This only make the frame rate a little higher, but the rewritten codes allow me to write other codes about it faster.


Some other small improvements are made, but there is not need to show them all.

Puzzle Part

Since the protagonist is a developer, he have to solve many code-problems and many other problems. To make this happen in a game, I will simulate this in the puzzle-game-part. This part looks similar to a common puzzle game, but the puzzle part actually takes place in the protagonist's mind. When the protagonist is solving a puzzle in his mind, he is actually solving the code-problems in reality.

Now I am developing the first one. This one is like escaping a building or something.




This game is mainly a story game, so the puzzle part will not be too hard. They will not take too much time to solve, but they will make the players feel like they are solving code-problems just like a developer.

That's all to show, thank you very much for reading.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.