P#121825 2022-12-04 21:04
P#121810 2022-12-04 17:34 ( Edited 2022-12-05 23:57)
P#119553 2022-10-25 20:12 ( Edited 2022-10-26 15:34)
P#118338 2022-10-01 23:56 ( Edited 2022-10-02 22:14)
P#102471 2021-12-12 15:21 ( Edited 2022-12-07 23:22)
This is a visualisation of a 3-layer perceptron learning to approximate the XOR function.
At some point I would like to make an educational cart like this one to explain what's happening under the hood.
The perceptron is a tiny computing unit that is a fondamental block of artificial neural networks.
Because machine learning is getting more important everyday, I thought I would share the little knowledge I have in the form of a chewable educart, hoping more people would get interested in the inner workings of machine learning algorithms.
Tell me if you found this useful and if I should make more. Also, I'm not a ML specialist and English is not my primary language so any suggestions to make this cart better will be appreciated!
My main source for this cart is Daniel Shiffman's wonderful "Nature of Code" as well as the Coding Train video series on neural networks.
This is my take on the wave function collapse algorithm in one of its simple variants : the simple tiled model.
Given a set of tiles and some adjancency rules, the algorithm tries to produce an image. It can be used for levels generation, pattern-like backgrounds and can also be used for non-visual data.
This cart contains a few demo tilesets and rulesets that you can navigate between with the left and right arrows.
Sometimes the algorithm gets stuck (shown with red tiles). This happens when there is a contradiction : the rules won't allow any tile to be placed on a position. Press X or O to restart.
I suggest you look at the links provided below for more information about the algorithm.
For this specific implementation, I used bitfields to encode adjacency rules : each tile has a list of 4 integers (for the four directions : up, right, down, left). Valid neighbors are determined by comparing (with a binary AND) the opposite bitfields of each tiles : 1 can connect with 1, 3 can connect with 2 and with 1,...
This is just me trying to simulate fire in Pico8 without shaders or fancy particle systems.
My approach is :
The brightness value (which is just a color from 0 to 7) is mapped to a fire shade with pal().
There are other particle systems for bursts of sparkles and fireflies.
Any thought? What would be your approach?
A bright yellow ship is launched at full speed across the universe.
Mission code is Fulmosago. The objective : a small and well-guarded planet.
Based on Basic Shmup Tutorial by Lazy Devs Academy.
In menus, press X or C to confirm.
In game, use arrow keys to move your ship.
The ship will shoot automatically when there are enemies. Hold C to force shoot. Hold X to prevent autoshooting.
Listen to the soundtrack on SoundCloud.
This is my second Pico-8 game. The Lazy Devs Academy tutorial series served as a basis. From there, my main goal was to tell a simple but impactful story within a limited play time.
Year 4096. A burried building with lasers and traps. How many lives will it take to leave this place ?
This game is my first Pico-8 game. It is also the first game I manage to finish after a few attempts with game engines such as Unity and Godot. It took me 1 month to complete the first published version. The Pico-8 restrictions allowed me to define a manageable scope for this game. In the end, I used the entire space available in the map editor and the spritesheet editor. The code uses every token allowed.