Skip to content

laszlokorte/handmade-hero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

178 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Handmade Hero

My attempt at Handmade Hero.

My focus is mostly implementing the various platform layers and not so much the game mechanics.

The goal is to implement as many platform layers as possible: Win32, Linux Wayland, Linux X11, MacOS, iOS, Android, Web (WASM).

For each platform I want to provide as many rendering API implementations as available and reasonable: OpenGL (Immediate and Shader), Vulkan, Metal, DirectX, X11, WebGL, WebCanvas

Cross Platform Status

The Win32 Platform layer is is most advanced implemention. Sound output, FPS Counter, Recording/Playpack and Hot Reload is supported. The rendering is done via OpenGL.

On MacOS rendering is done via Metal, sound playback and game code hot reloading are implemented, but gameplay recording/playback is not implemented.

On Linux the rendering is done via OpenGL 3.3 on wayland. ALSA is used for audio. Hotreload for game code is implemented but as with MacOS gameplay recording/playback is not.

An basic X11 platform implementation is also available but it is the most barebone one. Due to missing double buffering it may flicker.

On iOS the rendering is working and simple touch controls for moving the camera are implemented. But audio is still missing and a virtual gamepad is not implemented yet but would be nice.

An Android platform layer is not yet implemeted yet.

The WASM based platform layer allows to to run the project in a web browser. The rendering is done via either canvas 2D API or via SVG. A WebGL renderer is still to be implemented:

Live Demo

TODO

Generic Interface for Renderer: Currently the rendering code is hardcoded into each platform layer. I would be nice to have a simple interface that allows the renderers to the swapped at runtime and matched wich each compatible platform.

Preview

Screenshot

About

My attempt at following the HandmadeHero project

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Contributors