I feel like, rather than having no sound at all, the ability to output a PC-speaker-like beep (i.e. turn on/off a fixed-frequency, fixed-amplitude square wave channel) might be nice. No parameters because otherwise you might get distracted trying to trick it into sounding vaguely musical ;)<p>I’ve also always wanted to see something like this but with emoji for the “graphics.” (Emoji are, after all, the standard graphics resource pack of our era—like DOS box-drawing characters were for the 80s.) Maybe stick them as labels on a grid of buttons, resulting in a similar look to <i>Chip’s Challenge</i>.
Wow, this is fantastic, what a great idea.<p>I've spent the morning knocking up a little Space Invaders clone, it's the most fun I've had programming in ages. It's at <a href="https://incoherency.co.uk/24invaders/" rel="nofollow">https://incoherency.co.uk/24invaders/</a> and the logic is mostly done, just got some graphics work to do.<p>I got into programming as a teenager by making shitty games, first with Blitz Basic, and then with the Allegro C library.<p>My favourite parts of the Allegro community were the annual "speedhack" in which people create a game over a weekend, and the informal "screenhack" in which you create a game that must fit in 80x25 characters of C code. 24a2 brings back all the joy of those challenges for me.
I just love it. I can’t wait to make a bunch of toys with this.<p>I do think some very primitive sounds might be a good option. Don’t even use files. Just use the AudioContext and provide an enumeration of a couple beeps and boops. And I 100% support if the answer to this is “avoiding scope creep”
Nice! I think you could do a port of the classic Milton Bradley board game "You sunk my Battleship!" with this ;)<p><a href="https://en.wikipedia.org/wiki/Battleship_(game)" rel="nofollow">https://en.wikipedia.org/wiki/Battleship_(game)</a>
Is importing P5 a requirement for this engine to work? I know “minimal” can mean a lot of things to different people, but I don’t think it P5 adds much that you couldn’t trivially do without it in this case, and by stripping that dependency away you’d be able to make a very strong case for this being an ultra minimal engine.
I love the minimal API, but this would really be awesome if it was a hosted fantasy console style environment with zero boiler plate and shareable links. I know that sounds like a minor difference, but having to write even a little bit of boilerplate in a minimalist environment is a source of friction. Also, as said by many people in this thread, a simple sound API (PC speaker style sounds, sfxr, 10 hard-coded effects, etc) should be added.
I find that any game created with this game engine ends up being far more code-heavy and complex than it would be without using it. In my mind, this invalidates the argument of using an ultra-minimalist game engine at the first place...
tl;dr A javascript framework with a canvas output of 24x24 grid of dots. These dots can adopt nine distinct colors. Default input is arrow keys or mouse click on one of the dots. Includes a short eight section tutorial and api doc for two classes (game, gameconfig) and two enumerations (color, direction). Has example games for snake and 'skiiing' (wall avoidance on a linear path).
I just made my first game[0] with the engine!!<p>It was a pretty painless experience. Granted it encourages globals (and JavaScript is not my favorite) but it was pretty great.<p>Maybe with an additional array/matrix library it would be perfect.<p>[0] <a href="https://andrewnc.github.io/games/pal_game.html" rel="nofollow">https://andrewnc.github.io/games/pal_game.html</a>
Here's Samegame in 24a2:<p><a href="https://kentbrew.neocities.org/samegame/" rel="nofollow">https://kentbrew.neocities.org/samegame/</a><p>Wishing for a mouseover event....
Strong shades of <a href="https://perlenspiel.net/" rel="nofollow">https://perlenspiel.net/</a> (though probably convergent evolution) - something to look at if you want just <i>slightly</i> more (variable-sized grid, pixel borders, sounds).
I have no idea if this is any good compared to existing game engines, but the limits imposed by its simplicity certainly tickle my creativity. If nothing else, it could be a great prototyping space.<p>One question: have you considered making it mobile friendly somehow? Given that all of the examples require arrow keys, it's a bit hard to demo on a phone.