itch.io Spring Selects Series A
On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Andrew

355
Posts
2
Topics
54
Followers
42
Following
A member registered Jul 02, 2017 · View creator page →

Creator of

Recent community posts

Awesome, you’re welcome :)

Thanks a lot! Glad you liked it 🤗

I think you’re describing an array of structures, and you’re one step away from greatly increasing the performance — if you just reverse the storage and have a struct of arrays with the same semantics, the whole thing would be much more cache friendly (unless, of course, there is value boxing in play, which could be avoided at least for some values in Common Lisp, but is generally a PITA for performance).

The comparison of the syntax for defintions also might be fruitful, I still haven’t figured the perfect way to define entities, components and systems in code. Here’s how your example will look using my library now:

(ecs:bind-storage)

;; provided myentity, position and sprite components are defined elsewhere
(ecs:make-object `((:myentity) (:position :x 1 :y 1) (:sprite "path/to/sprite")))

(defsystem render
 (:components-ro (position sprite))
 (draw-sprite :x position-x :y position-y sprite-path))

Note how in defsystem macro I just write the body of code to process the single entity with no looping logic (it is kinda embeeded into macro itself). I also use quasiqoute to build an object spec to be passed to make-object (kinda similar to your create-world, but for single object). I can’t remember, does Scheme has quasiquoting?

cannot query on component values

This is correct for most of ECS implementations there are, but I went ahead and implemented hashtable-based indices in my library, akin to the ones in relational databases. They allow to answer the question “which entity or entities has this specific value as this component’ slot?” I think it might come in handy in implementing things like entity names or prefabs. I’m already using those to e.g. distinguish different images in texture atlas: https://github.com/lockie/mana-break/blob/0.0.1/src/atlas.lisp#L13-L18

Thanks, glad you liked it!

Sorry about the crash, I’ll try do dig into that. It was going to just display a message box, you’ve missed nothing fancy :)

Played it using the alternative link. A lovely puzzle indeed!

Thank you very much for your feedback! Happy that you liked it :)

I’ll definitely think about minigames and drag-select.

Thank you! 🤗

I see Guile gains more and more traction running in a browser, nice one!

Oh, server-based game from fellow commonlisper, noice one. Also having no JS is very interesting solution indeed 👍

Hey, very nice for the first game!

I’ve laughed so hard at soundtrack 😂

Kudos for running Chicken scheme in a browser 😊

Same issue here on 64bit Linux.

Kudos for great anime reference and interesting devlog 🤗

Very cute graphics and relaxing gameplay 😊

Surprisingly addictive and fun to play 😊

Thanks! 🤗

The balancing is indeed not perfect. Character picking also takes some time getting used to.

I knew adding the names was right move :)

So cute 🥰

I’m also suprised by the Racket capabilites, 3D game in a browser within 700 loc — cheers :)

Loved the overall 90-s like aesthetics of it!

Turns out, I’m surprisingly bad at solving rubik cube 😅

Had to install Chrome dev, but it was totally worth it, loved the aesthetics and old arcade machine vibe so much!

Awesome, I always was captivated by code generating music and the whole algorave thing. Oh, and making your own Lisp for Lisp game jam is pretty dope. Nice job!

That was my first contact with the Playdate console, and the game looks very cute and easy to play. I loved it!

Took me some figuring out to move backwards when the time is reversed 😅

The main character is quite cute, have you drawn her yourself?

Worked on my Linux pretty much flawlessly, I’m going to have a closer look at your deploy mechanics :)

I loved the minimalistic interface and the “next wave” pseudographics. It was also easy to run, I only had to symlink Chez binary I have installed with the name “scheme”.

I wonder if you’ve used any tools to measure cache hit efficiency by your ECS library? I reckon I’ve seen such tools (even in Valgrind suite), but haven’t used them yet myself.

Thanks for the input! 🤗

I was kinda aiming at meditative pace. Nothing is more relaxing that watching other people work 😅

Thanks! I’ll also study your library, it looks great 😊

(2 edits)

Hi! I just wanted to share a tutorial I just published that goes into detail of developing a videogame using Common Lisp, liballegro and ECS framework of my own, cl-fast-ecs. Here it is: https://awkravchuk.itch.io/cl-fast-ecs/devlog/622054/gamedev-in-lisp-part-1-ecs-and-metalinguistic-abstraction.

Let me know if you have any questions or suggestions 😊

Hey David! The link to readme gives me 404. This one does not: https://git.dthompson.us/chickadee-game-template/tree/README.md?h=main

Haha, I haven’t seen those in a while :)

Thank you for playing!

Thank you so much! Glad you liked it :)

Ah, talking to chanserv helped, thanks! I’ll give it a go when I’ll have the time.

I also somehow moved from Lisp Game Jam into Linux Game Jam O_o

The idea sounds amazing, but unfortunately I can’t get past maintbot who just writes and has just a few commands about some ticket. /LIST does not do anything, /JOIN asks for channel name, random text just gets me “No target” reply. Tried both ERC and KVIrc to no avail. Perhaps having a few n00b pointers in MOTD might help (or perhaps it is my IRC skills that are way too rusty 😅)

Such an interesting project, I love interacting with those entities :) I only hope there were more locations than just lobby, cafe and arcade.

Oh, and in the fancy terminal I wasn’t able to see what I type, but the fallback terminal is even better.

By the way, the game binary run with no problems at all, I guess I should finally make myself learn some Guix package management to also effortlessly deploy stuff :)

Quite addictive gameplay mechanic, I enjoyed it!

(Even though it looks like I have some kind of visual glitch on my machine:

An amazing twist to the decades-old game, so cool!

Also ASCII interface and Vi keybinds are definitely refreshing :)

A nice simulation, I loved it!

Also kudos for using raylib from fellow commonlisper :)

Ooh, a chicken scheme, nice. The binary run on my machine with no trouble at all.

An interesting gameplay mechanic! And clear sense of progression. Simple yet elegant :)

I’ve managed to score 13k points before my flabby reflexes let me down 😅

You’re very welcome!

I’ve been meaning to learn more about Guix for some time as well.

Subscribed to your blog via Atom so that I won’t miss your post :)

So nice, I’ve enjoyed overall Mario/Pokemon atmosphere, and found all of the mushrooms, even though I’m not a big fan of platformers usually :) The backtracking was also unobtrusive, and the clues pretty clear.

This is so good, I was dreaming of creating something roguelike-ish myself. The graphics are simple but easily understandable (unlike the regular ASCII graphics games which are barely readable).

Killer tomato was something I’d never hoped to expect though :D

Great job!