PolyTrack 0.3.1

Screenshot of PolyTrack

This update is compatible with 0.3.0, so updating is optional but recommended.

  • Added: In-game Discord link
  • Added: The escape key can now be used to close the leaderboard, track import/export and track selection screens.

  • Changed: When two leaderboard entries have the same time, the person who submitted the record first will be at the top.
  • Changed: Improved the determinism test to be more accurate to prevent invalid replays being submitted.

  • Optimized: Verification process

  • Fixed: Frame color not affecting wheels in leaderboard images
  • Fixed: A rare problem where some valid replays would be marked as invalid
  • Fixed: Long nicknames would create a line break and hide the verification status in the leaderboard
  • Fixed: The track import window was slightly overlapping the game logo
  • Fixed: Error if wheel audio plays before audio panners had been initialized

PolyTrack 0.3.0 - Checkpoints & leaderboards

Screenshot of PolyTrack
  • Added: Leaderboard
  • Added: Select opponents to play against from the leaderboard
Screenshot of PolyTrack
  • Added: Checkpoints
  • Added: Dynamic clouds
  • Added: New music
  • Added: Settings menu
    • Option for imperial units
    • Option to disable reset hint
    • Option to disable ghost car
    • Option to disable particles
    • Option to disable skidmarks
    • Graphics settings
    • Audio settings
    • Key bindings
  • Added: Cockpit camera by pressing [C] or [M]
  • Added: Checkpoint sound effect
  • Added: Editor keyboard camera controls
  • Added: Editor delete hotkey [X] or [DELETE]
  • Added: Menu button icon animations
  • Added: Track thumbnails shows checkpoints
  • Added: New tracks
    • Track 8Screenshot of PolyTrack
    • Track 9Screenshot of PolyTrack
    • Track 10Screenshot of PolyTrack
  • Added: New track parts
    • Checkpoint
    • Half block
    • Quarter block
    • Half plane
    • Quarter plane
    • Plane bridge
    • Sign arrow left
    • Sign arrow right
    • Sign arrow up
    • Sign arrow down
    • Sign warning
    • Sign wrong way
    • Wide checkpoint
    • Wall track ceiling
    • Wall track floor
    • Block sloped down
    • Block sloped down inner corner
    • Block sloped down outer corner
    • Block sloped up
    • Block sloped up inner corner
    • Block sloped up outer corner
    • Wide finish
    • Plane checkpoint
    • Plane finish
    • Plane wide checkpoint
    • Plane wide finish
  • Added: Localization
    • Arabic
    • German
    • Spanish
    • French
    • Italian
    • Japanese
    • Korean
    • Polish
    • Portuguese (Brazil)
    • Portuguese (Portugal)
    • Russian
    • Turkish
    • Ukrainian
    • Simplified Chinese
    • Traditional Chinese

  • Changed: Added checkpoints to all existing tracks
  • Changed: Car collision model to prevent bouncing when hitting barrier
  • Changed: Car handling to prevent spinning out
  • Changed: Car frame color also affect wheels
  • Changed: Base62 is now used for track codes to prevent issues with the - and _ characters
  • Changed: Track names are now also encoded to prevent issues with special characters
  • Changed: When a track has multiple starting points, the last one will be used instead of the first
  • Changed: A time difference of zero is now red instead of green
  • Changed: Car collision audio
  • Changed: Ghost car audio volume
  • Changed: The UI will be scaled down on small screens
  • Changed: The mouse cursor is shown when it is moved
  • Changed: Track thumbnail minimum zoom for very small tracks
  • Changed: The timer can also be started by reversing now
  • Changed: Slightly lighter tire color
  • Changed: Road barriers slightly lighter color
  • Changed: Editor prevent building too far from center to prevent mistakes
  • Changed: Updated ThreeJS to r155

  • Optimized: Skidmark raytracing
  • Optimized: Enabled backface culling
  • Optimized: Lowered physics activation distance
  • Optimized: Compressed tracks
  • Optimized: Compressed replays

  • Fixed: Track material being too reflective
  • Fixed: Wheels not spinning when not in contact with ground
  • Fixed: Wheels not spinning when accelerating without ground contact
  • Fixed: Engine volume when in mid-air
  • Fixed: Error when importing very large tracks
  • Fixed: Car collision audio not always playing
  • Fixed: Crackling tire audio in Firefox
  • Fixed: Car shadow shaking on some devices
  • Fixed: Game rendering in too low resolution since the pixel ratio of the device was not accounted for
  • Fixed: Tracks could not be imported if there was a whitespace in the track code
  • Fixed: Error when importing track code with an invalid character
  • Fixed: Tracks with very long names creating wide cards in track selection
  • Fixed: Fonts not loading in some browsers
  • Fixed: Physics memory leak causing crash when playing for a long time
  • Fixed: XML parse errors in Firefox console

PolyTrack 0.2.0

Screenshot of PolyTrack
  • Added: Ghost replays to race against
  • Added: Ghost replays driving on the track in the menu
  • Added: New track save format
  • Added: New tracks
    • Track 5
    • Track 6
    • Track 7
  • Added: New track parts
    • Short smooth turn
    • Long smooth turn
    • Long slope up
    • Long slope down
    • Slope with pillar at bottom
    • S-curve left
    • S-curve right
    • T-intersection
    • Cross intersection
    • Pillar with one side branch
    • Pillar with two side branches
    • Pillar with three side branches
    • Pillar with four side branches
    • Vertical track bottom round corner
    • Vertical track middle corner
    • Vertical track top round corner
  • Added: Background mountains
  • Added: Smoke particle effect from skid marks
  • Added: Up and down buttons in editor

  • Tweaked: UI rework
  • Tweaked: New logo
  • Tweaked: New font
  • Tweaked: Updated track 1
  • Tweaked: Updated car model
  • Tweaked: Rotated car in customization so it is not in shadow
  • Tweaked: Adjusted steering curve
  • Tweaked: Increased tires audio volume

  • Fixed: Timer showing "undefined" when over 10 minutes
  • Fixed: Reset part selection when leaving editor
  • Fixed: Physics were not completely deterministic
  • Fixed: Crashing into finish from underneath being detected

PolyTrack 0.1.1

  • Fixed: The UI click sound failed to load in Firefox
  • Fixed: After finishing a track, the time announcement UI would sometimes get stuck and show in the menu as well


PolyTrack is a low-poly racing game with loops, jumps and high speeds, where every millisecond counts. The game is heavily inspired by TrackMania, where you race against the clock to improve your time on different tracks.

The game includes a level editor where you can create tracks, which you can then export and share with others.

Screenshot of PolyTrack

Krossa 1.02.6 & DustSim 1.03.1

  • Fixed: Query string parameters not working since document.domain has been deprecated

New website design

My website is more than 5 years old now, so it was certainly time for a refresh. The new design uses a purple dark theme instead of the old very bright white and orange theme.

Screenshot of the new website design

I also have a new logo which is a bit more distinct than a plain orange square!

The new logo

The biggest reason for the redesign wasn't actually to just make it look nicer, but with my old website it was a bit cumbersome to add new projects and blog posts. For example, when I wanted to add a new project on my old website, I had to add code at 7 different places across the website, but now with my new website all I have to do is drag in a folder and PHP takes care of the rest.

If you find any problems with the new design you can message me on Twitter or email me.

DustSim 1.03 - The Scenario Editor

This update includes a scenario editor which you can use to modify the built-in scenarios or even create your own DustSim scenarios. These scenarios can then be saved and shared either as a link or as a string of data.

  • Added: Scenario editor
  • DustSim 1.03 screenshot
  • Added: Import/Export scenarios
  • DustSim 1.03 screenshot
  • Added: Loading screen when loading scenarios
  • Added: 12 new scenarios
    • Encounter negative
    • Encounter negative 2
    • Collision
    • Cut
    • Orbiters in ring
    • Eccentric orbits
    • Swing
    • Swing negative
    • Blender two
    • Blender four
    • Blender eight
    • Carousel
  • Added: Poles separate options for giving and receiving gravity from other poles
  • Added: Poles transparency setting
  • Added: Button for resetting all view options to default
  • Added: Setting for adjusting the gravity influence on particles
  • Added: Advanced allow super high amount of particles
  • Added: Advanced option to disable anti-aliasing
  • Added: Advanced setting show steps and time elapsed
  • Added: Touch screen support

  • Tweaked: Increased maximum amount of poles to 50 from 12
  • DustSim 1.03 screenshot
  • Tweaked: Lowered the default particle limit again due to the new advanced particle limit option
  • Tweaked: Consistent zoom on different sized screens
  • Tweaked: The outline in the pole creation tool is now easier to see
  • Tweaked: Step length is now a global setting instead of a scenario specific setting
  • Tweaked: The pole models now have more vertices to give them a smoother look
  • Tweaked: The arrow keys can now be used to change the color in a color picker instead of having to tab through every single color individually
  • Tweaked: "Max particles" renamed to "Particle limit"
  • Tweaked: "Interpolar force strength" renamed to "Pole influence"
  • Tweaked: "Pole tool" renamed to "Poles"
  • Tweaked: "Particle tool" renamed to "Particles"

  • Fixed: Gaps when creating particles and moving mouse quickly
  • Fixed: Using up/down arrow keys to move camera would scroll side tab
  • Fixed: Using arrow keys to change slider value would move the camera
  • Fixed: Some hardware(mainly mobile) were using lowp samplers causing particles to behave weirdly
  • Fixed: The scenarios "Crushing six" and "Crushing eight" were broken
  • Fixed: Poles and particles updating in an incorrect order
  • Fixed: Particle tool failing to create particles in some circumstances

DustSim 1.02 - Accessibility & Aesthetics

Accessibility is an important part of this update. All buttons and settings can now be accessed with just a keyboard. Particles and poles cannot be spawned without a mouse, but at least the preconfigured scenarios can be viewed now.

The camera can be moved using WASD or the arrow keys and zoom can be changed with Q & E. There are new shortcut keys for quickly pausing the simulation(Space or P) and for hiding the user interface(H).

The update includes several new features for changing the look of the particles, as well as changing the color of the poles and background. Many new scenarios have been added in addition to some minor optimizations and bug fixes.

  • Added: Particle sprites
  • Added: Slider for choosing the size of the particle sprites
  • DustSim 1.02 screenshot
  • Added: New particle color theme depending on the direction of travel
  • DustSim 1.02 screenshot
  • Added: New particle color theme where every particle is randomly colored
  • Added: When the single color theme is used the color can be selected instead of just being white
  • Added: Option to disable particle brightness variation
  • Added: The background color can now be changed in the view tab
  • Added: The color of the poles can also be changed in the view tab
  • Added: A slider for changing the display size of the poles
  • Added: Option to have the display size of the poles not depend on the zoom
  • DustSim 1.02 screenshot
  • Added: 18 new scenarios
    • Spinning around grid
    • Tidal force 2
    • Two orbiting rings
    • Three orbiting rings
    • Moon with ring
    • Moon inside ring
    • Symmetry 3
    • Drop two
    • Drop three
    • Drop six
    • Birds
    • Flower six
    • Flower twelve
    • Exploding flower
    • Crushing ring
    • Crushing spinning
    • Umbrella
    • Contained rings
  • Added: The camera can now be moved using the arrow keys or WASD
  • Added: All buttons, sliders and other settings are now accessible with a keyboard
  • Added: The simulation can now easily be paused by pressing Space or P
  • Added: Press H to completely hide the user interface
  • Added: The zoom percentage can now be seen in the top right corner
  • Added: Scrollbar subtle hover effect
  • Added: WebGL2 support

  • Tweaked: Moved view settings out of the settings tab to its own separate view tab
  • Tweaked: Increased the max particles limit to 37 748 736
  • Tweaked: Particle tool default amount changed to 90 000
  • Tweaked: Particle tool default random velocity changed to 5
  • Tweaked: Changed style of FPS counter to be smaller
  • Tweaked: Particle brightness renamed to particle opacity
  • Tweaked: Renamed custom particle color theme to multicolor
  • Tweaked: Interpolar force strength is now shown as percentage of default
  • Tweaked: Interpolar force strength increased max amount
  • Tweaked: Interpolar force strength increased default value
  • Tweaked: Icons are now SVGs instead of raster images
  • Tweaked: Max particles slider will be reset if switching tab before applying
  • Tweaked: Updated Three.js to r124

  • Optimized: Rendering by precomputing the projectionModelView matrix outside of the shader
  • Optimized: Simulation by not simulating unused poles

  • Fixed: Color theme would get reset if the max amount of particles was changed
  • Fixed: Zooming while dragging the view behaved weirdly
  • Fixed: FPS counter never showed less than 10 fps
  • Fixed: A bug causing the canvas to constantly resize degrading performance

Game of Life 3D 1.01.2

  • Fixed: Inaccurate simulation results on some graphics cards due to rounding errors
  • Fixed: Some UI elements being refreshed twice when scenes were loaded

Game of Life 3D 1.01.1

  • Fixed: Copy save string was not working
  • Fixed: When opening a searched pattern the correct rules, world size and other options will be set
  • Fixed: Simulation running much slower due to the wrap around option
  • Fixed: Searcher not working in Internet Explorer

Game of Life 3D 1.01

  • Added: A new much faster rendering method which can be enabled by setting Simulation, Rendering: Fast
  • Added: Quicksaving(Shortcut key: K) and quickloading(Shortcut key: L)
  • Added: Shareable save strings
  • Added: Soup searching tool which can be used to find new patterns
  • Added: Option to have walls wrap around or block
  • Added: Press Space or P to temorarily pause the simulation

  • Fixed: The application could freeze if the user switched tabs
  • Fixed: Memory leaks when changing size

  • Added: New rule presets
    • 6855: A ruleset that seems to be stable when the density is higher than 15% but fades to nothing otherwise
    • 4526: An infinitely expanding ruleset growing crystal-like structures
    • 4544: Another rapidly infinitely expanding ruleset

  • Added: A lot of new examples
    • New scenes
      • 6855 fading from 15% randomness
      • 4526 crystal growing
      • 4544 star growing
      • 2333 flat 2D conway game of life

    • Spaceships (5766 ruleset)
      • Bays's Glider
    • Oscillators (5766 ruleset)
      • Wheel
      • Skier
      • Burning ball
      • Active loaf
      • Heartbeat
      • Rocket
    • Still life (5766 ruleset)
      • Star
      • Spikes
      • Bucket
      • Big bucket
      • Beehive door
      • Beehive on boat
      • Bent tub

    • Spaceships (4555 ruleset)
      • Couch glider
      • Jellyfish
      • Jellyfish elevator
    • Oscillators (4555 ruleset)
      • Hollow rocket
      • Runner
      • Small wheel
      • Roller
      • Jumper
      • Spinner
      • Rave
    • Still life (4555 ruleset)
      • Broken block
      • L-Block
      • Hollow star
      • Tub 2
      • Diagonal block
      • Inverse star
      • Shell
      • Pond 2

Snakes without Brakes

A snake puzzle game developed for the 2020 LOWREZJAM.

Snakes without Brakes screenshot

Krossa 1.02.5

  • Tweaked: Antialiasing is now always enabled. This disables OVR_multiview2 which was not working properly on Oculus Quest
  • Tweaked: Updated Three.js to r117
  • Optimized: Better render order to allow for more early Z-testing
  • Fixed: Probably fixed black screen on Oculus Quest

Planets by Earth 1.00.1

  • Tweaked: Lowered music and ambient volume
  • Optimized: Better render order to allow for more early Z-testing
  • Fixed: Smaller fallback textures in case higher resolution textures are not supported to avoid textures failing to load

Big Bubbles 1.04.1

  • Tweaked: The distance from the mouse to the center now affects the speed
  • Tweaked: The distance from the touch point to the center now affects the speed
  • Tweaked: "Press R to restart" changed to "Press R / CLICK to restart"

  • Fixed: Could zoom with scroll wheel before game had loaded

Big Bubbles 1.04

Big Bubbles 1.04 screenshot
  • Added: Music
  • Added: Mouse controls
  • Added: Touch controls
  • Added: Gamepad controls

  • Tweaked: Checkpoints every 5 levels from which you will restart if you lose
  • Tweaked: More responsive player movement

  • Optimized: Better culling of bubbles
  • Optimized: Hide bubble level numbers if they are too small on the screen
  • Optimized: Cache and reuse color gradients for bubbles

  • Fixed: Workaround for a Chromium bug causing the game to use CPU Compositing and running super slowly
  • Fixed: The player could sometimes move before the game had started
  • Fixed: Game title would sometimes be too wide on small screens
  • Fixed: Disabled page zooming on mobile
  • Fixed: Zooming out in the beginning on small screens

Planets by Earth [VR]

What if the Moon was replaced by planets in the Solar System?

Planets by Earth is a short VR experience built with A-Frame showing what the night sky would look like if we replaced the Moon with planets in the Solar System.

The experience is built to be viewed in VR but can also be viewed without a VR-headset.

Planets by Earth screenshot

DustSim 1.01

DustSim 1.01 screenshot
  • Added: Particle colors
    • Color depending on velocity
    • Custom particle colors
    • Color picker
  • Added: New scenarios
    • Encounter 2
    • Grid
    • Moon
    • Symmetry 2
    • Two moons
    • Two negative moons
  • Added: Move view with left mouse button when no is tool selected
  • Added: Encounter as default scenario
  • Added: Scenario selection hover effect
  • Added: Navigate with 1,2,3,4 as keyboard shortcuts

  • Tweaked: Updated all scenario images to use the new colors
  • Tweaked: Moved speed slider from view to simulation settings
  • Tweaked: Updated Three.js to r114
  • Tweaked: Negative and positive attract each other rather than repell
  • Tweaked: Black scenario images rather than transparent while loading

  • Fixed: DustSim asking for permission to access VR in Firefox even though it is not a VR application

Krossa 1.02.4

  • Added: Ammo.js WebAssembly (Disabled in FF due to performance problems)
  • Added: Lite mode for standalone headsets
    • Disabled shadows
    • Disabled antialiasing
    • Two vases rather than four
    • Lower quality baseball bat

  • Tweaked: Updated Ammo.js
  • Tweaked: Easier snap turning

  • Fixed: Vase hit haptics
  • Fixed: Cloud rendering on mobile hardware
  • Fixed: Depth buffer not being cleared properly
  • Fixed: Physics bugs if physics thread takes too long to initalize
  • Fixed: Error message in some browsers(OculusBrowser)

  • Optimized: Use WebGL2 and OVR_multiview2 if possible
  • Optimized: Switched from PCFSoft to PCF shadows
  • Optimized: Less triangles in title model
  • Optimized: Lower quality for generated text
  • Optimized: Texture mipmapping and anisotropy
  • Optimized: Materials
  • Optimized: Disabled stencil buffer

Krossa 1.02.3

  • Fixed: Haptic actuators error

Krossa 1.02.2

  • Tweaked: The website link is now clickable
  • Fixed: Spatial audio

Krossa 1.02.1

  • Tweaked: Ported to the newer WebXR API, still supports WebVR through a polyfill
  • Tweaked: Updated Three.js to r113
  • Tweaked: Vase breaking sound volume
  • Tweaked: Color of menu
  • Optimized: Use instancing for trees
  • Optimized: Communication between physics and main thread
  • Fixed: Memory leaks

Game of Life 3D

A variation of Conway's Game of Life in 3D, using GPU processing for realtime simulation.

Game of Life 3D screenshot

Shielder 1.05

  • Added: Bronze, silver, gold and mastery medals which can be unlocked in each sector
  • Added: Medal unlock progress bar
  • Added: Total medals earned are now shown in place of the old level bar in the map selection screen
  • Added: Notifications which show when medals and sectors are unlocked
  • Added: After being hit by a laser the player will have one second of inviniciblity
  • Added: Player wreck
  • Added: Player health bar
  • Added: Boss health bar
  • Added: Indication in map selection on whether a boss has been defeated
  • Added: Number showing how many times a boss has been defeated
  • Added: Graphics settings screen
  • Added: Ability to quit from the pause menu
  • Added: Some preperations for the final boss

  • Tweaked: Maps are now unlocked with medals
  • Tweaked: Shield enemies burst fire
  • Tweaked: Better player shield image
  • Tweaked: Brighter colors for the blue player
  • Tweaked: Turned play and coop buttons into icon buttons
  • Tweaked: Shooting is now updated at a fixed timestep to get more accurate shooting at low framerates
  • Tweaked: Randomized boss positions a little bit

  • Fixed: The blue boss mega laser stopped doing damage too soon
  • Fixed: Coloring flickering due to floating-point inaccuracy
  • Fixed: Missing line break when multiple sectors were unlocked at the same time
  • Fixed: Trashcan icon missing if internet connection was lost before navigating to saves screen

  • Optimized: Map selection
  • Optimized: Post-processor by combining overlay filters into one
  • Optimized: Only update score UI when the score actually changed

  • Removed: Levels

Shielder 1.04

  • Added: Boss for the red section
  • Added: Boss for the green section
  • Added: Boss for the blue section
  • Added: Muzzle flashes for enemies
  • Added: New shooting sound for green drones
  • Added: New shooting sound for blue drone
  • Added: After battle enemy lights will be disabled

  • Tweaked: Better looking explosions
  • Tweaked: Bigger blue projectiles since they do more damage
  • Tweaked: Blue projectiles are now slower
  • Tweaked: Score notifications now look better when semi-transparent
  • Tweaked: Map selection back button now has an icon

  • Fixed: Colors would sometimes flash when changing color theme
  • Fixed: Shooting is now more consistent with low framerates
  • Fixed: The center of rotation of drones were wrong
  • Fixed: Slow motion post-processing effect was still present after quitting

  • Optimized: Post-processing effects
  • Optimized: Score notifications

Shielder 1.03

  • Added: The sectors are now divided into a red, green, blue and purple section with corresponding enemies
  • Added: Different colored force fields matching the section color
  • Added: The UI will change color depending on the section
  • Added: Post-processing color overlay for each section
  • Added: A lot of new sectors
  • Added: Sectors are now unlocked as the player progresses through the game
  • Added: Messages in the death screen will show when new sectors have been unlocked
  • Added: Camera shake when hit
  • Added: Pause by pressing P, space or the escape key
  • Added: The game will remember what sector was previously selected
  • Added: Pressing enter to play sector

  • Tweaked: Increased player movement speed
  • Tweaked: Increased knockback when reflecting lasers
  • Tweaked: Decreased knockback when hit by lasers
  • Tweaked: Death screen back button will return to sector selection instead of main menu
  • Tweaked: Made warnings easier to read
  • Tweaked: Added icons to more buttons
  • Tweaked: Icons now have a colored glow effect

  • Fixed: Score number formatting would break with scores higher than 1 000 000
  • Fixed: Limited player velocity and position to prevent rare cases of glitching out of the play area

  • Removed: Difficulty selection

Shielder 1.02

  • Added: Levels and XP
  • Added: Saving and save slots
  • Added: Sector 7
  • Added: Press the space bar or R to retry
  • Added: Press any gamepad button to retry

  • Tweaked: Redesigned main menu to use icons for buttons
  • Tweaked: Redesigned death screen UI to also use icon buttons
  • Tweaked: Score multiplier is no longer reset when hit
  • Tweaked: Increased score needed to increase multiplier to compensate for it no longer being reset after a hit
  • Tweaked: Increased the brightness of the slow motion filter
  • Tweaked: Increased the framerate of laser hit effects
  • Tweaked: Slightly bigger hit effects
  • Tweaked: Coop button moved from main menu to map selection
  • Tweaked: Scores will now have thousand separators
  • Tweaked: Arrow icons now have a subtle shadow

  • Optimized: Shadow are no longer generated for chunks outside of the viewport

  • Fixed: Minimized flashing of unstyled text


Simulate millions of independent particles in realtime with this physics sandbox.

DustSim screenshot

Shielder 1.01

  • Added: Map selection screen
  • Added: 5 new maps
  • Added: Options screen with SFX and music volume settings
  • Added: Post processing effect during slow motion
  • Added: Projectile interpolation
  • Added: Physics interpolation
  • Added: Glow effect for force fields
  • Added: Control movement with arrow keys
  • Added: If drones somehow manage to escape the play area they will be deleted
  • Added: Warning if WebAudio is unsupported
  • Added: Warning if WebStorage is unsupported
  • Added: Warning in the input selection screen if the Gamepad API is unsupported
  • Added: Sitelock warning

  • Tweaked: Decreased projectile damage
  • Tweaked: Better downscaling of player images
  • Tweaked: Lowered volume of click sound
  • Tweaked: Gamepad index will be shown in the input selection screen to differentiate between multiple of the same kind of controller
  • Tweaked: Changed "Keyboard & Mouse" to "Keyboard and Mouse"
  • Tweaked: Player spawn locations in multiplayer

  • Optimized: Less detailed physics models for enemies
  • Optimized: Drones outside of the viewport will not be drawn
  • Optimized: Disabled alpha channel for canvas

  • Fixed: Resume blocked audio context with user gestures
  • Fixed: Input selection UI overlapping on very small screens
  • Fixed: Keyboard input prevent default actions

Krossa 1.02

  • Added: Trees surrounding the play area
  • Added: Option to disable trees to improve performance
  • Added: Vases will not only cast shadows, but also recieve shadows on medium and high shadow quality settings
  • Added: Website and game version visible in VR menu
  • Added: Loading percentage shown inside of the loading spinner
  • Added: "Smash to start" can now be skipped with a button press
  • Added: Some support for WebXR

  • Tweaked: Doubled the shadow resolution for all shadow settings
  • Tweaked: The concrete floor is now a circle instead of a square
  • Tweaked: Slightly lowered the surrounding terrain
  • Tweaked: "Smash to start" will have a two second spawn delay to prevent starting by accident
  • Tweaked: Updated three.js to r99

  • Optimized: Physics simulation
  • Optimized: Fixed lag spikes when spawning and breaking vases
  • Optimized: Loading of models

  • Fixed: Controllers not remembering position when tracking lost
  • Fixed: Shadows of vase stands peter-panning
  • Fixed: Connecting and disconnecting VR displays should be handled better now
  • Fixed: Spawn animations of vases did not play completely
  • Fixed: Console log spam

  • Removed: Arrow showing forward direction


Defeat enemies in a laser bullet-hell using nothing but a reflective shield.

Shielder screenshot

Big Bubbles 1.03

Big Bubbles is now available on Kongregate!

  • Added: Background will darken on large scales
  • Added: Automatically zoom out when starting game
  • Added: Sound effect when leveling up
  • Added: Level number will pulse when leveling up
  • Added: Statistics will be shown while paused
  • Added: Press C to randomize color
  • Added: Better formatting for very big numbers

  • Tweaked: Automatically zoom in and out when the player size changes
  • Tweaked: Increased player movement speed
  • Tweaked: Changed "Bubbles eaten" to "Bubbles absorbed"
  • Tweaked: Leveling algorithm
  • Tweaked: Maximum and minimum zoom
  • Tweaked: Added a subtle glow to the loading spinner

  • Optimized: Bubbles outside of the viewport will not be drawn

  • Fixed: Pause text not being the same as the player color
  • Fixed: Game breaking when reaching levels higher than 1000
  • Fixed: Big level numbers being too big to fit on bubbles
  • Fixed: Being able to move before the game started
  • Fixed: Level-up target being slightly wrong
  • Fixed: Bubble levels having the wrong font while the correct font was loading
  • Fixed: Initial zoom sometimes being incorrect
  • Fixed: Rounding errors
  • Fixed: A tiny black border at the bottom of the screen
  • Fixed: Prevent cheating by having two instances of the game open
  • Fixed: Audio sounding weird in Firefox while absorbing bubbles
  • Fixed: Game not handling displays with different refresh rates correctly
  • Fixed: Game not handling displays with different pixel ratios correctly

Big Bubbles 1.02

  • Added: Leveling system
  • Added: Display current level on bubbles
  • Added: Level progress bar
  • Added: Pausing
  • Added: Internet Explorer audio fallback for some sounds

  • Tweaked: Changed starting diameter to 200 picometers instead of 200 attometers
  • Tweaked: UI color will match player color
  • Tweaked: Balanced the size of spawned bubbles
  • Tweaked: Renamed incorrect radius to diameter
  • Tweaked: Thousand separation for numbers
  • Tweaked: Loading spinner position

  • Optimized: Use ogg and mp3 audio formats

  • Fixed: Bubbles looking different in Firefox due to the way gradients are rendered
  • Fixed: Some size units were incorrect
  • Fixed: Bug with drawing really small bubbles
  • Fixed: Time played will pause if pausing or switching tabs
  • Fixed: Error spam in console if saving was not supported
  • Fixed: Audio failing to load in Safari(1.01.1)

  • Removed: Removed centimeter unit

Storage Simulator 1.03

  • Added: Shop
  • Added: Storage expansions
  • Added: Click on crates to display info
  • Added: Destroying crates in case you get stuck
  • Added: Show error if saving fails

  • Tweaked: Better menu background
  • Tweaked: UI will now have a subtle pattern instead of a solid color
  • Tweaked: Trucks will have more crates on average
  • Tweaked: Renamed packages to crates
  • Tweaked: Spaces as thousand separator instead of apostrophe
  • Tweaked: UI on small screens

  • Optimized: Replaced wav with ogg and mp3 audio formats

  • Fixed: Fading messages sometimes failed to play
  • Fixed: Audio failing to load in Safari

  • Removed: Free building

Krossa 1.01

  • Added: Main menu
  • Added: Options menu
  • Added: Shadow quality option
  • Added: Return to menu with button press
  • Added: Snap turning
  • Added: Vase spawn sound
  • Added: Loading screen
  • Added: Arrow showing forward direction

  • Tweaked: Title 3D model
  • Tweaked: Improved shading of vases
  • Tweaked: Improved textures of concrete stands
  • Tweaked: Changed sun position to provide better lighting for the menu

  • Optimized: Load models asynchronously to prevent lag spikes
  • Optimized: Compressed textures to improve loading time

  • Fixed: Black textures while loading
  • Fixed: Disconnected controllers sometimes not disappearing

SimCity4 Terrain Generator

A tool for generating random SimCity4 regions.

SimCity4 Terrain Generator screenshot

Glowets 1.02

  • Added: Countdown before game start
  • Added: Forward time during countdown to randomize player positions
  • Added: Sound while forwarding time
  • Added: Game start sound when countdown finished
  • Added: Display keys on players
  • Added: Weapon animation while shooting

  • Tweaked: Better particles
  • Tweaked: Increased health to allow for longer games
  • Tweaked: Prevent players having too similiar colors
  • Tweaked: Every other orbit will be reversed
  • Tweaked: Orbits turn white after death
  • Tweaked: Optimized glow effects
  • Tweaked: Use ogg and mp3 for audio

  • Removed: Removed glow effects checkbox since the glow is much faster now
  • Removed: Disabled random planet size and distance to make the game more fair
  • Removed: Disabled some keys from being used

  • Fixed: Rocket tails disappearing after hit
  • Fixed: Some keys were displaying incorrect characters
  • Fixed: Players could control turret after game ended

Krossa [VR]

Smash and shatter glass objects in virtual reality.

Requires a WebVR compatible browser and a VR-headset with controllers.

Krossa screenshotKrossa screenshot

Zpaco update 1.01

  • Added combat
  • Added lasers
  • Added AI ships
  • Added ship health
  • Added health bar
  • Added civilizations
  • Added political map view
  • Added wars between civilizations
  • Added pirates
  • Added money
  • Added shop for repairing
  • Added boosting when reaching 1000m/s
  • Added random galaxy looseness
  • Added info showing preview image
  • Added clicking on ships displaying info
  • Added loading screen
  • Added displaying progress during generation
  • Added ability to close dialogs with escape key
  • Added unit to atmosphere density
  • Added warning for unsupported browser features
  • Added version number
  • Tweaked planet sizes to create bigger planets
  • Tweaked star radius variation
  • Tweaked planet rotation speed
  • Tweaked speedometer to use fixed width numbers
  • Tweaked black border around planets
  • Optimized drawing stars
  • Optimized galaxy generation
  • Fixed title font not working in some browsers

Storage Simulator update 1.02

  • Added saving and loading
  • Added storage editing
  • Added multiple truck colors
  • Added new package aging textures with random variations
  • Added ghosts of requested packages
  • Added new outside floor
  • Added ambient occlusion outline effect
  • Added showing earnings/loses
  • Added new statistics: money earned, money spent, player moves, package moves
  • Added confirmation dialog before quitting
  • Added culling optimization
  • Tweaked the starting area to be smaller
  • Tweaked list of requested packages to show package type
  • Tweaked grass texture
  • Tweaked maximum used floor space from 75% to 60%
  • Tweaked statistics UI
  • Tweaked options UI
  • Tweaked menu title on small screens
  • Removed player quality option


Explore huge procedurally generated galaxies.

Zpaco screenshot Zpaco screenshot

Big Bubbles 1.01

  • Added: Animated background
  • Added: Saving - Current game will automatically save
  • Added: Collision sounds for player
  • Added: Show info on death - size, bubbles absorbed, game time
  • Added: Added version number
  • Tweaked: Better ambient underwater sound
  • Tweaked: Increased player movement speed
  • Tweaked: Game will pause after restart
  • Tweaked: Show instructions again after restart
  • Tweaked: Disabled zooming while dead

Big Bubbles

Absorb smaller bubbles to grow from infinitely small to infinitely large.

Big Bubbles screenshot

Storage Simulator update 1.01

  • Added statistics window
  • Added list of requested packages
  • Added loading screen
  • Added ability to change options during a game
  • Added truck package drop and take sounds
  • Added truck package drop and take delay
  • Tweaked footstep volume
  • Tweaked automatic package releasing

Glowets update 1.01

  • Added glow graphics option
  • Added game logo
  • Added click sound
  • Added version number
  • Tweaked sound and music volume
  • Fixed scrollbars sometimes being shown
  • Fixed page title (1.01.1)