// a new editor for an old language
QUAKEC STUDIO
A modern IDE for QuakeC, the scripting language behind id Software's original Quake. Write code, press Play and watch it change in the running game, with a compiler, an agent and a map editor built in.
Coming soon. Stay frosty.
ProjectSymbols
- progs.src
- defs.qc
- subs.qc
- combat.qc
- weapons.qc
- client.qc
- player.qc
- maps
- start.map
- scenarios
- ember_bounce.scn
- AGENTS.md
Entities58
- worldspawn
- player #1
- ember #212
- info_player_start
- light ×24
- func_door ×2
- trigger_once ×3
weapons.qc client.qc
1void() W_FireEmber =
2{
3 local entity bolt;
4
5 sound (self, CHAN_WEAPON, "weapons/lhit.wav", 1, ATTN_NORM);
6 bolt = spawn ();
7 bolt.owner = self;
8 bolt.movetype = MOVETYPE_FLYMISSILE;
bolt.movetype = MOVETYPE_BOUNCE;
bolt.cnt = 1; // bounces left
9 bolt.classname = "ember";
10 bolt.effects = EF_DIMLIGHT;
11
12 makevectors (self.v_angle);
13 bolt.velocity = v_forward * 450;
14 bolt.touch = Ember_Touch;
15 setorigin (bolt, self.origin + '0 0 16');
16};
Gamepaused at 12.8s
Propertiesember #212
- classname
- "ember"
- origin
- '412 -96 88'
- velocity
- '450 0 0'
- movetype
- MOVETYPE_FLYMISSILE
- effects
- EF_DIMLIGHT
- nextthink
- 17.80
- touch
- Ember_Touch
- owner
- player #1
Ask about this entity
Agentcheckpoint 3
Make the ember bounce off one wall before it explodes.
- symbol.references Ember_Touch, 3 refs
- edit.apply weapons.qc +6 -1
- compile 0 errors, 0.21s
- scenario.run ember_bounce 1/1
1 hunk to reviewAcceptReject
@ember #212 Ask, or type / for commands
Problems 0ConsoleDebugger
Planned features
-
Press Play
Save and see the change in the running game in about a second. Pause, click any entity, and inspect or edit its fields.
-
Its own compiler
A QuakeC compiler built in, so there's no outside toolchain to install. Errors show up as you type, next to the line that caused them.
-
Knows QuakeC
Go to definition, find references, rename and hover docs for builtins like
spawnandtraceline, across your wholeprogs.src. -
An agent that tests
A built-in agent uses the same commands you do: it edits, compiles and runs scenarios, then hands you each change to accept or reject. Also over MCP.
-
Map editor
Brushes and entities in the same project as your code, with entity definitions read from your QuakeC. Compile the map and play from where you're standing.
-
Mac, Windows, Linux
One native app, written in Rust. Bring your own copy of Quake; the Steam and GOG releases are found for you.