Release Notes
v0.3.4 BETA
- Terrain rendering improvements:
- New dynamic level of detail algorithm, draws larger chunks in distance, resulting in less draw calls and better performance.
- You can see how this works by toggling Debug Tab -> Debug Shader -> Land
- Sea bed uses the same shader as island, so they blend together better
- Extra detail is rendered into the terrain fragment shader
- You can see how this works by toggling GFX Tab -> Terrain Fragment Shader
- Morphing between islands now uses 33% VRAM
- New camera mode: Walk Camera
- Known issues:
- Crabs sometimes get stuck
This is the current beta version. Run it in your browser now
v0.3.3 STABLE
- Crab AI:
- Crabs have swarm intelligence, they tend to follow each other and form groups
- Crabs pre-emptively turn to avoid cliffs and other crabs
- Added new debug modes to visualize the crab AI
- Tree generation performance:
- Tree generation is 10x faster, achieving real-time results
- Try adjusting the climate paramters and watch the trees change in real-time
- Tree generation features:
- On Edit Tab, Props section there are two new buttons
- The Redistribute button randomizes the layout of the trees
- The Redecorate button randomizes the paramters of each tree
- Bug fixes:
- Trees wait until the land has finished morphing to spawn, so they don't appear in mid-air
- Known issues:
- Crabs sometimes get stuck
- The World Size option has been removed
This is the current stable version. Run it in your browser now
v0.3.2
- Improved performance on weak devices:
- Floor texture tiles are now cached in VRAM and reused, rather than being regenerated every frame
- On the default overview camera, this optimisation quadruples the frame rate on mobile/laptop
- Bug fixes:
- Fixed a long standing crash when spamming the regenerate button
- Fix compatibility issues with being hosted within a frame, now Crab Island works on itch.io
- Known Issues:
- Setting a non-default the World Size causes incorrect floor texture generation
v0.3.1
- Improved crab behaviour
- Crabs now spawn in shallow water near the island
- Crabs will not jump up impossible cliff faces
- Crabs will sometimes stop and change direction when stuck
- Crabs will now despawn when they get too far away from the island
- Added real time crab counter to main viewport
- Added button to respawn all crabs on the Sim tab
- Optimsations:
- Reduced texture sampling on distant land - this especially helps mobile GPUs
- GPU shader code download size reduced from ~150KB to ~50KB
- Bug fixes:
- Geometry LOD was broken during Free Camera. Now it is fixed such that nearer land uses more detailed geometry
- Known Issues:
- The crabs can still walk through each other and also through trees
v0.3.0
- The crabs are here!
- New"Sim" tab page of the UI for controlling the crabs
- Can change number of crabs spawned
- Can change the simulation speed
- Improved the sea renderering
- Objects become deeper blue as they submerge into deeper water
- The distant sea blends better with the island
- The distant sea bed now has a texture
- New debug option: Can toggle drawing of various objects
- Bug fixes:
- The free camera no longer gets stuck on the landscape, instead it will scoot along the floor
- Known Issues
- The crabs ignore most laws of physics
- The crabs can jump up cliffs, walk up steep hills, walk through each other and also through trees
v0.2.5
- In case this performance is still not good enough, there is a new Gfx tab:
- Can select Render Resolution and Texture Resolution
- These should enable mobile / low end devices to acheive playable frame rates
v0.2.4
- Graphical improvements:
- Use multisampling to improve the appearance trees
- Render at maximum pixel resolution on mobile devices
- Support for fullscreen rendering
- Support for hiding the GUI controls to allow the 3D viewport to use the whole screen
- The sea and seabed now extends out further into the distance
- New features:
- Added "free" camera mode
- Added Reset Camera button to Debug tab
- Info tab now shows the screen resolution
- Bug fixes:
- Inverted the pinch to zoom controls on mobile so that it works the same way as most other mobile apps
- Rendering resolution will now adjust when resizing the browser window
- Fixed the non-random distribution of cliffs and beaches in demo mode
v0.2.3
- Many optimisiations:
- Improved Level of Detail algorithm enabling worlds to be 16x bigger than in the previous version
- The old "VLarge" world is actually smaller than the new "Small" world setting
- Much improved frame rate on all types of GPU
- New profiling options - click the frame rate counter to choose between different CPU & GPU timing measurements
- Faster texture loading
- Reduced VRAM usage
- Updated to WGPU v0.20.0
- Streamlined GUI:
- Merged the old Demo and Design Tabs into one new tab named Edit
- Select the camera mode by clicking on the name of the camera
- New features:
- Can now edit a demo world, rather than having to start from scratch before editing
- Demo mode can now run in large world sizes
- Can choose the world morph animation - instant, fast or phased
- Demo mode has more variety, and occasionally throws in a round island
- Bug fixes:
- Fixed small cracks in the ground at the seams between chunks at different LOD levels
- The camera now properly collides with the ground, so that you can't view underneath
- Properly report error if the WebGPU adapter couldn't be initialized
- Known issues:
- On weak / mobile devices, larger worlds may run out of VRAM and freeze rather than reporting the error
- Trees instantly move into position, rather than morphing
v0.2.2
- Better trees
- Tree use different sprites per biome
- Trees now have directional lighting
- Slight tweak to spawn distribution for more interesting layouts
- Trees fade out in distance
- Tweaked biome distribution for more deserts
- Performance optimisations
- Trees use less VRAM
- Trees generate quicker, and use smaller slices of GPU time
- This makes for smoother scrolling of the climate controls
- The sky is now blue
- Updated to WGPU v0.19.3
v0.2.1
- New biome generation algorithm:
- Biomes spawn based upon temperature and humidity
- New climate controls:
- New sliders to control temperature and humidity
- Added new biome types and textures:
- Including shallow water, cold beach, snow, burnt meadow, forest and red sand.
- More variety in demo mode:
- Demo mode selects a random climate on each run
- New debug modes:
- On debug tab: show height, temperature, humidity, biome
- Optimsations:
- Reuse VRAM when cycling world maps
- Bug fixes:
- Regenerate props when sea level changes, so tree's aren't left underwater
v0.2.0
- Trees will now spawn
- Trees respect biomes and will update in real time as the biomes are updated
v0.1.6
- Fixed poor texture seams at biome boundaries - now they blend together smoothly
- Performance Improvements:
- Don't use render pipeline to compute heightmaps - use compute pipeline instead
- Reuse memory if the next heightmap is the same size as the previous
- Cache intermediate stages of heightmap computation
- Upgrade wgpu version from 0.18.0 to 0.19.1
v0.1.5
- Implemented texture mipmapping
- Improves the quality of the rendered image by reducing noise when viewing at a medium distance
- Improves performance by reducing the size of textures in the GPU cache and using less bandwidth
v0.1.4
- Fixed demo continuing to run after moving to the design tab
v0.1.3
- New tabbed GUI
- Designed to fit on an Android mobile phone
- Performance improvements
- Render terrian with flat colour while textures are still loading
- Textures now use lossy compression reducing the total size from 200MB down to 50MB
- Texture loading progress percentage now shown on the GUI
v0.1.2
- Added keyboard support
- Press the W key to zoom in or the S key to zoom out
- This is use for laptop users who could not zoom because their touch pad did not support using two fingers to do the pinch gesture
v0.1.1
- You can now pan and zoom the camera
- Click and drag to pan
- With a mouse: Use mouse wheel to zoom
- With a touch screen: Pinch to zoom
- With a touch pad: I've not tested this, who knows what happens 🤷🏻♂️
- Added textures on the terrain
- Try zooming in to see the detail
- You can now toggle the grid overlay on and off
- Known Issues:
- On first run, it might take a long time for your web browser to download the 200MB of textures
- Textures blend vertically but not laterally, so there's rough edges
- It's possible to move the camera to bad positions
- The touring camera controls don't make sense
v0.1.0
- Added biomes and a page to edit them in real time
- You can animate the biomes in either camera angle
- Added coastal erosion from the sea to form cliffs around the edge of the land
- You can edit the sea level and cliffs in real time
- Improved variety of height distribution
- You can get smooth hills, jagged mountains, cliffs vs beaches, inland lakes and small satellite islands
- Reduced VRAM usage
v0.0.9
Performance has been improved by the following 2 changes:
- Land is now rendered in chunks which change level of detail depending on distance from camera
- Chunks are rendered from front to back to reduce overdraw
Thanks to performance increases, the size and detail settings have been increased, allowing for much larger landscapes.
Lighting now looks better and is more consistent over varying size and detail settings.
v0.0.7
First version to support WebGPU. WebGL support dropped.
v0.0.6
Last version to support WebGL
v0.0.1
First version. Generates a random height map, using WebGL