Gamedev Diary [01] - Engine choice + Initial work
As promised in a previous article, this is my first coverage of what I want to do, what I already did (not much...), and some details on how/why I'm doing in some of my attempts at making my first game.
Engine choice
First thing we need to think about is what kind of game we want to make and then try to find an engine that fits the idea we have. As I want something simple (adventure/visual novel genre), something like Unreal Engine is not only a bad choice (e.g. hundreds of features I would never touch, huge file size for a complete game, etc), but also overkill. What do we have left? Well, dozens of choices really, but I need to take into consideration that anything that needs a long time to learn would also kill my interest since I'm not a programmer. There's Unity but even if that's a better fit we had some nasty changes on their licensing recently. What I've found to be better even with it's own limitations was the Löve 2D framework. While it's not a complete engine by itself (lacking tons of tools that would make creating anything faster/easier), it should be able to do what I need for my concept of game fairly easily. What's the deal breaker with Löve 2D? Two were the obvious ones in my case: it uses Lua as the language of choice (I don't code, so obviously I don't know Lua) and they have probably the worst codec for pre rendered videos under the sun (the Theora Video, OGV). The pre rendered video thing is a major issue since I want to use live action footage for a lot of stuff (short videos while moving between locations, some specific in-game animations, death animations with a mix of pratical effects + post processing). I could actually take advantage of that and use ultra low resolution content at lower bit/framerates and take a more "retro" approach to the visuals or work around it completely by presenting a sequence of images with sync audio (which is a video from the user point of view), not sure about that at this point.
Initial work
Even if I don't know Lua, I'm glad I had actually tried my hand with Löve 2D. The documentation is nice and with some hours of poking around I was able to create my first concept of what I want as an in-game scene.
An static image, wow, really ground breaking!
Now that we have an static scene, let's make it more interesting by adding the "exploration" element. My idea here is to have an image that's bigger than the screen and while moving the mouse to right or left you're able to see more of the scenario we're at.

Ok, now it's still simple, but much better.
After that I've also added an ambient sound that I've found on https://freesound.org/. It's a very good source for audio stuff while you're testing/making your game (at some point I'll actually record and use my own audio files, but as a placeholder that's good enough).
For now that' all I've done, but I can already mention some of my TODO listfor the 0.0.0 version (since we can't even call this a 0.0.1 yet):
Implement the use of canvas for the main scene (canvas is the name of the "render to texture" concept inside Löve 2D). The use case for this is to have the entire content of the screen into a single element outside of the visible frame, that I could apply any sort of post processing effect before putting the final frame into the visible area for the player.
Implement two extra audio channels to be able to have positional audio (so I can use sounds to give a hint about something important on the screen).
Hide the system cursor and load a custom cursor that I'll create.
That's all for now, every time I make any kind of progress interesting enough we'll have a new article covering it. Feel free to leave any questions or suggestions as well, feedback never hurts (unless it does).
PS: I'm also making a video series (in my native language, so only in brazilian portuguese, enable automatic captions and hope for the best) convering exactly the same information presented here, so if you want the same content but in video format, be my guest https://youtu.be/MCccTx8Y2m4
