Skip to content

capraconsulting/caesars-salads

Repository files navigation

🥗 Cæsar's Salads

You control a hungry Julius Cæsar looking for salads while angry senators hunt him down

Cæsar's Salads is a game made for Capra's booth at the JavaZone 2025 conference in Norway. Participants played the game and submitted their high scores to win prices at the end of each day. The game is written in Kotlin using the Pulse Engine. This repo contains the full source code with some code cleanup and comments added after the event.

video

▶️ Build and Run

Local Java

  • Build the game with: gradlew build
  • Run it with: java -jar build/libs/caesars-salads-1.0.jar (accepts level_1 or level_2 as first argument)

Windows Release

  • Create a ZIP file containing a Windows release (.exe file) and bundled JRE with: gradlew buildWin64Release
  • Unzip the file and run caesars-salads-1.0.exe

🛠️ Development

Update dev configuation

  • application-dev.cfg Set saveDirectory to the absolute path of the projects resource folder and devMode = true
  • init-dev.pes To get hot-reloading of assets and shaders working uncomment the watchFileChange command and set the path to the projects resource folder.

Edit levels

  • Run the main() function in the GameMain class.
  • Press "Start Game" in the main menu, then press the F2 key to open the scene editor.
  • Here you can edit the level.
  • To save the current level and play it, press F2 again.
  • If the saveDirectory is configured correctly, the level files in the scenes folder should now be updated.
  • To switch level, either press File -> Open... in the editor and choose the level_2.scn file or go to the main menu, open the console with F1 and type level_1 or level_2.

Compatibility

The game was developed and tested on Windows 11. No testing has been done on other platforms, but the engine should run on Mac and Linux as well. The game's lighting requires a capable GPU to run smoothly. The target system had an Nvidia RTX 4070 and a 1080p monitor. If the game runs poorly, try lowering the lightTexScale in the Global Illumination system found in the scene editor. Also, make sure the game is running on a dedicated GPU and not integrated graphics if your machine has both.

About

Game for JavaZone 2025

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages