Commit 579a1540

– Add new in-game menu with preliminary information
– Add support for semi-transparent background colours in widgets
– Enable(toggle) menu by triggering a cancel() call or by pressing F10/M
– Introduce concept of global widget types in the InterfaceManager

Relates to #81

Hello! The menu mania continues, this commit adds a brand new in-game menu to OLives. The greyed out parts do nothing yet, but what it allows you to do is to go back to the main menu without having to use an enigmatic hotkey.

The irony of that is that the only way to open the in-game menu right now is also a hotkey. However, at least this time they are hotkeys which are here to stay. Simply hitting Escape (if in simulation or shop mode) or F10/M (all three game modes) will bring up the menu. Either hit that key again or click on the aptly named “Continue” to continue.

“2/5 – would menu again.”

Adding this brought up some unexpected showstoppers, such as a lack of transparent background colours of widgets and a slightly buggy padding calculation. Also, the commit was unfortunately delayed by some rather unpleasant debugging. That eventually boiled down to a non-initialised variable which triggered a lot of seemingly random behaviour. Good times were had.
In the end though, the only thing is missing is a small button to actually activate the menu without any hotkey required. After that it’s back to the actual main menu, which now looks a lot worse than the in-game one now, something that needs to be remedied. Anyway, looking forward to get all of that done. Byeee 🙂

Commit 72a9348b

Add command line switches

Resolves #78

Hi! In the previous commit I talked about how OLives finally got a menu after nearly four years, so it’s only right that this commit makes it possible to skip it again.
For actually developing OLives it is important to keep the way from making a change to actually seeing it in action as short as possible, clicking your way through a menu is not helping too much in those situations.
While I was working on that, I also added some more command line switches,
check out those striking visuals:

Riveting stuff

The observant reader may notice that “files” are being mentioned in the help text, but rest assured, this has no function yet.

Now that this is out of the way, I will either pretty up the main menu a bit or do some other menu related tasks. Let’s see, byeee 🙂

Commit 384183c2

– Add bare-bones menu to start and quit the game
– Make fewer hardocded assumptions about child elements in the interface manager
– Block certain shortcuts from having an effect in menu mode

Resolves #77, #80

Hello! This commit finally brings some visual changes:

After nearly four years OLives finally gets a menu. Or at least something that could be described as such if you were to squint very hard.

Clicking “Start Game” does exactly what it says, so does “Quit Game”. This is made possible by the work of the last few commits, so hacking together a few lines of UI code was more like the icing of the cake.

Luckily, in the next few days the menu will be fleshed out a bit, so that it is at least somewhat presentable, but I’ll make sure to post a screenshot then, it can only go uphill from here. 😉 Byeee!

Commit b7d344fe

-When enabling simulation mode: fully reset the camera, game state,colour manager and renderer
– Fix dangling Vulkan handles

Relates to #77

Hello! The work goes on, it is now possible to switch back and forth between the “menu” (i.e. the void) and the simulation mode without having to fear break anything or cause Vulkan handle leaking. Good times all around.

Next up will be disabling certain types of input that only cause problems in menu mode. Then, I’ll finally get to actually show some sort of preliminary menu screen 🙂 Byeee!

Commit 200d9075

Further improve resetting different data structures when switching back and forth between simulation and menu mode (WiP)

Relates to #77

Hi! The work on making everything, well, resettable continues. At this point it is actually possible to “use” OLives again – to its usual extent. By pressing ‘O’ it is possible to move from menu mode to simulation mode. Pressing ‘L’ will switch back to menu mode.

These handy little shortcuts are obviously temporary, but help a lot in finding all the little problems that are still occurring. While it is already possible to switch back and forth, some things are still not getting reset properly: portals tend to stick around even after the reset and you better not try to add a light source or a temperature modifier and quit to the menu.

Anyway, things are progressing nicely and hopefully soon those issues will be weeded out, then it’ll be time to actually put in a menu of sorts and get rid of of my little dev shortcuts. Byeee. 🙂

Commit 97fe0667

– Refactor start-up code (and inter-depdenencies) of many classes (WiP)
– Add a new “Menu” game mode
– Add mechanims to switch between menu and simulation modes (very much WiP)

Resolves #77

Hello! For the time being, this commit basically breaks OLives until the next commit (or possibly the one after that). If you were to start it in its current state, you would get something like that:

These stunning visuals indicate that OLives is running in “menu” mode, so I’ll have to ask you to use your imagination for now.

The efforts currently go towards starting/stopping the simulation and all that this entails. To no big surprise that means many small (and some big) changes need to be made, some of which to code which hasn’t been touched in a while.
Besides staring into this void for way too long, I’m pretty happy with the progress so far, so soon there will be a bit more to see again. Byeee 🙂

Commit f09fabfd

– Add mechanics to lower/raise elevations by tile
– Refactor validation for lowering/raising so that both change types can use it
– Add new assets for switching between tile based or vertex based changes

Resolves #73

Hello! This commit wraps up the height map topic for now by introducing the last missing feature: editing tiles based on entire tiles and not just single vertices, check it out below:

The vertex based changes are still supported however, it is possible to easily switch back and forth between the two modes. 🙂

Next up is a small bug fix and after that the focus will probably go towards introducing a main menu instead of going straight into the simulation itself.
Byeee. 🙂

Commit 949454b8

– Add per-vertex lowering/raising mechanics
– Add validation to check for objects, walls and maximum/minimum values

Relates to #73

Hi! Another big step towards the end of the height map topic, it is now possible to actually edit the height map, albeit per vertex only. Check it out below:

If you have a closer look you will see that the possible vertices that can be changed are limited by the proximity to an object or a wall. It is also not possible to go above or below certain thresholds, I’m pretty happy with the result 🙂

The next step will either be declaring this topic as “done” – or checking out if it is (relatively) easily possible to have a per-tile mechanic, which would for more pleasant bulk editing. I am not entirely sure though if that even makes sense though from a UX perspective. Let’s see 🙂 Bye!

Commit 6c429d36

– Add new UI for lowering/raising terrain
– Update some button textures
– Restructure the build mode menu a bit

Resolves #72

Hello! As promised last time, here’s a screenshot of what the build menu now looks like:

The astute observer will no doubt have noticed that some of the icons look different now, as well as that there are now two entries for raising/lowering the terrain. This is certainly the kind of adrenaline inducing content people come here for.

Now after setting up the basic drawing, wall, object and light positioning, adding new limitations for objects/walls and finally adding the UI the rest of the work concentrates on the main part of the entire topic: actually changing the elevation of the terrain, which will conclude this topic. More to come soon. Byee 🙂