q2java
QCVM
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
q2java
-
QCVM: Bite-sized QuakeC VM written in C
I had a huge amount of fun back in those days messing with QuakeWorld and Quake2, learned a ton of stuff.
One project was embedding a Python2 interpeter in QuakeWorld, along with a QuakeC->Python translator. The translator and the resulting Deathmatch and CTF games are here: https://github.com/barryp/qwpython
The other was embedding a JavaVM in Quake2, and instead of trying to translate the C game logic, we recreated the whole thing from scratch in an object-oriented Java fashion: https://github.com/barryp/q2java
Thanks to Carmack for opening up those old engines, that was a real education.
QCVM
- QCVM - QuakeC Virtual Machine written in C89
- Bite-sized QuakeC VM written in C
-
QCVM: Bite-sized QuakeC VM written in C
The pronouns in the source headers is interesting:
https://github.com/JaycieErysdren/QCVM/blob/main/qc/main.qc#...
What are some alternatives?
qwpython - QuakeWorld dedicated server wrapped up as a Python module, QuakeC -> Python game translator
q3vm - Q3VM - Single file (vm.c) bytecode virtual machine/interpreter for C-language input
john-carmack-plan - An archive of John Carmack’s .plan files in readable markdown format
pawn - Pawn is a quick and small scripting language that requires few resources.
DIYDoom - An attempt to understand how DOOM engine works