Kero
Kero is a Source Engine game engine implementation written in Go.
Current Features
Kero is mostly a BSP renderer for now. It features BSP rendering, with Static Prop support, as well as VisData visibility culling. BSP geometry lightmaps are also supported, as well as skybox rendering. Build Kero, run it by pointing it to a Source Engine game installation, and it should just work!
Building
To build the project on Windows, Mac OS or Linux, all you need to do is run (assuming you have Go 1.12 or later
installed) in the directory samples/demo
:
go build .
The demo targets Counterstrike: Source entities. To target a different game, you will need to update samples/demo/gameDef.go
.
Running
First, you will need to have a source engine game installed, unless you are loading a map that has all its content bspzipped.
- Run the built executable with this flag:
-game="<GameDir>/<ContentDir>"
, where<GameDir>
is the root directory of the game, and<ContentDir>
is the sub-folder where the game content is located (e.g.cstrike
,hl2
,csgo
etc). For example, a default Counterstrike: Source installation would be specified like this:-game="C:\Program Files (x86)\Steam\Steamapps\common\Counterstrike Source\cstrike"
Contributing
- Fork it (https://github.com/galaco/kero/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request