Purpose
I’ve decided to use this workshop on game design / game development as a live test case. This Markdown document will serve as a diary or development blog, tracking my progress from concept to (hopefully) a functioning game prototype.
Since I won’t have time to work on this daily, I’ll return to it periodically. This log will help me document:
- What has been done
- Ideas and design notes
- To-dos and next steps
- ReadMe-style explanations for future reference
Initial Design Philosophy
First Rule:
Whatever a game is, I should be able to explain it verbally to a friend or colleague in 1–2 paragraphs.
First Game Concept: Zen Pivot
Inspired by Krishna’s idea, here’s the high-level description:
-
Visual Perspective: Top-down 2D view (everything seen from above).
-
Setting: A large rectangular garden. Imagine space enough to fit 100–200 chairs, but we’re only interested in one specific chair.
-
The Chair: A single, heavy iron chair with four distinct corners (legs).
-
Core Mechanic: The chair can’t just slide or lift. It must pivot around one of its legs (corners). You pick a leg, swing the chair around that pivot point, and repeat until the chair ends up in a target location and orientation.
-
Objective: Move the chair from its starting position to a goal position and orientation, using the fewest possible moves (swings / pivots).
-
Gameplay Focus: Puzzle-solving, spatial reasoning, efficiency of movement.
Next Steps / Immediate Thoughts
-
Clarify Movement Rules:
- Can the player choose any corner to pivot at each step?
- Is there a limit on direction (clockwise / counterclockwise)?
- Are obstacles allowed?
-
Decide on Development Platform:
- HTML Canvas?
- Unity?
- Pygame?
- Godot?
-
Mockup / Sketch: Quick paper or digital sketch showing the chair, the garden, and how the chair would rotate.
-
Basic Prototype Idea: Start with a simple grid-based representation, before moving to smoother, physics-based animations (if needed).
-
To-Do:
- Write game rule summary
- Create first mockup
- Choose development platform
- Set up basic project repo
Next Step: Define the MVP (Minimum Viable Game / MVG)
Goal
Create the simplest working version of the game that captures the core mechanic.
MVP Features
-
Top-down View: Display the garden and the chair (as a square with four visible corners).
-
User Interaction - Step 1: Allow the user to click on any one corner (leg) of the chair.
-
Visual Feedback: Once a corner is selected, draw three light gray concentric circles around the chosen corner. Each circle represents a possible 360-degree rotation path for one of the chair’s other three legs (if it were to swing around the selected corner).
-
User Interaction - Step 2: Allow the user to click any point along any of these three circles.
-
Action: On click, rotate (pivot) the chair so that the clicked point determines the new location of the corresponding leg. The entire chair pivots around the selected corner.
-
Tracking Progress: Increment the move counter by 1 after each pivot.
Summary
This MVP focuses purely on:
- Choosing a pivot leg
- Visualizing possible rotation paths
- Allowing rotation based on user input
- Tracking number of moves
Future steps (like win condition, obstacles, level design) can be added later.
Clarifying the Game Components and LLM Prompt Strategy
Reflection Before Building the MVG
Before jumping into building the Minimum Viable Game (MVG), two important planning steps need attention:
- Clearly define the core game components and mechanics.
- Craft an effective prompt for the LLM (e.g., Claude) to help with coding.
Core Components of the Pivot Game
-
Rendering: Draw and display essential game objects (e.g., garden, chair, corners).
-
User Interaction: Enable click-based selection (choosing a pivot corner and target point).
-
Movement Logic: Rotate (pivot) the chair according to user input.
-
State Tracking: Keep track of number of moves and current position/orientation.
-
Game Progression: Handle game flow:
- Initiation
- Progression (user actions and system response)
- Termination (when win condition is met)
-
Reset and Restart: Allow resetting the game for replay.
-
Optional Extras (for later):
- Analytics
- Scoring
- Move optimization stats
Generalized Game Design Flow (Applicable to Many Games)
- Initiation: Start the game, set initial state.
- Game Mechanics / Progression: Core interaction loop.
- Termination Condition: Check for win/lose/end state.
- Analytics / Scoring (optional).
LLM Prompt Planning
Objective: Get help from an LLM (e.g., Claude) to code the MVP/MVG in vanilla JavaScript + HTML + CSS, keeping it simple and beginner-friendly.
Prompt Content Ideas:
-
Game Description: Start with a clear, human-readable description (as if explaining to a friend).
-
Coding Request: Ask the LLM:
“Help me build a simple web-based game with no frameworks. Use plain JavaScript, HTML, and CSS.”
-
Guidance Style: Request a collaborative, question-driven approach, where the LLM can ask clarifying questions before generating code.
-
Simplicity Focus: Explicitly state:
“Keep it simple. Avoid overengineering. Start with the smallest working version.”
-
Flexibility: Be open to suggestions from the LLM on how to scope the MVG, but also ready to impose your own constraints if needed.
-
Game Mechanics First: Ensure the LLM helps you nail down the key game mechanics before writing any code.
Summary Thought
This phase is about thinking clearly, defining mechanics, and framing the right LLM prompt so that the coding process stays focused and manageable.
Diary Entry: Current Thinking (June 26, 2025)
At this point, I’m reflecting on next steps and feeling a bit undecided:
-
Planning vs. Action: I’m wondering if I need to do more planning, or if it’s time to just start building.
-
LLM Collaboration Option: It’s tempting to go to an LLM now and have a back-and-forth discussion to:
- Refine the game idea
- Let the LLM suggest improvements However, I need to stay disciplined:
Capture great LLM ideas in a “parking lot”, but keep pushing for the minimum viable version first.
- Imposing Scope Control: While LLMs are great at creative expansions, I’ll need to impose my will and repeatedly ask:
“What is the absolute minimum I need to build right now?”
-
Coding Readiness: I’m also mentally ready to open GitHub, create a repo, and start coding.
-
Technical Starting Point: My target for the first build is simple:
-
Start with a square representing the chair
-
Implement logic to move it to a new location
-
Apply the pivot rules
-
Allow multiple moves in sequence (no win condition yet)
-
Mindset Check: I may be missing steps, but this seems like a viable and actionable starting point for now.
Importance of Clear Terminology
Reflection: In past projects like ClueChain, having a clear, consistent set of terms for different game elements helped organize my thinking and communicate effectively with LLMs.
Example from ClueChain:
- Paragraph Box: Main text or story section
- Marketplace: Area where possible options or clues are displayed
- Clue Box: Area showing selected clues
- Game Score Box: Displays user progress, score, or steps taken
This mental layout helped structure the screen design and guide LLM prompts for coding.
Emerging Terminology for Pivot Game:
To maintain clarity while discussing and coding the Pivot Game, here are some terms I’m starting to settle on:
-
Chair Position: Current location and orientation of the chair.
-
Pivot Leg: The chair corner chosen as the rotation point.
-
Current Center: The pivot point (coordinates) being used for the current move.
-
New Center / Target Position: The clicked point along the rotation path where the chair should move next.
-
Pivot Rule: The logic that defines how the chair swings from current position to new position.
-
One Step / One Move: A single action where the chair pivots and the move counter increments.
-
Direction of Travel: Optional visual indicator of the chair’s rotation direction or movement vector.
Why This Matters
- Helps organize UI layout and game logic flow.
- Enables clear communication with LLMs during coding sessions.
- Useful for future documentation, slide decks, and ReadMe files.
Next Action: Start maintaining a Terminology Glossary as part of the project documentation.
Early Thoughts on Game Layout (ZenPivot)
Activity Suggestion: Paper Sketch
As part of the workshop, we’ll provide a sheet of paper and a thick black marker. Participants will be encouraged to sketch out their game layout by hand.
Reasoning: Even though it’s early, visualizing layout now helps clarify the game’s structure and user interface.
Web vs. Mobile Decision
For now, we’ll focus on building a web-based game, not a mobile app.
Core UI Components for ZenPivot (Initial MVP Layout)
Here are the essential areas we need on the screen:
-
Main Game Area: Where the game action happens. This is where the chair will appear and player makes moves by selecting pivot points.
-
Score Box: Tracks the number of moves made so far. Optional future ideas:
- Display distance to target
- Show move efficiency benchmarks (e.g., “Genius if completed in 7 moves or less”)
-
Help / Rules Button: A question mark icon or button, clickable to display basic rules or instructions.
Optional Future Enhancements (for later stages)
- Obstacles in the garden
- Irregular lawn shapes
- Dynamic difficulty targets
- Challenge scoring (e.g., move limits for gold/silver/bronze rankings)
Summary
For the initial build: Keep it simple. Focus on:
- Main Game Area
- Score Box
- Rules Button
This minimal layout is enough for the first playable version.
Micro-Interaction Idea: Real-Time Chair Outline Preview
Concept
Introduce a dynamic visual feedback feature during user interaction:
- As the user moves their cursor (mouse hover) along the possible rotation paths (the concentric circles), an outline of the chair’s potential new position is displayed in real time.
User Flow
- User selects a pivot leg.
- Concentric circles appear, indicating possible rotation paths.
-
As the user moves the cursor along these paths:
- A transparent or outlined version of the chair appears at the corresponding rotated position.
- If the user is happy with the preview, they can click the desired spot to confirm the move.
Benefits
- Provides intuitive visual feedback.
- Helps users visualize the move before committing.
- Makes the interaction feel more responsive and engaging.
Technical Note (for future implementation)
- Could be implemented using CSS transforms or Canvas drawing, depending on chosen tech stack.
- Use a distinct color or dashed outline for the preview to differentiate it from the actual chair position.
Conclusion: This is a small but impactful micro-interaction that can significantly improve user experience and control.
Here’s your closing Markdown summary for this session:
Closing Note (End of Blog Entry – June 26, 2025)
This entire blog entry—from initial thoughts to game mechanics, UI layout, micro-interactions, and LLM strategy—was completed in about 20 minutes through a conversational brainstorm with ChatGPT.
The goal was to capture my thinking process quickly and cleanly in Markdown for future reference.
Next Steps (Planned Workflow)
-
Prompt Refinement: Sometime later today (or soon), I’ll sit down with Gemini to:
- Hone my LLM prompts
- Clarify the Minimum Viable Game (MVG) design
- Possibly test Gemini’s coding suggestions
-
Actual Coding: For hands-on coding and technical back-and-forth, I’ll switch to Claude.
-
LLM Roles Recap:
LLM | Role |
---|---|
ChatGPT | Brainstorming, documentation, and initial design diary |
Gemini | Prompt engineering and design clarification |
Claude | Actual coding help and implementation |
Final Thought: This was a productive quick-start session. Next phase: LLM-driven design + first code prototype.
Here’s your quick Markdown note for slide planning:
Notes for Game Workshop Slides (From Today’s Session)
Key Workshop Activities and Concepts to Include:
-
Paper Sketch Activity: Give participants paper and markers. Ask them to sketch their game layout (helps with early visualization).
-
Explain Your Game (2 Ways):
- Explain it to a friend / colleague in 1–2 paragraphs.
- Explain it to an LLM, focusing on clarity and simplicity.
-
Minimum Viable Game (MVG) Thinking: Encourage participants to define:
-
What is the smallest, playable version of your game?
-
Identify Core Components: Ask:
-
What are the main components in your game?
-
What is the game area?
-
Where is the score shown?
-
Where are the instructions / rules displayed?
-
Layout Thinking: Prompt participants:
-
Can you lay out your screen in 3–4 key areas?
-
Is your game interface visual and understandable?
-
Naming Components: Emphasize the importance of giving clear names to each game area and mechanic, so they can communicate effectively with others (or with an LLM).