• Register
Post news Report RSS Devlog 2: Engine, Main Menu, Cheating, Music, and HORSE MOVIES?

This devlog talks about how the game's engine progressed, how its soundscape evolved, and how its cheater playerbase got a treat(?)

Posted by on

Hi! Welcome to the second devlog for Apex Revenge! Apex Revenge is a city builder rogue-lite hybrid in which you play as the mayor of a destroyed village trying to construct a better city to rivalize with the industrial towns who forced you to let go of your resources. This week wasn’t the most productive one but it is a decent one nonetheless. In this devlog, we’ll see how I spent a week trying to accustom myself and my engine to a programming language I truly hate, how I revamped the main menu to something I’m not even sure will be definitive, as well as take a look at some tools inside of the game, a part of the original soundtrack, and a bit of what I have planned for further ahead in time.

geSRC : The monster that made this week particularly unproductive…

Apex Revenge is, as you may know, made on a custom engine called geSRC. This idiot is what caused my week to be so unproductive. As I wanted the game to be more moddable, I decided it would be a good idea to make my engine more modular. Turns out I am not smart enough to write an engine myself. The way I should’ve gone with my engine was to have a well-defined structure, inspired by other engines such as Nadeo’s GameBox and Nintendo’s Bezel, that would be good enough for all type of games. For storage I should’ve probably gone the way Nadeo went when they made GameBox; with small pack files such as GBXs and PAKs. The way I went was to just eyeball the storage part of the engine and force said engine to execute an external Lua script.

I wanted my game to be coded in Lua, with the only thing in C++ being the engine itself, which is just one big Lua interpreter anyways. I forgot one thing: I don’t know much Lua nor do I like it. Thus, this big Lua branch of geSRC stayed in a limbo state between life and death and will perhaps stay this way indefinitely.

The most difficult aspect of game development; user interfaces!

The main menu of Apex Revenge has seen a period of movement on its tiny 720p surface. I have placed the buttons at the bottom left of the screen and added some movement to them. I thought the menu wasn’t quite as dynamic as its music now was.


The ""new"" main menu in action


c:/windows/system32/ >

Certain things are better left out of reach from the public. One such thing that is better out of reach is probably *that* brazilian adult movie with a horse in it that was funded by the government. (yes this is a real story) I, for one, claim fairness to be one of my immovable principles and promised myself never to include obvious ways of cheating. However, since debugging states became quite hard with some of them being awkwardly specific, like having exactly 73 boats on the map, I made up some quick debug tools. And since this is just a single-player game, and cheating wouldn’t really affect anyone except perhaps speedrunners, I’ve decided to leave them in. By pressing F3 in game, and inputting some Lua in the command prompt, you *can* alter your game’s functioning in the exact same way buffs do.

Capture dcran 2023 04 11 20

The screen that appears in-game


Some funk to listen to while building

Since I’m working on the game alone, I also have to compose my own soundtrack. I’ve currently only composed the buff/debuff screen’s music and the main menu’s music. You can listen to it here, on Newgrounds!

Studio One screenshot from the main menu project file


What’s going to happen next?

The next thing I need to implement is the night/day cycle which will replace some ticks as well as add visual dynamism and audio dynamism. I also have thought of either a DLC or secondary game mode where you operate a country instead of operating just a single town. Games would be longer and more intense than they currently are in the strategy mode.

Cya mates!

Thanks for reading! See you next week!

- Safariminer

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: