All Projects → Myu-Unix → ray_engine

Myu-Unix / ray_engine

Licence: other
A toy raycasting engine in Go + Ebiten

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to ray engine

sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+321.05%)
Mutual labels:  engine, raycasting
raycaster-sdl
A simple raycasting demonstration using SDL2
Stars: ✭ 24 (+26.32%)
Mutual labels:  raycaster, raycasting
contact-tracer
A prototype contact tracer app for COVID-19 pandemic response
Stars: ✭ 50 (+163.16%)
Mutual labels:  prototype
WurfelEngineSDK
Isometric game engine. Open world, block/voxel based and sprite rendering.
Stars: ✭ 96 (+405.26%)
Mutual labels:  engine
Explosion
💥 A modern cross-platform game engine (WIP)
Stars: ✭ 102 (+436.84%)
Mutual labels:  engine
HelenaFramework
Modern framework on C++20 for backend/frontend development.
Stars: ✭ 53 (+178.95%)
Mutual labels:  engine
fgmkJsEngine
Js JRPG Engine for FGMK
Stars: ✭ 20 (+5.26%)
Mutual labels:  engine
grakkit
A modern JavaScript development environment for Minecraft.
Stars: ✭ 184 (+868.42%)
Mutual labels:  engine
delphi3d-engine
A 3D-graphic and game engine for Delphi and Windows.
Stars: ✭ 52 (+173.68%)
Mutual labels:  engine
LivePP
A UE4 plugin wrapper for Molecular Matter's Live++ Hot-Reloading Library
Stars: ✭ 105 (+452.63%)
Mutual labels:  engine
p4fpga
P4-14/16 Bluespec Compiler
Stars: ✭ 70 (+268.42%)
Mutual labels:  prototype
binocle-c
A simple game engine in C
Stars: ✭ 113 (+494.74%)
Mutual labels:  engine
diaspora federation
A library that provides functionalities needed for the diaspora* federation protocol.
Stars: ✭ 97 (+410.53%)
Mutual labels:  engine
OldBang
Bang OLD REPO. Please go to the current repo ============>
Stars: ✭ 18 (-5.26%)
Mutual labels:  engine
dragon
Dragon is a universal Python translater.
Stars: ✭ 26 (+36.84%)
Mutual labels:  prototype
foreman column view
A simple Foreman plugin showcasing Deface for altering the Hosts view
Stars: ✭ 23 (+21.05%)
Mutual labels:  engine
unified-args
Create CLIs for unified processors
Stars: ✭ 30 (+57.89%)
Mutual labels:  engine
rpgwizard
2D RPG Game creator
Stars: ✭ 37 (+94.74%)
Mutual labels:  engine
continuum-engine
A Javascript engine to power incremental and idle games
Stars: ✭ 45 (+136.84%)
Mutual labels:  engine
tortuga
A modern game engine built using dot net core
Stars: ✭ 14 (-26.32%)
Mutual labels:  engine

ray_engine

A toy raycasting engine built with Go + Ebiten v2 2D library

Heavily based on 3DSage fantastic Youtube videos of a C/OpenGL raycasting engine

Gun mode ! (old version of the engine with scaling issues)

img

2D map rendered in 3D

img

CRT scanlines

img

Build & run

Build with Go 1.16 and Ebiten v2 on Linux/macOS

 go build
./ray_engine

Keymaps

Arrows keys or ZSQD (Azerty) : Move

'i' : debug info toogle

'f' : fullscreen toogle

'l' : scanlines

'm' : Gun mode

'k' : quit

Features, todos and idea box

  • Port to Ebiten v2
  • Proper collisions
  • UI
  • Scale map to 16x16
  • 2D minimap for gun mode
  • Add basic floor/ceiling - Just a matching png for now
  • Binary textures wip
  • Up/down parallax/Y-xhearing
  • Ebiten Audio mp3 sound support
  • Weapon swap/shield
  • Proper ballistics - Rough prototype
  • Cube destruction/basic enemies - Rough prototype
  • Rebuild the 2D map (where actual raycasting is done) to fit the screen

Known bugs

  • Enemies are seen through walls

Assets

Gun from Destiny 2 screenshot by Bungie

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].