Pre-Jam Preparations


The Idea

Cover

For the Autumn Lisp Game Jam 2023, having recently made a real-life version, I decided to implement Rai-Net Access Battlers from Steins;Gate. (Check it out if you haven’t, it’s amazing.) I used this fangame for research.

The tools

I’m pretty comfortable using TIC-80, and since it has Fennel support, it’s perfect for a Lisp game jam.

I’m going to write the code in Helix, currently my go-to editor.

For my VCS, I’ll use good ol’ Git.

REUSE

Most of my new projects adhere to the REUSE specification. Check out https://reuse.software for more info.

ECS

I started prototyping a simple ECS setup, and this is what I came up with:

(local systems [])
(var entities [])

(fn _G.TIC []
  (cls 14)
  (each [_ system (ipairs systems)]
    (set entities (or (system entities) entities))))

Entities are just tables, where keys are the “components”.

Systems take the world, iterate over entities and optionally return a new world.

Example system and entity:

(fn text [entities]
  (each [_ entity (ipairs entities)]
    (case entity
      {: text : x : y}
      (print text x y))))

(local systems [text])
(var entities [{:text "HELLO WORLD!" :x 84 :y 84}])

Wrapping Up

That’s it for the preparations. Hopefully I can finish something playable in time!

El. Psy. Kongroo.

Get TIC-80: Access Battlers

Leave a comment

Log in with itch.io to leave a comment.