Skip to content

Commit 3074ffd

Browse files
committed
Indexed README with links
1 parent 5277f8b commit 3074ffd

6 files changed

Lines changed: 269 additions & 235 deletions

File tree

README.md

Lines changed: 32 additions & 235 deletions
Original file line numberDiff line numberDiff line change
@@ -19,250 +19,47 @@ This game was developed using a combination of cutting-edge AI tools, each contr
1919

2020
The goal was simple yet audacious: **build a complete, enjoyable multiplayer game in Java using only AI prompts and requests**. No direct code writing. No manual debugging. Just describing what we wanted, and letting Kiro AI bring it to life.
2121

22-
[![Issues](https://img.shields.io/badge/🐛_Report_Issues-GitHub-red?style=for-the-badge)](https://github.com/gcclinux/Woodlanders/issues)
23-
[![Discussions](https://img.shields.io/badge/💬_Join_Discussions-GitHub-blue?style=for-the-badge)](https://github.com/gcclinux/Woodlanders/discussions)
24-
[![Buy Me A Coffee](https://img.shields.io/badge/☕_Buy_Me_A_Coffee-Support-yellow?style=for-the-badge)](https://www.buymeacoffee.com/gcclinux)
25-
[![Kiro.dev](https://img.shields.io/badge/🛠️_IDE-Kiro.dev-0EA5A4?style=for-the-badge)](https://kiro.dev/)
26-
[![Sponsor](https://img.shields.io/badge/🤝_Sponsor-GitHub_Sponsors-8A3FFC?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/gcclinux)
27-
2822
<div align="center">
2923

30-
### Multi Character selection
31-
![Latest 0.0.25](screenshots/multi-character-selection.png)
32-
*New multi character selection with multiplayer synchronisation*
24+
| Help & Issues | Join Discussions and share ideas |
25+
|----------|----------|
26+
| [![Issues](https://img.shields.io/badge/🐛_Report_Issues-GitHub-red?style=for-the-badge)](https://github.com/gcclinux/Woodlanders/issues) | [![Discussions](https://img.shields.io/badge/💬_Join_Discussions-GitHub-blue?style=for-the-badge)](https://github.com/gcclinux/Woodlanders/discussions) |
27+
| | |
3328

3429
</div>
3530

36-
### 📸 [More Woodland Screenshots](docs/SCREENSHOTS.md)
37-
38-
### The Kiro Contains: Two Powerful Approaches
39-
40-
**Kiro AI Vibe** and **Kiro Spec** are two complementary ways to work with AI in the Kiro IDE:
41-
42-
**🌊 Kiro AI Vibe** - *Conversational Flow Development*
43-
- Natural, chat-based interaction with the AI
44-
- Perfect for rapid prototyping and exploratory development
45-
- Immediate responses to "add this feature" or "fix that bug"
46-
- Ideal for quick iterations, bug fixes, and feature additions
47-
- Think of it as pair programming with an AI that never gets tired
48-
49-
**📋 Kiro Spec** - *Structured Feature Engineering*
50-
- Formalized design and implementation process
51-
- Break down complex features into requirements, design, and tasks
52-
- Incremental development with control and feedback at each stage
53-
- Perfect for large features requiring careful planning
54-
- References external files (OpenAPI specs, GraphQL schemas) for context
55-
- Think of it as having an AI project manager and developer in one
56-
57-
### The Journey: From Concept to Playable Game
58-
59-
Starting with a simple idea - "create a 2D adventure game" - we used:
60-
- **Kiro AI Vibe** for rapid feature additions: player movement, tree chopping, health systems
61-
- **Kiro Spec** for complex systems: multiplayer networking, menu systems, world generation
62-
- Pure natural language to describe mechanics: "make trees regenerate health over time"
63-
- Iterative refinement: "the collision feels off" → instant fixes
31+
<div align="center">
6432

65-
The result? A feature-rich game with:
66-
- Infinite procedurally generated worlds
67-
- Smooth multiplayer networking
68-
- Combat and resource systems
69-
- Environmental hazards and health mechanics
70-
- Professional menu systems and UI
33+
### Latest Screenshot Multi Character selection
34+
![Latest 0.0.25](screenshots/multi-character-selection.png)
35+
*New multi character selection with multiplayer synchronisation*
7136

72-
### What Makes This Special
37+
### 📸 [More Woodland Screenshots](docs/SCREENSHOTS.md)
7338

74-
This isn't just a game - it's proof of concept that complex software can be built through conversation. Every feature, every bug fix, every optimization came from describing what we wanted in plain English. The AI handled the Java, the libGDX framework, the networking protocols, and the game architecture.
39+
[![Buy Me A Coffee](https://img.shields.io/badge/☕_Buy_Me_A_Coffee-Support-yellow?style=for-the-badge)](https://www.buymeacoffee.com/gcclinux)
40+
[![Kiro.dev](https://img.shields.io/badge/🛠️_IDE-Kiro.dev-0EA5A4?style=for-the-badge)](https://kiro.dev/)
41+
[![Sponsor](https://img.shields.io/badge/🤝_Sponsor-GitHub_Sponsors-8A3FFC?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/gcclinux)
7542

76-
**Woodlanders** stands as a testament to the future of software development: where ideas flow directly from mind to machine, and the barrier between imagination and implementation dissolves.
43+
</div>
7744

7845
---
7946

80-
## 🎯 Game Overview
81-
82-
A 2D top-down multiplayer adventure game built with libGDX featuring infinite world exploration, animated characters, tree chopping mechanics, and real-time multiplayer gameplay.
83-
84-
### Performance Features
85-
- Chunk-based rendering (only visible areas)
86-
- Optimized collision detection with spatial partitioning
87-
- Efficient network message batching
88-
- Delta-time based animations and physics
89-
- Texture atlas for sprite management
90-
- Memory-efficient world generation
91-
92-
### Network Architecture
93-
- **Protocol**: Custom TCP-based protocol
94-
- **Message Types**: 20+ synchronized message types
95-
- **Synchronization**: Server-authoritative with client prediction
96-
- **Heartbeat**: 5-second keepalive with 15-second timeout
97-
- **Rate Limiting**: Configurable message rate limits per client
98-
99-
## [Installation Guide](docs/INSTALLATION.md)
100-
101-
## Controls
102-
103-
### Movement
104-
- **Arrow Keys** - Move character (Up/Down/Left/Right)
105-
- Character automatically animates based on movement direction
106-
107-
### Actions
108-
- **Spacebar** - Context-sensitive action key:
109-
- **When no item selected**: Attack nearby trees
110-
- **When item selected**: Plant item at target location
111-
- **Automatic Pickup** - Items are automatically collected when walking near them (within 32 pixels)
112-
113-
### Targeting System (When Item Selected)
114-
When you select a placeable item (e.g., bamboo sapling with key '3'), a white targeting indicator appears:
115-
- **A** - Move target left
116-
- **W** - Move target up
117-
- **D** - Move target right
118-
- **S** - Move target down
119-
- **Spacebar** - Plant item at current target location
120-
- **ESC** - Cancel targeting
121-
- **Press item key again** - Deselect item and hide targeting indicator
122-
123-
The targeting system stays active as long as an item is selected, allowing you to plant multiple items quickly without reactivating targeting.
124-
125-
### Inventory
126-
- **"i" Keys** - "i" to activate inventory slots (toggle selection)
127-
- **Arrow Keys** - Move between items (Up/Down/Left/Right)
128-
- **Spacebar** - Plant item or consume food
129-
- Selected items show a yellow highlight box
130-
131-
### Interface
132-
- **Escape** - Open/close game menu
133-
134-
### Menu Navigation
135-
- **Arrow Keys** or **Up/Down** - Navigate menu options
136-
- **Enter** - Select menu option
137-
- **Escape** - Close menu or cancel dialog
138-
- **Backspace** - Delete character in text input
139-
- **X** - Delete selected save world file (in load menu)
140-
141-
## 🎮 Game Features
142-
143-
For a comprehensive list of all game features, mechanics, and technical details, see **[FEATURES.md](docs/FEATURES.md)**.
144-
145-
### Quick Feature Highlights
146-
147-
#### World & Environment
148-
-**Infinite Procedurally Generated World** - Explore endlessly with dynamic terrain generation
149-
- 🏜️ **Multiple Biomes** - Grass and sand biomes with distinct visual styles
150-
- �️ ***Dynamic Weather System** - Random rain events that follow the player (120s duration, 2-8 minute intervals)
151-
- 🧭 **Compass Navigation** - Always points toward spawn point for easy navigation
152-
-**Worldp Save/Load System** - Save and load complete world states with separate singleplayer/multiplayer saves
153-
- 💧 **Water Puddles** - Puddles form during rain and evaporate after rain stops, adding environmental realism
154-
- 🦅 **Flying Birds** - Ambient bird formations fly across the screen in V-shape patterns from random boundaries
155-
156-
#### Character & Movement
157-
- 🏃 **Animated Player Character** - Smooth walking animations with directional sprites
158-
- 💚 **Health & Hunger System** - Dual survival mechanics with health damage and hunger accumulation
159-
-***Apple Consumption** - Restores 10% health when consumed (press number key to select, space to consume)
160-
- 🍌 **Banana Consumption** - Reduces 5% hunger when consumed (press number key to select, space to consume)
161-
- 📊 **Unified Health Bar** - Visual display showing both health (red) and hunger (blue) status
162-
- 🎯 **Precise Collision Detection** - Optimized hitboxes for all game objects
163-
- 👤 **Character Selection** - Choose from 4 character sprites (2 girls, 2 boys) with red or navy outfits; changes apply immediately after save
164-
165-
#### Trees & Resources
166-
- 🌳 **Multiple Tree Types** - Small trees, regular trees, apple trees, banana trees, bamboo trees, and coconut trees
167-
- ⚔️ **Combat System** - Attack and destroy trees with visual health bars
168-
- 🔄 **Health Regeneration** - Damaged trees slowly recover health over time
169-
- 🌵 **Environmental Hazards** - Cacti that damage players on contact
170-
- 🎋 **Bamboo Planting System** - Plant bamboo sapling on sand tiles using the targeting system; grows into harvestable bamboo trees (120s growth time)
171-
- 🎯 **Tile Targeting System** - Visual targeting indicator for precise item placement with WASD controls
172-
173-
#### Inventory & Items
174-
- 🎒 **Inventory System** - Separate inventories for singleplayer and multiplayer modes
175-
- 🍎 **Collectible Items** - Apples, bananas, bamboo sapling, bamboo stacks, and wood stacks
176-
- 🥤 **Manual Consumption** - Select consumable items and press space to consume (apples restore health, bananas reduce hunger)
177-
- 📦 **Item Drops** - Trees drop resources when destroyed
178-
- 🔄 **Network Sync** - Inventory synchronized across multiplayer sessions
179-
- ⏱️ **Hunger Accumulation** - Hunger increases by 1% every 60 seconds; death occurs at 100% hunger
180-
181-
#### Free World Mode
182-
- 🎨 **Creative Exploration** - Activate Free World mode to receive 250 of each item type instantly
183-
- 🚫 **No Save Restrictions** - All save functionality is disabled to prevent inventory persistence
184-
- 🎮 **Perfect for Creativity** - Explore and build without resource constraints or survival pressure
185-
- 👑 **Host-Only Activation** - In multiplayer, only the host can activate Free World for all players
186-
- ⚠️ **Session-Only** - Free World state resets when you exit the game
187-
188-
#### Multiplayer
189-
- 🌐 **Dedicated Server** - Standalone server with configurable settings
190-
- 👥 **Real-time Multiplayer** - Synchronized player positions, actions, and world state
191-
- 📡 **Connection Quality Indicator** - Visual network status display
192-
- 💾 **Separate Positions** - Independent player positions for singleplayer and multiplayer
193-
- 🔌 **Disconnect/Reconnect** - Graceful connection handling with last server memory
194-
195-
#### User Interface
196-
- 📋 **In-Game Menu System** - Wooden plank themed menus with ESC key access
197-
- 👤 **Player Name Customization** - Set custom player names (min 3 characters)
198-
- 🖥️ **HUD Elements** - Health bar, inventory display, compass, and connection status
199-
- 💾 **World Management** - Save, load, and manage multiple world saves
200-
- 🎨 **Custom Fonts** - Retro pixel font (slkscr.ttf) for authentic game feel
201-
- 🌍 **Multi-Language Support** - English, Polish (Polski), Portuguese (Português), German (Deutsch) and Dutch (Nederlands) with auto-detection
202-
203-
## [Java Classes](docs/CLASSES.md)
204-
205-
## Current Status
206-
207-
### ✅ Completed Features
208-
- **World System**: Infinite procedural generation with multiple biomes (grass, sand)
209-
- **Character System**: Animated player with smooth movement and directional sprites
210-
- **Tree System**: 6 tree types with health, regeneration, and unique collision boxes
211-
- **Combat System**: Attack mechanics with visual health bars and damage feedback
212-
- **Inventory System**: Full inventory with 5 item types and auto-consumption
213-
- **Item System**: Collectible items with health restoration and resource drops
214-
- **Weather System**: Dynamic rain with random events and zone-based rendering
215-
- **Biome System**: Multiple biomes with distinct textures and generation patterns
216-
- **World Persistence**: Complete save/load system with separate SP/MP saves
217-
- **Multiplayer**: Dedicated server with full world and player synchronization
218-
- **UI System**: Comprehensive menu system with wooden plank theme
219-
- **Navigation**: Compass pointing to spawn with dynamic rotation
220-
- **Network**: 22+ message types for complete multiplayer synchronization
221-
- **Server**: Configurable dedicated server with monitoring and logging
222-
- **Health System**: Player health with damage, restoration, and auto-consumption
223-
- **Collision System**: Precise hitboxes for all entities with optimized detection
224-
- **Planting System**: Plant bamboo sapling on sand tiles with growth and transformation mechanics
225-
- **Targeting System**: Visual tile-based targeting with WASD movement and persistent indicator while item selected
226-
- **Weather System**: Dynamic rain with water puddles that form during rain and evaporate after rain stops
227-
- **Flying Birds**: Ambient bird formations in V-shape patterns flying across the screen from random boundaries
228-
- **Character Selection**: Choose from 4 character sprites with immediate visual update after save
229-
230-
### 🚧 Future Enhancements
231-
- **Crafting System**: Combine resources to create new items
232-
- **Building System**: Place structures and modify the world
233-
- **Sound Effects**: Audio feedback for actions and events
234-
- **Music System**: Background music and ambient sounds
235-
- **More Biomes**: Desert, forest, snow, and ocean biomes
236-
- **Day/Night Cycle**: Dynamic lighting and time-based events
237-
- **Mob System**: Hostile and friendly creatures
238-
- **Quest System**: Objectives and progression
239-
- **Trading System**: NPC merchants and player trading
240-
- **Skills/Leveling**: Character progression and abilities
241-
242-
### Configuration Directory Locations
243-
244-
Player data and world saves are stored in OS-specific directories:
245-
246-
- **Windows**: `%APPDATA%/Woodlanders/`
247-
- **macOS**: `~/Library/Application Support/Woodlanders/`
248-
- **Linux**: `~/.config/woodlanders/`
249-
250-
### Resource Respawn Configuration
251-
252-
Resource respawn behavior is configured with hardcoded values in the `RespawnConfig.java` class:
253-
254-
- **Default respawn time**: 15 minutes (900,000 ms)
255-
- **Visual indicator threshold**: 1 minute (60,000 ms) before respawn
256-
- **Visual indicators**: Enabled by default
257-
- **Weather System**: Rain events occur randomly every 2-8 minutes, lasting 120 seconds with water puddles
258-
- **Flying Birds**: Bird formations spawn at random intervals (30-90 seconds) and fly across the screen in V-shape patterns
259-
- **Plant Growth**: Baby bamboo grows into harvestable bamboo trees after 120 seconds when planted on sand tiles
260-
261-
To customize respawn durations, modify the constants in `src/main/java/wagemaker/uk/respawn/RespawnConfig.java` and recompile the game.
262-
263-
### 🚀 [Woodland Documentation](./docs/README.md)
264-
265-
### Universal LPC Spritesheet Character Generator
266-
267-
[Universal LPC Spritesheet Character Generator](https://liberatedpixelcup.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_amber&head=Human_male_amber&sex=male&nose=Straight_nose_amber&eyebrows=Thin_Eyebrows_chestnut&hair=Messy1_light_brown&clothes=Shortsleeve_Polo_navy&legs=Long_Pants_navy&shoes=Revised_Boots_black)
268-
47+
## 📚 Documentation Index
48+
49+
### Getting Started
50+
- 📖 **[AI Development Story](docs/AI_DEVELOPMENT_STORY.md)** - Learn how this game was built entirely with AI
51+
- 🎯 **[Game Overview](docs/GAME_OVERVIEW.md)** - Features, performance, and network architecture
52+
- 🔧 **[Installation Guide](docs/INSTALLATION.md)** - How to install and run the game
53+
- 🎮 **[Controls](docs/CONTROLS.md)** - Complete guide to game controls and mechanics
54+
55+
### Technical Documentation
56+
- 💻 **[Java Classes](docs/CLASSES.md)** - Code architecture and class structure
57+
- ⚙️ **[Configuration](docs/CONFIGURATION.md)** - Settings and resource configuration
58+
- 🎨 **[Features](docs/FEATURES.md)** - Comprehensive feature list and mechanics
59+
- 📸 **[Screenshots](docs/SCREENSHOTS.md)** - Visual showcase of the game
60+
61+
### Development & Server
62+
- 🗺️ **[Roadmap](docs/ROADMAP.md)** - Completed features and future plans
63+
- 🌐 **[Server Setup](docs/SERVER_SETUP.md)** - Multiplayer server configuration
64+
- 🔥 **[Firewall Configuration](docs/FIREWALL_CONFIGURATION.md)** - Network setup guide
65+
- 🚀 **[All Documentation](docs/README.md)** - Complete documentation hub

docs/AI_DEVELOPMENT_STORY.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# 🎮 The AI-Driven Game Development Story
2+
3+
**Woodlanders** is an ambitious experiment in AI-assisted game development - a fully functional multiplayer 2D adventure game built entirely through conversational AI. This project demonstrates what's possible when human creativity meets AI capabilities: no manual coding, just natural language prompts, specifications, and iterative refinement.
4+
5+
## 🤖 AI Tools Powering This Project
6+
7+
This game was developed using a combination of cutting-edge AI tools, each contributing to different aspects of development:
8+
9+
- **Kiro IDE** (Primary) - The main development environment where most code generation, debugging, and feature implementation occurred through natural language conversations
10+
- **Amazon Q** - AI assistant embedded in Kiro IDE and available as a VSCode extension, providing intelligent code suggestions and assistance
11+
- **GitHub Copilot** - Used within Visual Studio Code IDE for the Woodlanders launcher, leveraging autocomplete and multiple dedicated LLMs
12+
- **Microsoft Copilot & Google Gemini** - AI tools for generating and identifying imagery and object items on sprite sheets, helping create visual assets
13+
14+
## The Vision: Zero-Code Game Development
15+
16+
The goal was simple yet audacious: **build a complete, enjoyable multiplayer game in Java using only AI prompts and requests**. No direct code writing. No manual debugging. Just describing what we wanted, and letting Kiro AI bring it to life.
17+
18+
## The Kiro Contains: Two Powerful Approaches
19+
20+
**Kiro AI Vibe** and **Kiro Spec** are two complementary ways to work with AI in the Kiro IDE:
21+
22+
### 🌊 Kiro AI Vibe - *Conversational Flow Development*
23+
- Natural, chat-based interaction with the AI
24+
- Perfect for rapid prototyping and exploratory development
25+
- Immediate responses to "add this feature" or "fix that bug"
26+
- Ideal for quick iterations, bug fixes, and feature additions
27+
- Think of it as pair programming with an AI that never gets tired
28+
29+
### 📋 Kiro Spec - *Structured Feature Engineering*
30+
- Formalized design and implementation process
31+
- Break down complex features into requirements, design, and tasks
32+
- Incremental development with control and feedback at each stage
33+
- Perfect for large features requiring careful planning
34+
- References external files (OpenAPI specs, GraphQL schemas) for context
35+
- Think of it as having an AI project manager and developer in one
36+
37+
## The Journey: From Concept to Playable Game
38+
39+
Starting with a simple idea - "create a 2D adventure game" - we used:
40+
- **Kiro AI Vibe** for rapid feature additions: player movement, tree chopping, health systems
41+
- **Kiro Spec** for complex systems: multiplayer networking, menu systems, world generation
42+
- Pure natural language to describe mechanics: "make trees regenerate health over time"
43+
- Iterative refinement: "the collision feels off" → instant fixes
44+
45+
The result? A feature-rich game with:
46+
- Infinite procedurally generated worlds
47+
- Smooth multiplayer networking
48+
- Combat and resource systems
49+
- Environmental hazards and health mechanics
50+
- Professional menu systems and UI
51+
52+
## What Makes This Special
53+
54+
This isn't just a game - it's proof of concept that complex software can be built through conversation. Every feature, every bug fix, every optimization came from describing what we wanted in plain English. The AI handled the Java, the libGDX framework, the networking protocols, and the game architecture.
55+
56+
**Woodlanders** stands as a testament to the future of software development: where ideas flow directly from mind to machine, and the barrier between imagination and implementation dissolves.

0 commit comments

Comments
 (0)