This week with the new year I had less time than expected. I work on the texturing of the map of the level 3. Some maps are complex so it take a lot of time to finish it. I hope the backgrounds will be done at the end of the week because it is always the same thing (texturing) and it can be boring sometimes. So after a while, I draw something or do a study because improving my art is an important goal for the game. I have not yet found a good time to do these study except late in the night but when I wake up early the mornings are difficult. I cannot cut sleeping time without having less energy after many days and I need a lot of sleep. :3
Happy new year!
This week I have focused all my time on drawing characters and doing studies of photographs. This takes a lot of time because to improve you need to do that over and over. Maybe I will modify my schedule to do all these studies during the night. This way I can see the game progress as well.
Also redoing the rendering of the lines for the laboratory (in the level 3) with SkecthUp.
I have done a little bit of texturing with the outside of the lab, the inside is more complex so I will experiment more.
The last week I have been away from home during three days to celebrate Christmas before Christmas :). Nevertheless, I have done more drawings with the tablets, trying to shade and color the human figure.
I need to do a lot more studies before trying to make it look nice and finished. I have also finished an animation of a fire:
This week I am doing more backgrounds for the level 3 with also more studies, I will probably post some of these on deviantArt.
At the beginning of the week, I was fixing bugs on the demo version. After that, I have spent all my time on improving my digital art and finding new designs for characters. I am not used to draw with a tablet, so drawing nice lines takes me hours.
I have also posted the art of the demo on DeviantArt. This weekend I have done a game Cell growth for the Ludum dare 34 so I am kinda tired after programming for 30 hours x).
This week was different than the others because I have worked on fixing bugs for the prototype and at the end of the week I have released a prototype of Hope on Game Jolt :).
So let review how it went on Game Jolt:
Some of the views and plays are mine because I have checked if the zip file were not corrupted.
So maybe around 18% of people who see this page downloaded the game. I do not know if this good or bad but let’s assume it’s in between. The main problem with every game posted is that they have 24 hours of fame (or maybe less) of visibility in the front page.
So making a good impression is important to have as many of download and reviews as possible and then the more persons you have the more rating you can obtain. And the rating is pretty much everything when it comes to staying on the front page. And if you are not on the front page you are done with Game Jolt in term of visibility. There is also a system where the team of Game Jolt plays games and if the liked it the game is featured. Every game featured have the huge boost in visibility because this is the most visible thing on the front page, and also they make a tweet every time a game is featured.
To conclude: This was a good idea to not release the game on other big websites (greenlight, itch.io) because the chances of success are very low if you do not have a small community following your game to have enough momentum.
I have approximately no people interested in the game, and this means no feedback and no profit. With all the piracy on PC, I expect to make a small profit from it, but between a small and no profit there is a difference. For that, I have put more efforts in social media (creating articles) and created a web page for the game: hope-game.com but create content with bad SEO do not help much.
So I have focused on making a prototype of the game and I will release it on Game Jolt this week, there are small bugs and I need to make a trailer. Again if I do not invest time into the presentation, people will not invest time in testing the game, they will probably not even consider to download it because his file size is around 80MB compressed and 90MB uncompressed (png images are not compressed much with the format zip).
Another problem I have been when I compile the game on Ubuntu everything works fine, I have a static linking of the libraries but when I tried to execute the game on Fedora. The game crash with a segmentation fault (core dumped). So I have tried many things, and I when I compiled on Fedora everything is working but when I try to execute this version on Ubuntu I also have a segmentation fault. Conclusion: Linking statically do not solve everything.
The last week I have focused on the background and the objects, and a bit of animation for the level 3. I guess most of the art of this level will be done this week. This is a good thing because this level is one of the longest.
I have fixed lots of small bugs this week and set up an old computer with windows XP who support only OpenGL 2.0. At first the app was not recognized by the OS:
not a valid win32 application
Thanks to this article I was able to fix this error quickly, but the second problem introduced with this workaround (using the define _ATL_XP_TARGETING ) is that I have to include the file msvcr100.dll, so to limit the number of DLL file I have chosen to static link the runtime library with the flag \MT, but I would have to recompile each library I am using with this flag (SFML, Crypto++).
After that, I tried to find a way to implement sprite batching with VBO instead of vertex array but it seem tedious to do that with SFML and not worth the time. VBO are useful to save transfer time between the CPU (client) and the GPU (server) because with vertex array we need to transfer the data each frame. But that’s okay if the program is not highly optimized, it’s probably an overkill for a point and click game. In most cases, vertex arrays are enough but the problem will be in the future: they are deprecated in OpengGL 3.0, and removed in OpenGl 3.1 and above.
This week I have made progress on the level 3 mostly on the maps and design. The level will be quite large with a lot of things going on so it will take more time to make but as planned level 3 and 4 will be the core of the game gameplay wise, but the beginning and the end are very important for the story.
That why I try to progress as much as possible before releasing a demo because I want to have a good vision of the game. The demo needs to be polished enough so that when the game is released the demo reflect the quality (or not) of the game.
I have pretty much no followers on twitter, glusoft.com have almost no content and this is my first “big” game. So everything will be decided when the game will be added on greenlight and added to IGF, PAX or other contests for indie games.
So I will probably try to make a trailer and a demo at the same time when I have decided the content and quality is enough to have a chance on greenlight.
 Obviously you could tell about my twitter: “You have 14 tweets about some game in development with no other things to show how can you expect to have people following you ?” I agree with that fact because people who have a good community have like 14k tweets or makes 3-4 “big” games and won some prizes for one or two, or maybe published many small free games. Or maybe it’s the first game but they add a successful Kickstarter campaign, or done some work with others developers as a musician. In my opinion, almost every roads are feasible with efforts and patience.
I have tried to port the game to SDL2, but it is more difficult than expected. At first I have replaced all SFML’s functions with SDL’s functions but it does not work because sometimes the object to draw is deleted after calling the draw method, in SDL you need to render the texture to the renderer with SDL_RenderCopy or SDL_RenderCopyEx if you want to rotate the sprite, but the object cannot be deleted before SDL_RenderPresent because SDL_RenderCopy take addresses in parameter. So I have allocated theses objects on the heap with raw pointers. But this time the problem was after using delete to clear some pointers, the memories of other objects got corrupted. So I have replaced raw pointers with shared pointers it is better now, but there is still some weird bugs so I will continue to use the SFML version this week and come back to SDL later.