This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

chore: more init and minor changes

author
dev wells
date (Jun 15, 2026, 7:28 AM -0400) commit 2de59fb0 parent 0cc8c2ce change-id lorttlnp
+45 -2
+1 -1
AGENTS.md
··· 10 10 11 11 ## Default Agent Role 12 12 13 - Act as a learning-oriented pair programmer, not an autopilot implementer. 13 + Act as a learning-oriented pair programmer (socratic style, for example), not an autopilot implementer. 14 14 15 15 The primary goal is to help Devon (a principal engineer whose experience is primarily high-craft frontend development) learn Odin, Raylib, and game development while building this game. Default to planning, explanation, codebase search, tradeoff analysis, debugging help, and challenges that improve Devon's understanding. 16 16
+32
docs/devlog/02.md
··· 1 + Okay, I'm taking baby steps to building my game. 2 + 3 + The pitch is in [@vision.md](file:///Users/devonwells/code/games/prototypes/pocket/docs/vision.md). 4 + 5 + I don't want to get too far ahead of myself with the actual game design yet, I think I just want to feel things out and progress into the "5 minutes of fun" as they call it. 6 + 7 + So I'm starting to think okay what is that first 5 minutes of fun. 8 + 9 + 1. I start a run 10 + 2. I select an initial node to visit on the map 11 + 3. I do combat with an enemy where I have my focal point of turn-based rhythm combat with a single starting character 12 + 4. If I win, I collect a reward and go back to the map 13 + 14 + It feels like there's probably a step missing between starting a run and the initial node. In slay the spire you of course have a character you choose from and maybe some initial sort of build decision that maybe helps you seed the build you're going for. 15 + 16 + We probably aren't quite there yet, so I'm thinking the first basic character is maybe just a simple character with a spear and shield. Will need to flesh out that character of course but before anything else I just need to draw two characters to the screen and then start thinking on the combat ideas. 17 + 18 + Okay but first to get there probably need to just toy around a bit. 19 + 20 + I think Step 1 is simply "draw two combatants" 21 + 22 + - player idling on left 23 + - enemy idling on right 24 + - some kind of HP indication somewhere 25 + - a debug beat indicator pulsing at a 60hz derived timing 26 + 27 + Then add a 4-beat combat clock 28 + basically a fixed timestep to give me an authoritative beat to playtest against, should pulse or something on screen in time with the 4 beats 29 + 30 + Then Step 3 is figure out a simple combat, probably starting with the player 31 + 32 + Let's tackle step 1 first.
src/game/combat.odin

This is a binary file and will not be displayed.

+4
src/game/config.odin
··· 1 1 package game 2 2 3 + // config primarily concerned with 4 + // - window size, target FPS, constants 5 + // - game config 6 + 3 7 WINDOW_WIDTH :: #config(WINDOW_WIDTH, 1280) 4 8 WINDOW_HEIGHT :: #config(WINDOW_HEIGHT, 720) 5 9 WINDOW_TITLE :: #config(WINDOW_TITLE, "Pocket")
+3
src/game/game.odin
··· 2 2 3 3 import rl "vendor:raylib" 4 4 5 + // game.odin primarily concerned with init/update/shutdown hooks 6 + // e.g. "what does the platform call every frame" 7 + 5 8 @(export) 6 9 game_init_window :: proc() { 7 10 rl.SetConfigFlags({.WINDOW_RESIZABLE, .VSYNC_HINT})
src/game/map.odin

This is a binary file and will not be displayed.

+2
src/game/memory.odin
··· 1 1 package game 2 2 3 + // Memory primarily concerned with root persistent game state 4 + 3 5 Game_Memory :: struct { 4 6 run: bool, 5 7 }
+3 -1
src/game/render.odin
··· 2 2 3 3 import rl "vendor:raylib" 4 4 5 + // This file is primarily concerned with top-level rendering 6 + // orchestration and helpers 7 + 5 8 BACKGROUND_COLOR :: rl.Color{13, 15, 22, 255} 6 9 TEXT_COLOR :: rl.Color{200, 210, 230, 255} 7 10 SUBTLE_COLOR :: rl.Color{120, 132, 160, 255} ··· 14 17 15 18 rl.EndDrawing() 16 19 } 17 -