Categorygithub.com/Zephyr75/overdrive
modulepackage
0.1.1
Repository: https://github.com/zephyr75/overdrive.git
Documentation: pkg.go.dev

# README

Overdrive :speedboat:

An OpenGL game engine written in Go.

Overdrive uses a custom Blender add-on to convert a full Blender scene to a game ready scene including meshes, camera, lights and full material properties.

Currently implemented:

  • Directional lights and shadows
  • Point lights and shadows
  • Skybox and environment mapping
  • In game and menu UI based on Gutter
  • Entity system
  • Particle-based physics system based on Verlet integration

Getting started

package main

import (...)

type Player struct {
  name string
}
func (p *Player) Init(world *ecs.World) { }
func (p *Player) Update(world *ecs.World) { }
func (p *Player) GetType() string { return "Player" }

func main() {
    app := core.NewApp("Gutter", 1920, 1080)
    scene := scene.NewScene("assets/sphere.xml")
    go runWorld(&scene)
    app.Run(&scene, exitUI)
}

func runWorld(scene *scene.Scene) {
    player := Player{
        "Bob",
    }
    world := ecs.World{}
    world.AddEntities(&player)
    world.Init()
    world.Update(time.Second / 60)
}

func exitUI(app core.App) ui.UIElement {
    return ui.Button{
        Properties: ui.Properties{...},
        Function: func() {
            app.Quit()
        },
        Style: ui.Style{...},
    }
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author