Happy new year everyone! 🎄 I’ve just released MiniECS, a minimalist ECS module for Nim. Enjoy! 🚀
Circling back to this, do any #nimlang developers have a recommendation for how to pass a pointer of an object to a foreign C function? Or dereference a C pointer?
Basically looking for the equivalent of passing &x and *x (where x is a nim object / struct).
Happy new year everyone! 🎄 I’ve just released MiniECS, a minimalist ECS module for Nim. Enjoy! 🚀
Added a new learning sample to the #kirpi framework today. This shows that small-scale platformers don’t need heavy physics engines — the collision code is just 20 lines. Enjoy. 🍻
https://github.com/erayzesen/kirpi?tab=readme-ov-file#learning-samples
#madewithkirpi #gamedev #nim #nimlang #platformer #programming
I added some learning samples for the kirpi game framework. 🦔 You can check out the source code and play the live demos directly in your browser.
https://github.com/erayzesen/kirpi?tab=readme-ov-file#learning-samples
My definition of a Christmas spirit:
writing a mod manager for #Skyrim ...
on a #NintendoSwitch ...
in #Nim
Advent of Code 2025 - Day 08
Okay, this one was tough.
Tried a dozen data structures before settling on circuit IDs + HashTable.
Accidentally mutated object fields while using them as hash table keys.
Still have no idea why the puzzle counts already-connected junction boxes, had to look it up on reddit.
Time to solve:
Part 1: almost 2 hours
Part 2: 4 minutes
Runtime: 364 ms.
Full solution at Codeberg: https://codeberg.org/janAkali/aoc25-nim/src/branch/master/day_08/solution.nim
AoC 2025 - 07 bonus #2
I'm blind, because I don't know how I didn't see this 50 minutes ago, but here's even smaller version that runs even faster. 13% faster (95 µs -> 86 µs)
AoC 2025 - 07 bonus
I've figured out a faster version of algorithm, that doesn't need a second array to add up splitted particles.
It results in a whopping 22% performance increase! (116 µs -> 95 µs)
Advent of Code 2025 - Day 07
Another simple one today.
The trick here is to keep count of how many particles are in each column, instead of tracking each beam/particle. Even a simple 1d array is enough.
Runtime: 116 μs
Full solutions at Codeberg: https://codeberg.org/janAkali/aoc25-nim/src/branch/master/day_07/solution.nim