# 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