goengine

golang voxel engine

View the Project on GitHub tehcyx/goengine

goengine

The goal here is to create a graphics engine in the style of minecraft, with total control of terrain generation. For starters the goal currently is not to have destructible terrain. It should be usable as a basis for participation in GameJams. Along the way I want to learn:

  1. Mesh generation/handling/modification
  2. Terrain generation
  3. FPS & 3rd person camera
  4. networking support for multiplayer

How to contribute

What does it look like

Mesh 01

Current timings

compileShader took              4.465966ms
compileShader took              269.372µs
newProgram took                 6.134061ms
NewMeshFromFile took            12.344038ms
    NewObjModelFromFile took    10.254944ms
        ToIndexedModel took     1.53439ms
            Mesh init took      509.496µs

Immediate next tasks

Look into this:

Pre requisites

Compile & run

  1. Install Homebrew
  2. Install go dependencies

     go get github.com/go-gl/gl/v4.1-core/gl
     go get github.com/go-gl/mathgl/mgl32
     go get -v github.com/veandco/go-sdl2/{sdl,mix,img,ttf}
    
  3. Install SDL2 via brew: brew install sdl2{,_image,_ttf,_mixer} pkg-config
  4. run make
  5. run ./bin/app

Cross compile MacOs to Windows

Cross compile MacOs to Linux