4 ms·
WASM-4: Build retro games using WebAssembly for a fantasy console
- two_handfuls 2y agoThat looks very cool! I wonder if someone will make a VR player for those cartridges.
- deleted 2y ago[deleted]
- paxys 2y ago[flagged]
- yesco 2y agoYeah it's a bit like naming a python library "python"
- deleted 2y ago[deleted]
- foobazgt 2y agoIt's a reference to Pico-8. https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php
- Lerc 2y agoCould be worse, I called mine the KWAK-8.
- brulard 2y agoI like that one
- ramon156 2y agoKwak in dutch means either the sound of a duck or a "sploodge/splat". Both are funny tbh
- jamesgeck0 2y agoDo I understand correctly that KWAK-8 is designed such that porting applications from the fantasy console to actual hardware (or vice versa) would be relatively easy? That's pretty cool.
- deleted 2y ago[deleted]
- ayaros 2y agoThis fantasy console sure looks a lot like a Game Boy...
- indigo945 2y agoMaybe like what the Game Boy would have been if it had had a framebuffer. It's a little bit sad, actually, that WASM-4, like the Pico-8, is a framebuffer console - there's less cool tricks you can do with raster interrupts and the like.
- rob74 2y agoWere you thinking of changing the 4-color palette for every scanline, like the Atari 8-bits and the Amiga could do? Impose arbitrary limitations so you can find clever ways to circumvent them - sounds like fun!
- lxgr 2y agoThe limitations were anything but arbitrary! The Game Boy has less memory than would be required for a full frame buffer, so its “just in time rendering” of sprites and tiles is one way to support its full display resolution and still leave some space for game state in the RAM.
- epcoa 2y agoI thought it was clear that arbitrary here refers to any modern reimagining of said limitations, which obviously don’t have to be identical constraints either.
- PittleyDunkin 2y ago> The Game Boy has less memory than would be required for a full frame buffer This isn't quite true—you need 160 * 144 pixels at 2 bits-per-pixel. This weighs in at 5760 bytes. There are many other reasons why a framebuffer wasn't ideal for the hardware of the time, though.
- rob74 2y agoMight be a nice way to get into WASM development, but 4 colors sounds very limiting. Ok, I know the original Game Boy made do with only 4 "colors" (but that was on a black and white display where you probably couldn't have told the difference if there would have been more "shades of gray"), and the Game Boy Color showed these games using a palette of 4 colors, but actually even that device could show 56 colors at the same time!
- rererereferred 2y agoThe idea of the 4 colors and 160x160 screen is, from my pov, to focus on the gameplay more than the graphics. A lot of people get stopped from attempting to make games because their art skills suck, this removes that element from being an issue.
- lucasban 2y agoThe play date doesn’t even have shades of grey and has plenty of good games, arguably because of similar constraints
- rob74 2y agoOTOH, the PlayDate is a hardware device, so using a monochrome LCD makes sense for cost saving and power consumption reasons. But, even for a hardware device, once you decide you want to have a color screen, in this day and age there is no real (technical) reason anymore to limit the number of colors.
- lucasban 2y agoI agree, I think it’s more of a novelty reason, just a constraint for the sake of encouraging creativity / not just being another place for the same things we already have.
- tredre3 2y ago> so using a monochrome LCD makes sense for cost saving and power consumption reasons The Sharp Memory LCD used in the Playdate is more expensive than a similarly sized IPS LCD. Whilst power consumption was probably a consideration, the main justification was to impose a deliberate game design constraint IMHO.
- meisterglanz 2y agoTIC-80 also has WASM support but is a more capable console IMO. Here for example is a rust template: https://github.com/nesbox/TIC-80/tree/main/templates/rust https://github.com/nesbox/TIC-80/tree/main/templates/rust
- panic 2y agoOne cool thing WASM-4 has over TIC-80 is built-in networked multiplayer with rollback: https://wasm4.org/docs/guides/multiplayer https://wasm4.org/docs/guides/multiplayer
- lxgr 2y agoCan TIC-80 for Retroarch run WASM "ROMs" directly or do they have to be precompiled?
- jamesgeck0 2y agoTIC-80 is indeed a generally more capable console. The main reasons I'd personally pick WASM-4 over TIC-80 would be touchscreen controller support, more complete documentation, and better performance on resource constrained devices. (WASM-4 can run on the ESP32 and Nintendo DS, while TIC-80 struggles on the significantly more powerful 3DS.)
- davexunit 2y agoWASM-4 is a lot of fun! The programming interface is really simple and a great way to learn about the basics of WebAssmembly. No high level language necessary, just write simple programs in WAT format. We used WASM-4 at work as a very early test that our WebAssembly toolchain was working end to end, before we were able to run larger programs in web browsers. https://spritely.institute/news/hoot-wireworld-live-in-browser.html https://spritely.institute/news/hoot-wireworld-live-in-brows...
- tantalor 2y agoPleasantly surprised to see https://wasm4.org/play/untangle https://wasm4.org/play/untangle on here, remake of my original "Planarity" Flash game from 2005.
- anshargal 2y agoI wonder if anyone is working on a fantasy console with PS3-level graphics. A lot of games on Steam today have retro aesthetics and aren’t very demanding. A game runtime that works on Linux, macOS, and Windows would solve portability and digital preservation.
- tjpalmer 2y agoI'm making a wasm runtime called Taca that has approximately low-end modern capabilities that can run in either web or a separate native player. https://github.com/contextfreeinfo/taca https://github.com/contextfreeinfo/taca (I also made the intro video for WASM-4.)
- cardanome 2y ago> PS3-level graphics > retro aesthetics You are really making me feel old. That said PS1/PS2 style is pretty popular and a fantasy console in that area would be indeed great. I just hope you mistyped because PS3 is mostly modern graphics for me. Most of the games still look good if you upscale the textures a bit.
- Cthulhu_ 2y agoPS3 graphics aren't that different from modern day graphics, just lower fidelity and the hardware was a bit quirky but other than that they didn't have any particular aesthetic; I don't think the PS2 had either. The PS1 did though, the weird texture shimmering that was reproduced in for example the Bloodborne demake [0] and subsequent Bloodborne Kart, which had to be rebranded to Nightmare Kart for copyright reasons. But that one's made in Unreal Engine 4, with a forum thread [1] saying the effect can be reproduced across multiple engines like UE4, Unity and Godot, using a shader. [0] https://b0tster.itch.io/bbpsx https://b0tster.itch.io/bbpsx [1] https://itch.io/t/1999076/what-game-engine-did-you-use https://itch.io/t/1999076/what-game-engine-did-you-use
- modeless 2y agoThe web is already a game runtime that works on Linux, macOS, Windows, Android, and iOS* with decent graphics. I've ported a couple of games. Here's Quake 3 including multiplayer https://thelongestyard.link/ https://thelongestyard.link/ and Cave Story https://thelongestyard.link/cave-story/ https://thelongestyard.link/cave-story/. There are full-fledged web-native games too such as https://gooberdash.winterpixel.io/ https://gooberdash.winterpixel.io/ (2D Fall Guys) and https://krunker.io/ https://krunker.io/ or https://venge.io/ https://venge.io/ (multiplayer FPS). And of course one of the most popular recent games has a web version: https://poncle.itch.io/vampire-survivors https://poncle.itch.io/vampire-survivors * Even more platforms: Chrome OS, Meta Quest, Tesla cars, Xbox, smart fridges, etc. The web is unmatched in platform support and more importantly allows you to completely bypass the software distribution monopolies on all of them. Ship freely without anyone's permission!