Please sign in to access this page

Sand Simulation

Sand Simulation

18 devlogs
35h 56m
•  Ship certified
Created by JameDev

This project teaches me Lua and löve2d. I also learned how to compile a LÖVE2D game with makelove and make it playable in the web via lovejs.
It is a simple sand (and more elements) simulation built with Lua, LÖVE2D and the suit library.

Game Tested on:
- Windows 11
- Android (via Löve2d app)
- Web (Chrome)

Timeline

Ship 3

1 payout of shell 283.0 shells

JameDev

7 months ago

JameDev Covers 3 devlogs and 11h 34m

Shipping the project again! Now with oil, dust, and ash!
Most of the work went into rewriting the element system. Hopefully the game is still enjoyable!

Update attachment

Added Oil that can burn,
rewrote the element sytem, so its waaay easier to implement new elements now (only need a module and data in another module, not hard coded into the main.lua anymore)
Rewrote fire, because it wasn't working on more than 1 element (plant was fine, but dust and oil were buggy)

Update attachment

Added more elements (fire, ash, dust) , started optimizing the game, working on new way to implement elements that is a lot easier
Buttons are currently in a random order (idk why), going to fix that soon hopefully

Update attachment

Ship 2

1 payout of shell 383.0 shells

JameDev

8 months ago

JameDev Covers 8 devlogs and 13h 18m

Improved hovering over buttons placing sand, no more placing issues on the top bar.
Last devlog before v0.2.0-alpha ship

Update attachment

New Rendering method that has almost double the performance (in the windows binary form), web version hasn't changed performance

Update attachment

Added logic for plant
Improved Buttons Colors using suit

Overhauled the build script to make it work with suit and some other complications

Update attachment

Made sand color random and static
Made water color random and noisy
Made basic plant element (not interacting with water yet)
Improved cursor drawing (now a perfect circle)
Improved the element calculations to alternate the directions it is being calculated from so the elements (like water) don't move more into one direction

Update attachment
  • made the buttons centered and start a new row
  • started adding a random color for sand, needs to be improved tho
  • made it impossible to place elements behind the buttons (and next to them)
  • let my younger brother make the preview screenshot :)
Update attachment

Started using a UI library called suit to make it easier to implement more buttons for elements. Everything besides font colors are working in this screenshot.

Update attachment

Tried improving the water physics with various approaches but failed, reverted back to the original state

Update attachment

Ship 1

1 payout of shell 143.0 shells

JameDev

9 months ago

JameDev Covers 7 devlogs and 11h 3m

The game can now be played in the Web thanks to lovejs and makelove!
https://jamedevofficial.github.io/SandSimulation/

Update attachment

Centered the whole game on the x axis
Added wall element
Made a build script to build the game for windows, macos and lovejs
(Time since ACTUAL last Devlog: 1h 21min, hackclub is a bit behind)

Update attachment

A lot of improvements in the background that can be read on the github commits, and added some more Debug Infos and hotkeys.

Update attachment

Water is now fully working! It still has some little imperfections but they aren't severe, just the water spiking up if there are too many pixels of water interacting with each other. Personally, I like this feature, as it looks like waves are beeing generated from the sand falling into it or too much water appearing!

Update attachment

added selection for different modes:
- empty
- sand
- water

made cursor size adjustable in code
fixed some bugs causing the game to crash

Update attachment

Sand can now spawn and fall down. It also distributes to prevent Stacks without a Pyramide shape.

Update attachment

Made the basic grid system work with love2d. It is resizing to the frame width and height and always keeps a 1:1 ratio.
Had a few struggles in the beginning with setting up love2d, but after watching a youtube video instead of following a complicated and outdated guide it worked very easily.

Update attachment