Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Skaruts/Game-of-Life-in-multiple-languages

The result of me learning multiple languages/frameworks over time
https://github.com/Skaruts/Game-of-Life-in-multiple-languages

game-of-life gdnative godot godot-nim love2d lua nim python raylib sfml tic-80

Last synced: about 1 month ago
JSON representation

The result of me learning multiple languages/frameworks over time

Awesome Lists containing this project

README

        

# Game of Life in Multiple Languages
I always make a Game of Life when learning a new language or framework, and since over the years I've jumped around between quite a few of them, eventually I ended up with a bunch of Games of Life made in a variety of languages and frameworks. Ultimately, it has also given me a first hand perspective of the difference in performance between the languages/frameworks.

I'm gathering them in this repo just for the heck of it, as I clean them up in my spare time.

---

Most of the implementations are just a bare bones GoL with the simplest algorithm. A notable exception is the TIC-80 version (Lua), which was made to be more of a game/toy where you can play with some drawing tools and whatnot.

All (or most) of them have a scalar variable `m` that can be given the values `1`, `2`, `4`, `8` or `16`, to make the cells bigger/smaller, respectively: `m=1` makes cells of `16x16` pixels and an `80x50` grid, and `m=16` makes cells of `1` pixel in a `1280x800` grid.

###### (Note: if the above isn't true in some particular case, there will probably be a comment next to it explaining how exactly the variable works.)

All of them use the same generation algorithm(s), which is the fastest among the simplest I could come up with so far. They were writen as learning excercises, so I didn't bother with more. Although the simplest algorithm isn't all that bad anyway. I'm not unhappy with it. Maybe one day I'll manage to wrap my head around more complicated algorithms, but that day hasn't come yet.