Skip to content

heimskr/game3

Repository files navigation

wakatime

Game3

A 2D game made with OpenGL. No engine because I'd prefer to do things my own way.

Screenshots

Player in the forest

Player in a house

Players constructing machines near lava

Players chatting in the water

Player standing in a field

Player inspecting a factory

Credits

Huge thanks to Shade for creating Mini World Sprites, which features heavily in this project, and for creating custom anvil and furnace tiles at my request.

Thanks to Tilation for their indoor tileset.

Thanks to Vadim, Fayabella and Bamboozle.jpg for their flower sprites.

Thanks to Fayabella again for her work on many other sprites and for her many ideas and feedback over the course of the game's development.

Thanks to 190n for their work on the resource embedding system (since removed).

Sprites credited to Franuka are not governed by this project's license.

Contribution Ideas

If you'd like to contribute, here are some ideas, ordered roughly from easiest to hardest.

  • Improve the shading of the flower sprites flower1_* and flower5_* in /resources/tileset.
  • Make animals useful.
    • For example, add a shears tool that can be used to get wool from sheep.
  • Add a plugin system similar to that of Algiz (see PluginHost.cpp, PluginHost.h, Plugin.h) that makes use of the game's registry system (see Game::initRegistries through Game::initialSetup in Game.cpp).
    • You will need to implement dependency checking to make sure plugins are loaded in the right order and that there are no cycles; Graph::topoSort may help with that.
    • Bonus points if you can get interop with other languages (e.g., Rust or Zig) working. This will likely be difficult because plugins will typically need to extend classes like Entity, TileEntity or Realm that have virtual methods.
  • Redo the UI to be done in OpenGL or an OpenGL-based framework instead of GTK.
  • Rewrite the "engine" to be based on Vulkan or SDL2 instead of OpenGL.