This is a collection of ideas/demos where I basically implement the intro screen or some small part of pakemon to evaluate different languages and game frameworks.
I feel like I am endlessly evaluating stuff, and writing demos, so I am hoping to lock-in to something that works well (enough), soon. I may add more features to a demo I end up wanting to pursue, but often as soon as I find an issue I move on to another evaluation. So far, raylib performs the best on pi, in general, with the most features, but is a bit more complicated to get working (need C tools, deps, etc.) It should be noted that raylib also has lots of language bindings that may or may not work ok. love is much simpler to get started with, has all the frontend features I need, and seemed to perform ok (as long as I was very careful about how I wrote things.) node-raylib might be the fastest for me to work with, with all the features I need, so I need to do more testing on pi0 to make sure it performs enough like native.
- bevy - ☢️
- deno/sdl2 - ☕ 🎬 🕸️
- dome - 🐤 🌄 🥧
- haxe - ☕ 🔈 🐈 🌄 🎬 🕸️ 🥧
- html5-canvas - ☕
- lua/love - 🌙 🔊 🐈 🌄 🎬 🕸️ 🥧
- rust/macroquad - ☢️ 🐈 🌄 🕸️ 🥧
- node/raylib - ☕ 🔊 🐈 🌄 🎬
- pygame - 🐍 🔊 🐈 🎬 🌄
- raylib - 💣 🔊 🌄 🎬 🕸️ 🥧 🐈
- rust/raylib - ☢️ 🌄 🕸️
- sdl - 💣 🕸️ 🥧
- nim/raylib-forevor 🔊 🌄 🐈
- zig/raylib - 🇿
I will maybe get around to these, eventually
- nelua/raylib - 🌙
- python/kivy
- wasm4 - it's a cute demo, but not close to the other ones
This is just what I actually implemented in the demo, not if the language/framework supports it.
- 🔈 - has sound (converted from mod to some other format)
- 🔊 - has sound (directly using mod file)
- 🌄 - parallax background implemented
- 🐈 - cat sprite animation implemented
- 🎬 - has nicely seperated scenes
- 🕸️ - built for web (or at least can be, with some work, that I may not have done in my demo setup)
- 🥧 - tested on pi0 and seems to run ok
With many of these, networking (an essential feature for talking to the backend) is going to be an issue, either on native, or on the web. Generally, the node/deno/C/rust libraries can use a 3rd party cross-environment lib (using websockets via wasm or directly), but for example love2d compiled to wasm is not at all easy to set this up for (I will need to compile my own runtime with added websockets, at C level, and in wasm wrapper.) Haxe was exceptional with this, as it used the same code on web and native (in C and neko vmachine, as well as wasm build.) With this in mind, I may drop the web as a potential target, intitially, and just focus first on getting it to run well, on the pi0.
I am getting a minor glitch on parallax, on raylib-based demos (raylib and raylib-rs). It may be how I am doing the scrolling, a type-conversion problem, or it may be a problem with offscreen-rendering in raylib. It seems to be fine in node-raylib.
- quickjs/raylib - ☕ - this seems very incomplete, but I could see it performing better than nodejs, and it's cool it can be compiled to a standalone program. Maybe I could auto-generate bindings to make it simpler, like 1-for-1 raylib C API (initially)
- auto-generated node-raylib, using FFI - ☕ - Might perform better than node-raylib and it would help get it working on 4.0 (instead of 3.5.) I had trouble building, but it can be built for 3.5 or could be updated.
- port js libray fully to web-apis - This seems huge, but I could see recreating node-raylib with browser APIs, so the code essentially works the same
- wray - 🐤 - lots of issues with deps and building, and release did not work for me
- raylib-lua 🌙 - similar issues to wray, which it's based on
- pyckitup - ☢️/🐍 - I did get this building at one time, but last I tried on linux could not build pyckitup due to rust errors
Not all of these are public, so you may get a 404.
- pakemon - prototyped ideas (in love) have been put here. This is the eventual target program for frontend.
- nullos - build SLD2/love optimized for pi0, and inject into raspbian
- nullos-alpine - ideas around similar, using alpine linux. I think raspbian/kali is probably a better base, but this is truly minimal.
- pakemon-rust - this is the start of some ideas about making a couple rust crates for frontend/backend, only backend is setup, and it's very incomplete
- lol - the beggining of a simple RPG in Godot. Currently Godot does not perform well on pi0, but I have hope it will in the future
- lol-love - the start of implementing a simple RPG in love, driven by tiled maps & other assets
- denorat - this is the basic server part of managing deployed RAT payloads, speaks over SSL-wrapped websockets
- rattata - start of rust-based manager of deployed RAT payloads. Uses tor + socket-server to obfuscate hacker's location
- amethyst-example - basic rust/amethyst boilerplate game
- personality-builder - silly tool to allow you to edit a personality animation-set for pakemon
- Cyberpunk Street Environment by ansimuz
- The Golden Ages by 4mat
- can't remember where I got the cat sprites, looked around but couldn't find it. If anyone knows, let me know!