Repository navigation
Releases: mariuz/castle-quake2
Release list
Castle Quake 2 v0.14.0
Real slopes, breakable glass windows, a key hunt, the full game's textures as themes, and audio polish. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Fixed: the game could crash on exit after playing a level from the level editor (the console was inserted into the screen twice when the editor opened).
- The full game's textures as themes: with the retail Quake 2 PAKs, every texture set (e1u2, e2u3...) becomes a level theme for the editor and the random levels. Level files remember theme names, so they still load on the demo.
- Breakable glass: windows shatter when shot, with Quake 2's glass sound and debris. Quake 2's breakable walls only explode now if they are meant to (
dmg), and always throw debris. - Real slopes: ramps in levels. The level editor has a Ramp tool: the floor slopes up to the highest neighbouring cell, smooth to walk on. Random levels climb on slopes instead of 16-unit steps, outdoor hills roll, and the Hills tool paints slopes.
- Windows between rooms: a Window tool in the editor, and a few windows in random levels. You and monsters can see through the glass, but nobody can walk or shoot through it.
- Audio polish: sounds straight ahead are a little quieter than sounds to the side, as in Quake 2, and the master volume is turned down gently when many loud sounds play at once (big fights no longer distort).
- A key hunt in random levels: on even seeds the blue key that opens the exit often lies in a vault behind red doors, and you have to find the red key first. Red key doors have a red lamp.
Full Changelog: v0.13.0...v0.14.0
Castle Quake 2 v0.13.0
Keys, ladders, slime, lava, teleporters and outdoor areas in random and edited levels. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Ladders, lava and outdoor areas in levels. The level editor has a Ladder tool (R): a ladder goes up the highest step next to the cell, and you climb it like Quake 2's (walk into it, look up). The Lava tool (I) makes glowing lava pools that hurt a lot. Quake 2's demo has no lava texture, so the game draws its own. The Hills tool paints rolling ground for outdoor areas.
- Four more themes: red and brown indoors, rock and grass outdoors.
- Random levels use ladders for some of the big climbs, have lava pits as well as slime pits, and turn big sky rooms into outdoor areas with grass or rock and rolling ground.
- Keys, slime and teleporters in levels. The level editor has a Key tool (K; Y switches between the blue and red key): those doors stay shut ("You need the Blue Key") until you bring the key, which then opens all doors of its colour. It also has a Slime tool (M): a damaging green pool. Keys and teleporters are in the entity palette; each teleporter takes you to the teleporter destination of the same number.
- Random levels lock the exit with the blue key on even seeds (with the switch on odd ones), turn a third of the pools into shallow slime pits, and put a teleporter in the secret room that takes you back to the start.
- Teleporters show their pad (the
dmspotmodel), as in Quake 2. - Autotest scripts can now stand next to things in parts of the level that are not drawn at the moment.
Full Changelog: v0.12.0...v0.13.0
Castle Quake 2 v0.12.0
Real visibility in random and edited levels: only what you can see is drawn. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Random and edited levels now have real visibility: the level compiler works out which parts of the level can see each other (like Quake 2's
qvis, on the level grid), so only what you can see is drawn and monsters only hear you through open space, as in the original maps. On a typical random level about a quarter of it is drawn at a time. - CI: the lift test accepts small differences in where the player rests on the lift.
Full Changelog: v0.11.0...v0.12.0
Castle Quake 2 v0.11.0
Lifts and switches: in the level editor and in random levels (lifts to high rooms, the exit locked behind a switch). Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Lifts and switches in levels. The level editor has a Lift tool (H;
,/.set the height): lift cells become a Quake 2 platform (func_plat) that carries you up when you step on it and comes back down. It also has a Button tool (J): a button opens the doors of its channel (C cycles channel 1–9, and the Door tool uses the current channel), and those doors then stay open. Doors without a channel still open by themselves. - Random levels use lifts to reach rooms much higher or lower than their neighbours, and lock the exit room behind doors opened by a switch somewhere along the way (checked to be reachable with the exit shut), a classic Doom / Quake progression.
- The roadmap is rewritten as a short, current priority list.
Full Changelog: v0.10.0...v0.11.0
Castle Quake 2 v0.10.0
Doors and water in random and edited levels, monsters that open doors, and Random Level / Level Editor working from the first screen (and in the browser). Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Fixed: Random Level and Level Editor in the title menu (the first screen, as in the browser build) failed to load ("Failed to load level"); the title menu passed the placeholder name instead of a new random level, and didn't open the editor.
- Doors and water in levels. The level editor has Door (O) and Water (U) tools: door cells become Quake 2 doors (
func_door, touching cells are one door) that slide up when you come near, and water cells fill up to a depth (V / B change it) to wade or swim in, with the warping water surface. Random levels put doors at some corridor entrances and sunken pools in some rooms; the generator counts swimming up out of a pool as a way out. - Monsters open doors too, like Quake 2's door trigger field (not doors with the "no monsters" spawnflag).
Full Changelog: v0.9.0...v0.10.0
Castle Quake 2 v0.9.0
Random levels and a level editor, compiled into Quake 2 maps while the game runs; monsters walk and run at their Quake 2 pace. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Random levels: Random Level in the menu or
randmap [seed]makes a level from a seed, following classic Quake / Doom design. Rooms of varied size are linked into loops (more than one way around). Low corridors climb in steps between high rooms. Big rooms get pillars for cover and raised platforms, and some rooms open to the sky. Monsters get more numerous and tougher further in, some in ambush and some only on harder skills. Weapons come in order of strength, with ammo after them, health and armor after the fights, and barrels. There is a secret room with a reward, and an exit to the next random level. The same seed always makes the same level. - Level editor: Level Editor in the menu (or
editor) to paint levels from above. You can paint walls and floors, set floor and ceiling heights, sky and texture themes, and place the player start, lights, monsters, weapons, ammo, items, barrels and the exit. It has undo, can generate a random level to start from, and saves and loads levels. Play compiles the level into a Quake 2 map and starts it at once; Export saves the.bsp. In the Castle Game Engine editor,TQuakeMap.LevelUrlshows a saved level andMapNamerand<seed>a random one, and the editor is a component too (TQuakeLevelEditor). - Levels are compiled at runtime into real Quake 2 maps (BSP tree, brushes, lightmaps, visibility), so monsters, items, triggers, saves and the exit work in them as in the original maps.
- Fixed: after a level change the game could keep testing collisions against the previous map (the player and monsters could fall through floors).
- Monsters walk and run on Quake 2's animation frames: each frame moves them by its distance from the original game's tables, so their feet keep step and every type has its Quake 2 pace — the tank plods at under half the speed it had (47 units a second), parasites lunge almost twice as fast (254), infantry and berserkers are quicker, flyers slower (100). The demo maps' monsters are now all fully supported in the map report.
Full Changelog: v0.8.1...v0.9.0
Castle Quake 2 v0.8.1
Flyers fight up close and the tank picks its attacks like Quake 2. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Flyers slash with their wing blades when the player is close (
flyer_melee: 5 damage a wing, repeated most of the time while he stays in reach), and the tank picks its attack by distance liketank_attack(rockets only beyond 250 units, blaster or machinegun closer). - Fixed: a monster with a gun swinging at the player up close (the infantry's gun butt, now the flyer's blades) could hit from as far as its gun reaches; melee hits now reach 80 units like Quake 2's
fire_hit.
Full Changelog: v0.8.0...v0.8.1
Castle Quake 2 v0.8.0
Turrets from the full game and a Quake 2 death. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Turrets (
g_turret.c): aturret_breachturns towards where itsturret_driveraims (within its pitch / yaw limits, at itsspeed), itsturret_baseturns with it, and it fires rockets (100–150 damage, faster on harder skills) from the point its target marks, once the driver has seen the player for 3 − skill seconds; the driver is an infantry that rides behind the gun, never flinches and is gibbed when killed, and the gun then levels. The demo has no turrets: CI spawns one (as boxes) with thespawncommand. - Player death like Quake 2's
player_die: the view drops (eye 8 above the origin), turns to the killer, looks a little up and rolls 40°, and the view weapon goes away; below -40 health the player is gibbed (splat, 4 pieces of meat, the view at floor level). Thekillcommand is a suicide at health 0 (no gibs, also in god mode), as in Quake 2.
Full Changelog: v0.7.0...v0.8.0
Castle Quake 2 v0.7.0
Medics bring dead monsters back. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Medics revive dead monsters (
m_medic.c): once a second a medic looks for a corpse it can see within 1024 units (the one with the most health), walks to it, uses its healing cable for a second and the monster gets up with full health, after the player; it counts towards the level's monsters again. Tested on the demo with a medic without its model (the demo has none).
Full Changelog: v0.6.0...v0.7.0
Castle Quake 2 v0.6.0
Clocks and digit displays from the full game, and models lit by the flickering and switchable lights around them. Windows, Linux and Android packages below; the browser build is at https://mariuz.github.io/castle-quake2/.
- Models are lit by all the light styles of the floor below them, like Quake 2's
R_LightPoint: monsters, items and props flicker with flickering lights and go dark when a light is switched off (they only saw the first style before); they are re-lit 10 times a second. - Clocks and displays:
func_clock(count up, count down or the time of day, once a second, firing itspathtargetwhen the time is up),target_stringandtarget_character(digit brushes showing 0-9,-and:through their texture frame), like the full game's countdowns.
Full Changelog: v0.5.0...v0.6.0