Kacper Kostka (aider)
bb45c9fba8
refactor: Optimize rendering with chunk canvas caching and performance improvements
2025-04-05 15:49:13 +02:00
Kacper Kostka (aider)
d87105baad
feat: Ensure stone layer chunks always render and remain visible
2025-04-05 15:45:13 +02:00
Kacper Kostka (aider)
883c3d9a08
feat: Improve stone layer visibility and rendering
2025-04-05 15:40:27 +02:00
Kacper Kostka (aider)
15fb106246
fix: Add missing dirtyChunks
variable and update rendering logic
2025-04-05 15:37:55 +02:00
Kacper Kostka (aider)
60a1757ab1
feat: Optimize rendering and physics with dirty chunk tracking and adaptive update rates
...
This commit introduces several performance optimizations:
- Implement chunk-based dirty rendering
- Add adaptive physics update rates
- Return modification status from element update functions
- Reduce unnecessary rendering and physics calculations
- Track world movement for efficient re-rendering
The key changes include:
1. Adding `dirtyChunks` and `worldMoved` tracking
2. Modifying element update functions to return modification status
3. Implementing adaptive physics update rates based on FPS
4. Skipping rendering for unchanged chunks
5. Reducing computational overhead in physics and rendering loops
These optimizations should significantly improve the simulation's performance, especially with large numbers of elements.
2025-04-05 15:35:19 +02:00
Kacper Kostka (aider)
1369822dc9
refactor: Add visibility check for chunk processing in physics and render
2025-04-05 15:27:10 +02:00
Kacper Kostka (aider)
4c96226d05
perf: Optimize chunk rendering and generation by skipping off-screen chunks
2025-04-05 15:26:49 +02:00
Kacper Kostka (aider)
c7735b8578
fix: Ensure consistent terrain generation for all chunks at y=0
2025-04-05 15:24:32 +02:00
Kacper Kostka (aider)
d34a695bb8
feat: Prevent tree seeds from spawning near water
2025-04-05 15:21:34 +02:00
Kacper Kostka (aider)
9c49af57cb
refactor: Reverse noisy transition between sand and stone layers
2025-04-05 15:19:53 +02:00
Kacper Kostka (aider)
206e9eb5cc
feat: Add noisy transition between stone and sand layers
2025-04-05 15:17:38 +02:00
Kacper Kostka (aider)
908c819441
refactor: Remove floor generation and related code from world generation
2025-04-05 15:16:21 +02:00
Kacper Kostka (aider)
7aa0c1785b
feat: Add generateChunksAroundPlayer function to world.js
2025-04-05 15:14:35 +02:00
Kacper Kostka (aider)
b85ae017b8
feat: Move stone layer generation from y = -1 to y = 1
2025-04-05 15:14:14 +02:00
Kacper Kostka (aider)
eab3a9b790
refactor: Remove floor generation for second chunk at world bottom
2025-04-05 15:12:10 +02:00
Kacper Kostka (aider)
d5f46d94c3
feat: Add stone layer beneath terrain generation
2025-04-05 15:08:40 +02:00
Kacper Kostka (aider)
ec7f8f9522
feat: Spawn tree seeds 3 pixels above surface for better growth
2025-04-05 15:06:49 +02:00
Kacper Kostka (aider)
0b96238226
feat: Implement minimum 5-pixel spacing for tree seed generation
2025-04-05 15:05:51 +02:00
Kacper Kostka (aider)
170b8d0a85
refactor: Reduce tree seed generation frequency and spacing
2025-04-05 15:03:57 +02:00
Kacper Kostka (aider)
4716cbe692
feat: Add natural tree and flower seed generation on grass terrain
2025-04-05 15:02:59 +02:00
Kacper Kostka (aider)
1584600d0b
feat: Enhance grass generation with more coverage and variety
2025-04-05 15:00:12 +02:00
Kacper Kostka (aider)
7806b39a51
feat: Enhance terrain generation with more grass and water variety
2025-04-05 14:57:01 +02:00
Kacper Kostka (aider)
076f21f9ca
feat: Enhance terrain generation with noisy sand and dynamic grass coverage
2025-04-05 14:54:17 +02:00
Kacper Kostka (aider)
a31f401378
feat: Enhance terrain generation with dynamic chunk spreading and seeded randomness
2025-04-05 14:53:15 +02:00
Kacper Kostka (aider)
c35f6cd448
feat: Add procedural generation for first chunk with sand hills, water, and grass
2025-04-05 14:50:47 +02:00
Kacper Kostka (aider)
8ef18f52ab
feat: Add color variations for natural elements and dynamic water colors
2025-04-04 12:22:15 +02:00
Kacper Kostka (aider)
a86acfff3a
refactor: Spread game code into modular files for better maintainability
...
This commit reorganizes the game's source code into multiple files within a `js/` directory, creating a more modular and maintainable structure. The changes include:
- Created separate files for different game components:
- `constants.js`: Game constants and element types
- `world.js`: World management functions
- `terrain.js`: Terrain generation logic
- `physics.js`: Physics simulation
- `render.js`: Rendering functions
- `input.js`: Input handling
- `main.js`: Main game initialization and loop
- Element-specific files in `js/elements/`:
- `basic.js`: Sand, water, dirt behaviors
- `plants.js`: Grass, seeds, flowers
- `trees.js`: Tree growth and leaf generation
- `fire.js`: Fire and lava behaviors
- Updated `index.html` to load modules in the correct order
- Removed the monolithic `script.js`
The modular approach improves code readability, makes future extensions easier, and separates concerns more effectively.
2025-04-04 12:15:30 +02:00
Kacper Kostka (aider)
a5702a210f
feat: Implement procedural terrain generation with hills, lakes, and vegetation
2025-04-04 12:05:41 +02:00
Kacper Kostka (aider)
3f4f8bc09c
fix: Resolve duplicate identifier by renaming chunkY
to floorChunkY
2025-04-04 12:00:26 +02:00
Kacper Kostka (aider)
9cdf7eba78
feat: Set default world position to 0,0 and extend floor to 2 chunks deep
2025-04-04 11:59:29 +02:00
Kacper Kostka (aider)
5ef436498f
feat: Move default player position to Chunk: 0,-1 and adjust floor to bottom edge
2025-04-04 11:55:14 +02:00
Kacper Kostka (aider)
c858da4c3e
feat: Add lava element with dynamic colors and interactions
2025-04-04 11:48:06 +02:00
Kacper Kostka (aider)
d6d874ab99
feat: Add fire simulation with color variation and flammable material restrictions
2025-04-04 11:42:17 +02:00
Kacper Kostka (aider)
0788b3067d
feat: Increase tree and flower sizes for better visibility
2025-04-04 11:33:53 +02:00
Kacper Kostka (aider)
d8e868aad8
feat: Add various seeds that grow on dirt, including grass blades, flowers, and trees
2025-04-04 11:30:47 +02:00
Kacper Kostka (aider)
6ad564eea0
feat: Add new materials (dirt, stone, grass, wood) with unique behaviors
2025-04-04 11:24:14 +02:00
Kacper Kostka (aider)
a6f0baf02c
fix: Resolve mouse drawing position tracking during world dragging
2025-04-04 11:19:14 +02:00
Kacper Kostka (aider)
7fe2e5e474
feat: Add cursor outline and improve debug mode mouse tracking
2025-04-04 11:13:19 +02:00
Kacper Kostka (aider)
ef2226b1d2
fix: Resolve drawing functionality and mouse tracking issues
2025-04-04 11:12:46 +02:00
Kacper Kostka (aider)
7f16ee7427
fix: Resolve drawing coordinate calculation and add debug mode
2025-04-04 11:10:38 +02:00
Kacper Kostka (aider)
eb9900478d
feat: Add mouse-based world navigation with drag and touch support
2025-04-04 11:07:30 +02:00
Kacper Kostka (aider)
dbcf3a0e61
feat: Add floor and wall element to prevent infinite particle fall
2025-04-04 11:00:45 +02:00
Kacper Kostka (aider)
7c7d9b97fd
feat: Create optimized pixel sand simulation with chunking system
2025-04-04 10:59:44 +02:00