To quote from my design doc:
I already have bits and pieces of an engine put together, including sprites, collisions, and Lua scripting. Today I finalized my graphics format:"Submarine Hero" (a title which will probably be dropped) is not about rocking out on hoagie sandwiches; it will be a game about deep-sea exploration with some storytelling aspects. The action-adventure part follows obviously, with the perspective being a 2d side-view one and core game mechanics being very shmup-like; the building and management part was not part of my original concept(which was prototyped in the "Game Maker" tool many months prior to this competition, but will now be rewritten with Free Pascal) but is included to satisfy genre requirements - the player will, in between adventures undersea, participate in the development of his home port, gaining access to new equipment and advancing the story.
Native resolution 400x250x32bit colorx60fps
upscaling to 800x500 with scale2x
That looks like a crazy resolution, but lower res makes it easier to draw for, and it scales to the 16:10 widescreen ratio perfectly. For people like myself who don't have a widescreen, we get to see black bars at 400x300 or 800x600. Performance is pretty good for software rendering; I'm down to around 40% cpu usage for rendering at 800x500 and can probably improve on that.
Something I am not happy with is smoothness of scrolling. This has as much to do with my monitor as with the code. LCDs have blurring when colors change rapidly. When the resolution is low or has a lot of bright solid shapes, these effects become very prominent. So when I double the resolution, I have four times as much obvious blurring. I'm pretty sure I can't do anything to really solve this(though raising the native resolution would help somewhat).
My agenda for the next week is to get my entity system working. The model I have is:
TEntity, the highest-level type, which currently contains:
TCollider (a container type for one of several collision objects)
either a TImage or a TImageGroup, which contain one or more sprites.
I have Lua working with bits and pieces of code to set images and colliders. Some things I still need:
-Image display sorting
-One or more pointers to Lua functions so that the game loop will execute that code each frame
Something I noticed this weekend while testing: SDL seems to have memory leaks. At first I thought it was my code, and then after removing all use of SDL, and then trying demo programs, I thought it was the bindings. Then I went and ran a whole bunch of SDL programs in various languages through Valgrind and found that they all had the same issue; similar leaks with similar characteristics, traced to the SDL libraries. There goes my hope of a leak-free game, but it seems like I'm not the only one.
Bookmarks