Skip to content

v0.3.0

Latest

Choose a tag to compare

@danielriddell21 danielriddell21 released this 22 Aug 15:01
· 16 commits to trunk since this release

Changelog

  • a7c25dd1360e8d8568f9fc7924eac13ca7960a68 Initial commit
  • 98cf4cf71fdce128e1f2ae886c1adbc35bef4361 build(deps): bump actions/checkout from 6 to 7 (#7)
  • 9abc365c8c151fca8c53de46e4e778990114abae build(deps): bump actions/create-github-app-token from 2 to 3
  • 44755e357cfb5c340551b2f8837cd9aa9adef956 build(deps): bump actions/setup-go from 6 to 7 (#10)
  • 219340a11d25790a0b64e98e7978d52b95aafa83 build(deps): bump codecov/codecov-action from 6 to 7
  • 71b24878b6a280bbb0e3c44f919d51be238d9b5f build(deps): bump golang.org/x/image from 0.42.0 to 0.43.0 (#5)
  • a0d9f240c8afb04ed670dddd1f5601770fab0987 build(deps): bump golang.org/x/image from 0.43.0 to 0.44.0 (#8)
  • 3e943e0f4f993153b9fee0cd29217a736eeff8cc build(deps): bump golang.org/x/{image,text,sync,sys} to latest
  • 5f373773fff34a21b6ba46971410c3c2cb53a10e build: add GoReleaser config with Homebrew tap scaffolding
  • bed1e8258b83105c15c956e6f5a67b6441aae0c6 build: add a just demos recipe to regenerate the demo media
  • 552f14f950f5f2b29ccbe9759861541ad2ef8d17 chore(demos): regenerate clips for the crucible-adoption generation (#11)
  • e75b5d37817926ccb954ca0b68119a1eac17bbdc docs(status): state what the path-summary hook is reserved for
  • 29586666bb3906bb153d7ce6dc1b63e1b402be8e feat(app): F12 saves a HUD-free screenshot
  • 9aa44743e72b7d5ea2165c58de1cc7849b92d1b6 feat(app): add ebiten game loop and input mapping
  • f035d6bf76845f582275b1772516023583f30e80 feat(app): advance the HUD overlay each frame
  • 21c354f63752ea625842c84eca3875b5df9b3dd9 feat(app): attenuate sound effects by distance from the player
  • c26c5d7c42b9b52988ec3fc1708aaae178115502 feat(app): bind attack to mouse and key
  • 7b09636fee9f6c774345e281eee4ceb1fe306abb feat(app): choose difficulty from the settings menu
  • 0626e4c3819826e443ad3a523b5da98aa666d6cc feat(app): degrade gracefully when the audio device is unavailable
  • dcf5b926492cba4ab7b0814dbe4a2e3f0db97fdc feat(app): fullscreen and a captured mouse
  • b4c938abf0e5e4c2842b2a0965a4c1e314a799d2 feat(app): persist run history and show it on the title
  • 13f235168e3c224b66692d1157ca3b1ba4ed2226 feat(app): play sound effects and ambient music via Ebiten audio
  • 4440650b87e0fe7d4e991eb27dd22a0a1a7a897d feat(app): play the music bed and darken it with depth
  • 7fffef0d9ef206d33f62db24564143954ec7d778 feat(app): sink the ambient as the run goes deeper
  • 18a621b93532e688ba794eac533c6ea6a01fef9e feat(app): switch weapons with number keys and the wheel
  • d589f721634607753002617a2e0379c15a9ac3db feat(app): title screen, pause, settings and an attract loop
  • 684f848a5bb0277cbe04940bed9dbf22740f745e feat(app): user volume scales for sound effects and ambient
  • 217ae5599b97cb0afbc2508d5e444490aa572514 feat(audio): a darkening procedural music bed
  • c2f97619b917ec1fbd61f36a464a4a7bbea554c4 feat(audio): a menu navigation blip
  • c77e9919f1387d2224c75fbda6f7c34fbd9ff98f feat(audio): procedural sound-effect and ambient synthesis
  • b72361de5ca952addb091cf8f525b04f303250b8 feat(ci): follow goreleaser cask standards
  • 1074f652db933acaae394bd8bacdc5eb96c6f372 feat(cmd): wire HUD status messages into the session
  • e0844172ea30983d680d8e08a5956f08e6ded702 feat(cmd): wire cobra CLI with seed, width and height flags
  • 335cb8ac52c4ae6ca448a9c29951b910cd8d350f feat(gui): pause-menu controls and door/switch interaction prompts (#13)
  • 7911de00d7764f07d5b73a9f87f4d2370ce18da0 feat(hud): add message overlay with diagnostic and notice channels
  • 9f69a3224246e02b285001dfbfb8d815d16dedfd feat(hud): guard the overlay for concurrent posts
  • 528f96ce8600df2f7452c0c180aaeee790b6ff46 feat(render): DOOM-style status bar with health, armour, ammo, keys and face
  • 9f64c4a471a3d178eeb54db33e8207b2b93a0239 feat(render): add a bare-view mode that hides the HUD chrome
  • 29a0e9faa277097660f1ad928525b3106c142214 feat(render): add a procedural texture set with optional asset overrides
  • 1cc8e3be7183a1a3578ccaa55b5f1573f679d196 feat(render): add camera and per-column DDA raycaster
  • b2abc094e71d7a448c32a544b19f69e5f1439b27 feat(render): add reusable frame renderer entry point
  • 7447db44d84786713347de8618b2362e9927f118 feat(render): add wall shading and depth-sorted billboard sprites
  • 2f87dff16926be370c9ea32fd063b77f3f3e3a4b feat(render): animate demons and draw projectiles
  • 0202ff55c20b6eb89e182c998214f6422705f220 feat(render): cast textured floor and ceiling
  • 2ee92cc1207e51cda6e6fa45b874e0ceffae5302 feat(render): draw HUD messages, diagnostics gated by env var
  • ad3705ab258433bfa0652746923a8b1613044432 feat(render): draw a player health bar
  • ed8588a7e19535dad0add9d2b9922c0545ee7f6a feat(render): draw weapon viewmodel and muzzle flash
  • 2e0445d1c3355202c6116d9191f863b0ee18db30 feat(render): menu screen, crosshair and adjustable field of view
  • 2ffc936027806576b30299aaaa758231b35baf08 feat(render): texture demon sprites with transparency
  • ad38f680193cece8f05fd38e0236a94de254089f feat(render): texture-map walls
  • 70e07366da58299897fd0ad7efa610b72cca6ed2 feat(render): variable-height column renderer with step faces and height-true sprites
  • d29b46a132639def8209268d52e5de555496852f feat(render,app): darken the world as the run goes deeper
  • 2fc47f4c65a57a0e320f5d3506a5ff2ce3615626 feat(render,app): draw items, pickup notices and a level tally screen
  • 7c05aba06544da87b99483780aa442506f3189ff feat(sim): add direct turn delta input for mouse-look
  • 23d95d5f77c16a9ff91f805875353900f3b303bc feat(sim): add fists/pistol/shotgun weapons with ammo
  • 8c79e72816a31e9444ce6ae1281de109c9246092 feat(sim): add fixed-step Tick, entities and interaction
  • e62ac4b26f8b374e74bb58fb72607aef6a3ec683 feat(sim): add hitscan gunner demons
  • d8a7cc4913e4810c2c175696e83df0ac2b7bc796 feat(sim): add observation hook with no-op default
  • 2f387ab3a90717976dce5e82178efdac78144edf feat(sim): add pinky and baron demon types
  • 2b1408b8a1e29f4db025df870486bb8dad759535 feat(sim): add player attack and death-respawn firing the death signal
  • 921e83165ec3a1ec06c04605d86eec15c7e924d8 feat(sim): add player health, demon chase and contact damage
  • 1c77557ee61a6d7b37f7f29ff13a69f8a81c685a feat(sim): add player, world wrapper and grid collision
  • b76301a39858b69d0bc751bf9af54d83be89a3fc feat(sim): auto-switch weapons when the current one runs dry
  • 55a89596f4b5fb3d824d545f225ebe018e6490d4 feat(sim): collect items, absorb damage with armour, show pickup notices
  • 91e3a159b8141f4e11b1cb922e41a781da6f6810 feat(sim): difficulty levels that scale the threat
  • 7eea932a8900314781af53dbe70827ef07914e99 feat(sim): extract the goal-seeking bot into a reusable package
  • f8a9b8148181120e08b809bc30ed257902e70127 feat(sim): give demons health, kinds and a death state
  • 41a7b768e3c8189de3612d94c4ab6f382a1f2710 feat(sim): height-aware movement, gravity, lifts and projectile clearance
  • 6c672a3882a91087461ee5aa31aab60de29feebd feat(sim): let demon projectiles wound each other (infighting)
  • 73c8ac48476efa0c980518303009daea1df71f60 feat(sim): ranged demons fire projectiles
  • 1fb79737a3ae02ed0225cf7f636ed92a735f68ea feat(sim): record optimal branch on junction observations
  • a5069dbecc55349b31c14c49bdd3b301204beef3 feat(sim,render): par time on the intermission tally
  • db2ab4ff79dad41a22dc2fc34461c0002f70235a feat(sim,render): powerups — spheres, berserk, invulnerability, radiation suit
  • 5796b2d39d75ff20e47f557bae7866ab9b233007 feat(sim,render): status-bar face turns toward incoming damage
  • 6c097bc9ec76d4be8d12fdf6c9fc749f2406ddfd feat(sim,render,app): Tab-toggled automap of explored tiles
  • 5d083db68498c6956dff12e37af3965076748e9a feat(sim,render,app): chaingun, rocket launcher, ammo caps and backpack
  • 7aaca4ffdbc700c21d3f1e635dff4204e844614b feat(sim,telemetry): tally kills, items and secrets per level
  • d1c48bcee588eeb71ddf384a4d89d85f35525be8 feat(status): carry a reach floor into a fresh run
  • d1a133346e1de1da23fe29bf819ad5d230f7e6ad feat(status): deepen late-run lines toward a culmination
  • 2dfd1288bc4c12d2734b08eea50b4be02e0ba2de feat(status): factor run context into status messages
  • ee9cf409df24ccfed2d52686c3e40b471f18ff47 feat(status): post HUD messages from telemetry via a scripted source
  • 8a639e2d9166cb4e46f6bce4b4d3400ffd2d9b64 feat(status): surface lines for combat, items, secrets and deaths
  • 966e0f5da05414203f0d1f4fe06cec3ab5352549 feat(status): surface telemetry readouts from the first level
  • 798c77c91aa988390b44214dd2ba3dc77ab26020 feat(telemetry): add Subscriber interface and NopSubscriber
  • 1bbcedd9a1a27d65572568664dc2f6fd2c67298b feat(telemetry): add bus adapting sim observations to subscribers
  • 677fb481588cc7732640a55f9e598d4463af109c feat(telemetry): add event, path and run-profile structs
  • 51d3ae8a3aca020c69e8ed76553147c432b822d3 feat(telemetry): write status notices with narrata (#4)
  • 5e07b81e42a5a0fea114116946817cbe8765bb51 feat(tools): commit the demo capture tool with feature stills
  • 28c2eb2ad05e2572c5e8aa19773351ba651ab358 feat(world): add BSP room-and-corridor generator with regen-on-unreachable
  • f6b9b5b1c893ba5fd73e36c95efa5476073e7eb2 feat(world): add Level, Tile and Coord grid types
  • 1b24a78262a5d203859cac3a6bd117a3d7f44819 feat(world): add deterministic seeded rng wrapper
  • ec625cf2a16411f2f49a2212615bc96faa1781c8 feat(world): add flood-fill connectivity check
  • 3cd2fedeef61d6fb0a2c05d6389aa55c285d9db7 feat(world): annotate junctions, decoy exits and dead-end doors
  • 8068784061e1aef2157f0964d25bbf3a06bec0c5 feat(world): scatter health, armour and ammo pickups
  • 8071c7e9fbc284688661e7e3bc1734aa9546a2a5 feat(world): sculpt per-tile floor and ceiling heights
  • 756bbc755e059549c1c55cc9bbf966eac70133d9 feat(world): set-piece arena every fifth level
  • 53aad84f3a6f8aa1b6d1af6ed354ed22e162dcc1 feat(world,render): open-air sky sectors
  • 8972bb9fd8f234c7b0c7632e47584be410c93a11 feat(world,render): per-room sector lighting
  • 6a3da9907f534478fa80c0d0fd1ef30ec3a6499e feat(world,render): per-room wall themes
  • 19f314298f4868d5cecaff1c4df50a23a1d91f79 feat(world,render): see over low walls
  • e59480d86bdb79e26c57380d5d5abc1a84843aa8 feat(world,sim): hide secret rooms with rewards behind dead-end doors
  • b6e1c776882d507ab025ef431f1aaf630c368cdd feat(world,sim): lock the exit behind a keycard
  • ec738495afd8260ef8dddc2456168e692106832a feat(world,sim,app): wall switches and a switch-activated exit
  • ee65a08f41018f62ec2aa35d45a9621bad58cd27 feat(world,sim,render): damaging nukage floors
  • 4ad8fb208088e32f544f22627fd97c4d3b1438dc feat(world,sim,render): exploding barrels with chain blasts
  • 69c3ad920aee289c5f342033468e20a66e08d15b feat(world,sim,render): molten lava as a second hazard
  • f1ba342fcc5896116306f7aeaafbaf431bc41009 fix(render): occlude sprites behind low walls, lifts and ledges
  • 9ce42159692f57f00999a4ec2c1d2d935c97812b fix(render): place the muzzle flash at the barrel tip
  • da9d3b0aee9949952aac841cbb86406eb8b32665 fix(sim): allow stepping down into lower cells with normal headroom
  • 8e0ca1df78bd911267fe979e9915f1273be55b82 fix(sim): respawn pickups on death
  • f9e8ccad1be817d85d3edbfbdfc0bbe5758cb80f fix(world): carve dead-end nooks so secret rooms actually generate
  • c6e9ae0caef02f0e928415000395d998aa075dcd refactor(gui): adopt crucible/window for window setup (#12)
  • 6e2f4fecdb51f04191a35031b256e472e474f4ef refactor(render): name the distance-shading constants
  • 119890e5ca218d14a74beeed79e0f24ad105b714 refactor(render): split texture.go by subject
  • b5b78be3ddecc2ba2c3c1e02e16786d3f5c972c8 refactor(render,tools): export StatusBarH for the capture tool
  • df58d0f4b2022e289840b3625e94a1684107be6b refactor(status): deliver lines via an async emit callback
  • 56cb0693d0d1d281c353a16ddd92c9fda264ef3d refactor: adopt crucible (#9)
  • d58aed036b1993a3b84b2a09129eb227e4d53516 test(render): cover the camera, frame composition and chrome
  • 0359c03bcaf9bdf90b0d3812c4fe6247323a1e61 test(status): cover band thresholds and every cue line
  • c479e9e0f62612e5984ca2fa47fe02e70d6b13a5 test(world): table-driven determinism and connectivity tests