Rendered at 09:07:22 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
bishopdynamics 16 hours ago [-]
This is awesome! Great work! I love playing around with these older game engines that have source available, its really neat to explore how they work, and fiddle around with it.
back when I was in high school, my friend and I used Quiver [0] to make quake maps on macos - it was very fun. to think that quake networking worked under those old school modem conditions/latency is kind of wild. id3 truly were miraculous developers.
I remember asking someone who worked at my high school for a map of the school and remember thinking it would be fun to recreate the school... in quake... and probably model my least favorite teacher as a monster I could chase...
it's somewhat scary to think back about this - especially since Columbine happened the same year. there was no risk from me (absolutely no way or interest to access guns - we were teenage dweebs in a country with strict gun laws) but thinking back I'm glad I never finished my maps or shared them.
Thanks for the nostalgia trip :) I was a big fan of Quiver back in the day. I even ported q3map to classic Mac OS at one point (I was 14 i think) so I could build maps in Quiver and run them in Q3 without leaving my Mac. Which I guess makes the WASM build in Q3Edit the second time I've ported q3map somewhere it was never meant to run.
mmh0000 12 hours ago [-]
You may enjoy this:
Quake 3 Source Code Review: Network Model (Part 3 of 5)
is the community still here for this kind of project? like people actively seeking out more Quake 3?
drdator 2 hours ago [-]
No idea, honestly :) I built it just for the fun of it. I mapped back in the Radiant days and wanted to see if I could make something similar that would run in a browser. Sharing it was an afterthought.
vivzkestrel 4 hours ago [-]
- can someone with expertise shed some light on how do you go about figuring out how a game like quake 3 works
- now i know someone would say "just read the source code bro" but i am not a 3d game dev
- as a beginner, how do you wrap your head around a codebase as complicated as quake or something?
NackerHughes 47 minutes ago [-]
It really does boil down to 'just read the source code bro' but with more of a sense of direction to it.
Don't worry about understanding the entire codebase just yet. Instead, try to understand some specific parts of it to begin with. As you work with different bits of the code you'll gradually form a mental 'map' of how the whole thing fits together.
Start by trying making small changes, e.g. make the guns faster, or make the player jump higher. Look for where that code is that does that thing.
You might be taken on a bit of a journey, finding the definition of a function, then the function calls within that function and the variables passed to them, etc. - all the way along you'll be discovering how various other things are done within the game engine, and the general layout/structure of the codebase overall, as well as plenty of general programming concepts that will be useful anywhere.
Do this enough times and you'll gradually build a familiarity with the engine, and programming in general. Then if there's something you want to do that's in a part of the codebase you're not familiar with, you'll be more able to 'dive in' and find where it is in the code, and you'll be more confident that you can read code you're not familiar with it and be able to figure out what it does.
I can only speak from my experience from when I was just starting out learning to code (17 years ago!), adding and tweaking various features in Cube Engine and its sequel Sauerbraten, eventually moving onto Stepmania. Stepmania was a MUCH bigger codebase than Cube/Sauer (probably still not as big as Quake 3 though!) and the stuff I picked up modding those two was invaluable for working with Stepmania.
raymond_goo 3 hours ago [-]
Download the source code, open it in Visual Studio Code (free), use AI tools like claude code and copilot to learn about it.
popalchemist 14 hours ago [-]
Unbelievably cool!
phendrenad2 15 hours ago [-]
Very cool. Are you compiling the maps with q3map2?
drdator 3 hours ago [-]
Thank you! No, it's the original q3map from the GPL source release compiled to WASM, not q3map2. Will at some point look into q3map2.
If you haven’t already, Fabien’s write ups of the various ID engines are a joy to read: https://fabiensanglard.net/quake3/index.php
Shameless plug: I also like to play around with old game engines: https://github.com/bishopdynamics/Continuum
However trying to Quick Play the map gives me:
=== Stage 1: BSP ===
Q3Map v1.0s (c) 1999 Id Software Inc.
---- q3map ----
verbose = true
qdir: /quake/
gamedir: /quake/baseq3/
entering /quake/baseq3/scripts/shaderlist.txt
entering /quake/baseq3/scripts/acc.shader
entering /quake/baseq3/scripts/ammo.shader
entering /quake/baseq3/scripts/beams.shader
entering /quake/baseq3/scripts/cf_models.shader
entering /quake/baseq3/scripts/clown.shader
entering /quake/baseq3/scripts/clown2.shader
entering /quake/baseq3/scripts/common.shader
Unknown surfaceparm: "antiportal"
Unknown surfaceparm: "lightgrid"
entering /quake/baseq3/scripts/cosmoflash.shader
...
entering /quake/baseq3/scripts/weapon_shotgun.shader
1411 shaderInfo
--- LoadMapFile ---
Loading map file /quake/baseq3/maps/compile.map
entering /quake/baseq3/maps/compile.map
****** ERROR ****** LoadTGA: Only type 2 (RGB), 3 (gray), and 10 (RGB) TGA images supported
I miss the days of shooters with strong community run servers.
I remember asking someone who worked at my high school for a map of the school and remember thinking it would be fun to recreate the school... in quake... and probably model my least favorite teacher as a monster I could chase...
it's somewhat scary to think back about this - especially since Columbine happened the same year. there was no risk from me (absolutely no way or interest to access guns - we were teenage dweebs in a country with strict gun laws) but thinking back I'm glad I never finished my maps or shared them.
[0] https://www.macintoshrepository.org/6370-quiver-1-2-quake-ed...
Quake 3 Source Code Review: Network Model (Part 3 of 5)
https://fabiensanglard.net/quake3/network.php
- now i know someone would say "just read the source code bro" but i am not a 3d game dev
- as a beginner, how do you wrap your head around a codebase as complicated as quake or something?
Don't worry about understanding the entire codebase just yet. Instead, try to understand some specific parts of it to begin with. As you work with different bits of the code you'll gradually form a mental 'map' of how the whole thing fits together.
Start by trying making small changes, e.g. make the guns faster, or make the player jump higher. Look for where that code is that does that thing.
You might be taken on a bit of a journey, finding the definition of a function, then the function calls within that function and the variables passed to them, etc. - all the way along you'll be discovering how various other things are done within the game engine, and the general layout/structure of the codebase overall, as well as plenty of general programming concepts that will be useful anywhere.
Do this enough times and you'll gradually build a familiarity with the engine, and programming in general. Then if there's something you want to do that's in a part of the codebase you're not familiar with, you'll be more able to 'dive in' and find where it is in the code, and you'll be more confident that you can read code you're not familiar with it and be able to figure out what it does.
I can only speak from my experience from when I was just starting out learning to code (17 years ago!), adding and tweaking various features in Cube Engine and its sequel Sauerbraten, eventually moving onto Stepmania. Stepmania was a MUCH bigger codebase than Cube/Sauer (probably still not as big as Quake 3 though!) and the stuff I picked up modding those two was invaluable for working with Stepmania.