TomentOnline
A Software Rendering Raycaster Engine with multiplayer written in C and SDL2.
Install / Use
/learn @silvematt/TomentOnlineREADME
TomentOnline
A Software Rendering Raycaster Engine with multiplayer written in C and SDL2.
Video: https://youtu.be/1Z0X3V8cNl4
TomentOnline is an upgraded version of the TomentRaycaster engine, that adds multiplayer capabilities and more. For the Online part of it, I've read through many online resouces and the book "Multiplayer Game Programming: Architecting Networked Games" has been of great help.
This was another pilgrimage to my God John Carmack and my starting point for multiplayer game programming. It took me about 1 month.
<h2>Features, on top of TomentRaycaster:</h2>Rendering:
- Better performances.
- Maps can be as big as 128x128 (but smaller are also supported)
- Linear fog rendering
- 8 angled sprites rendering
Multiplayer:
- TCP socket connections (using Winsock), P2P architecture with the host being responsabile of running the AI
- Structured packets with a max size of 1300 bytes for data (1302 in total)
- Buffered send/receive to allow many packets per frame to be sent/received (while accounting for short receive/send - thanks to skeeto for pointing me in the right direction)
Gameplay:
- Two players per dungeon
- Lobby and class selection (Tank, Healer, DPS)
- Player skills with cooldowns for each class
- Damage puddles
- 2 new bosses (3 in total) with new mechanics
