Konstruisto: Week #2 – Main menu and settings framework

Previous week I mentioned road implementation. I started with rendering and got stuck a bit while handling texture atlases (search for GL_TEXTURE_2D_ARRAY if you’re interested, I even may write an article about it). Roads are half-done then. I moved to easier stuff and made menu state and settings (in code so far). UI renders textures now; it took me quite a lot of time since I missed there is a function for loading images and wrote everything by hand at first 🙂 Use G to turn off the grid. This week I pushed 21 commits (total 91).

Previous week

Roads learn alphabet

Video preview



  • Main menu state
  • Game settings framework
  • Handling command-line options
  • Rendering icons
  • Toggling grid, new grid pattern
  • Road rendering (WIP)
  • Some minor fixes

Code repository

Go and see https://github.com/kantoniak/konstruisto. You can build from there or download binary release below. There are Star and Watch buttons in the sidebar (right).


Windows x64: Konstruisto v0.0.0-0e3fccd DEBUG WINDOWS
Linux x64: Konstruisto v0.0.0-0e3fccd DEBUG LINUX


Esc - pause state
~, 1-3 - change time speed
Ctrl + 1-9 - set new buildings height
Q, E - rotate view
G - toggle grid
N - toggle normals
Left click and drag - place building
Right click and drag - move view
Mouse scroll - zoom

Command line options

--fullscreen - run in fullscreen mode
--width=XXX - set inital window width
--height=XXX - set inital window height

Next week

I will continue with roads rendering, maybe placing them if time allows. I want to make roads of different size, so there will be some hittesting work to do. I have textures to finish from this week.