I have created more content for the level 2, I feel I have made a lot of maps (94 maps in total) but the number of puzzles to solve is a lot less. So I am adding more objects to interact with, make thing a little harder in the level.
I think some maps have nothing to do other than link two maps. For example, in Machinarium, there are 30 levels and one map = one level so the content is rich for each a map. For the level 4, there is a night mode so each map is already more interesting because differents things happen during the day / night.
I have a lot of troubles with the audio for the game. I keep trying to fix bugs but everytime another bug appear and I am redoing the entire system. Hopefully, the audio is really done this time.
I have spent a lot of time dealing with crashes with windows XP and Ubuntu. One of the method loadTarget creates an OpenGL 3.0 renderer so the compatibility with openGL 2.0 is broken. I don’t have any other choice because I need to render textures on another big texture. And all that rendering use a FrameBuffer Object to have a good performance, and they exist since openGL 3.0. I could render everything with SDL surfaces with SDL_BlitSurface and then get a texture from the surface. I have tried to do that first the problem is everything in this game is stored as a texture and the operation surface <-> texture is slow and I need to have 60 fps with that method it’s a problem because I need to generate the final surface every frame because the animation is updated.
I am trying to build a Linux version of the game to check the game with Valgrind because on windows available alternatives are not very good or have too many bugs. I should probably care about that later but since I have modified the order of loading in the game it created a lot of other bugs and probably memory leaks. I am usually not very good at estimating the impact of a fix so I try to check with tools if there are some problems which are not visible.
A lot of small changes this week and bug fixings. Sometimes a small change can have a big impact on the structure of the game. For example, certain maps need to load sound activated in another map (sink, shower) for that I need to load the actions of the other maps but without loading the textures (only the textures of the current map is loaded in memory). For that, I need to be able to load only partially the map and be careful to not load things twice when the map is fully loaded. When the map is free from the memory only the textures are freed, the other data still exist in memory because I need them to not reset the map each time the player load and unload the map. This may sound simple but when you add more and more complexity each time, the previous solution to the problem : ”
For that, I need to be able to load only partially the map and be careful to not load things twice when the map is fully loaded. When the map is free from the memory only the textures are freed, the other data still exist in memory because I need them to not reset the map each time the player load and unload the map. This may sound simple but when you add more and more complexity each time, the previous solution to the problem : “What do I need to keep track of ?” change over time because the assumptions become more complex.
When I have the whole structure to modify this can take a day or two of trials and errors to see what is the best solutions, because most of the time I don’t remember why I have done something like that instead of something else. So when you change that you need to fix every others thing who broke because of that. If too many things broke in the worst case revert back to the old solution and think of something else is a good idea.
This problem should be done by now so I can continue to play test the game progress through the other levels. This change may work for the first level but maybe for the second level a new bug will appear.
I am spending all my time fixing small bugs, the position of objects, quality and size of images, collisions. I have been thinking about adding more animations but most of the time the view of the map makes things too complicated. So for the moment I am playtesting all the other things, I am still testing the first level, transitions introduced a lot of small bugs.
I have replaced GLEW by glLoadGen which is smaller in size. I am adding sounds to make things more alive. This polishing phase takes a lot of time and multiple iterations are required to have something good. I have approximately 8 months left to polish the game and add the music, this seem a lot but time goes by really fast when you are adding more things…