All Projects → Galaco → kero

Galaco / kero

Licence: Unlicense License
Kero is a Source Engine game engine client implementation written in Go.

Programming Languages

go
31211 projects - #10 most used programming language
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to kero

lambda-client
A Source Engine BSP Renderer written in Go.
Stars: ✭ 14 (-44%)
Mutual labels:  valve, source-engine, bsp
bsp
Go package for parsing Valve's Source Engine .bsp (Binary Space Partition) map files
Stars: ✭ 29 (+16%)
Mutual labels:  valve, source-engine, bsp
Lambda
A custom Source Engine level editor written in Go
Stars: ✭ 34 (+36%)
Mutual labels:  valve, source-engine, bsp
HammerPatch
Modification of Source Valve Hammer Editor to fix some issues. Fixes brush vertex precision loss.
Stars: ✭ 49 (+96%)
Mutual labels:  valve, source-engine
Bee2 Items
Standard Items for the BEE2.4
Stars: ✭ 83 (+232%)
Mutual labels:  valve, source-engine
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (+252%)
Mutual labels:  valve, source-engine
Sourcedemorender
Multithreaded, hardware accelerated solution to create high quality movies for the Source engine.
Stars: ✭ 152 (+508%)
Mutual labels:  valve, source-engine
Bee2.4
Tool to mod Portal 2's Puzzlemaker
Stars: ✭ 152 (+508%)
Mutual labels:  valve, source-engine
Sourcebans Pp
Admin, ban, and comms management system for the Source engine
Stars: ✭ 210 (+740%)
Mutual labels:  valve, source-engine
source-engine-model-loader
Three.js loader for parsing Valve's Source Engine models
Stars: ✭ 54 (+116%)
Mutual labels:  valve, source-engine
CSGO-Translator
Simple C# CSGO chat translator
Stars: ✭ 35 (+40%)
Mutual labels:  counterstrike, counterstrike-globaloffensive
Mastercomfig
A modern Team Fortress 2 performance and customization config
Stars: ✭ 390 (+1460%)
Mutual labels:  valve, source-engine
Sourceengine2007
Description
Stars: ✭ 387 (+1448%)
Mutual labels:  valve, source-engine
Blendersourcetools
The Blender Source Tools add Source engine support to Blender, the free 3D modelling suite.
Stars: ✭ 112 (+348%)
Mutual labels:  valve, source-engine
Goluwa
a game framework written in luajit
Stars: ✭ 173 (+592%)
Mutual labels:  game-engine, source-engine
NextBot
A Git-based fork of Valve's NextBot code.
Stars: ✭ 30 (+20%)
Mutual labels:  valve, source-engine
sledge-formats
C# parsers and formats for Half-Life 1 and related engines.
Stars: ✭ 35 (+40%)
Mutual labels:  valve, bsp
steam.py
An async python wrapper to interact with the Steam API and its CMs
Stars: ✭ 74 (+196%)
Mutual labels:  valve
Java-Memory-Manipulation
User friendly, Garbage-free, and cross-platform process, module and memory interfacing via the power of Java
Stars: ✭ 51 (+104%)
Mutual labels:  counterstrike
SourceAutoRecord
Speedrun plugin for Source Engine games.
Stars: ✭ 47 (+88%)
Mutual labels:  source-engine

GoDoc Go report card codecov CircleCI

Kero

Kero is a Source Engine game client implementation written in Go.

Current Features

  • BSP rendering with visdata support
  • Skybox rendering
  • Lightmap support (incomplete, BSP geometry only)
  • Staticprop rendering
  • Prop entity rendering (incomplete, models with bones unsupported)
  • Bullet physics for brush:physics entity collisions
Build Kero, run it by pointing it to a Source Engine game installation, and it should just work!

Building

Prerequisites

This project is tested against Go 1.14+, although will probably build on Go 1.12 or later. CGo is required for Imgui and Bullet. To compile with the physics module, Bullet is required;

  • On Mac OS it can be installed with brew install bullet.
  • See Bullet documentation for other platforms

Build

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"

What's the end goal?

  • An accurate-as-possible renderer compared to the original source engine
  • A physics environment for client-side simulation (Bullet will perform as "close enough")
  • Sound/audio playback
  • Expose an interface for controlling/passing game state in/out (e.g. demo files, netcode, etc)
  • Expose an interface for game specific implementations to be built on top
  • Headless mode. Be able to run this without a renderer or audio output
  • Interface for querying game data at runtime (e.g. LoS calculations between entities)
  • As little reliance on CGo as possible
  • 0 reliance on any valve code or libraries

Contributing

  1. Fork it (https://github.com/galaco/kero/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].