Rewtro is a weird retro game engine inspired by fantasy consoles and code golfing that runs games encoded in a very small amount of data (2kB/3kB). This way is possible to share games using exoteric and usually data inefficient ways: i.e. sticking some PWA magic and a QR-Code reader to the engine I’ve made a fake gaming console for mobile devices…
… that loads Quay video timeslape
s from papercraft game cartridges …
… or animated GIFs …
… simply framing them !
All the game dữ liệu ( graphic, sound, âm thanh, và code ) is encoded into the QR-Codes và no dữ liệu is stored trực tuyến – & the same goes for the game console code too, once installed on your device – so sánh scrap the paper cartridge & the game is gone. But hey … you can produce your game cartridges using just a plain printer và you can still pirate games using a copy machine lượt thích we used mập bởi with cassette duplicators in the 80 s. I hope it will bring back that retro vibes .
The game engine
The game engine implements :
- A super simple physics engine
- A sprites renderer that supports rotation and scaling
- A text renderer based on pixel fonts
- A simple event manager
- A scene loader and manager
- A sound synthesizer and basic music sequencer
- Some commands for doing the math and basic logic
- Some tilemap handling commands
- Several custom graphics encoder/decoders
- Some data packers, from old good zipping to custom algorithms suited for small data
And that’s all. No game-specific code has been coded inside the engine. Making an actual game with these few things it’s up bự you .
The development tools
Games are coded using JSON structures and I’ve built some (pretty raw) tools you can use to code your games – together with some sample games. You can find them in the carts/ subfolder: there is a viewer for built-in color palettes, screen resolutions, controls and fonts you can use in your games.
To avoid cheating or being influenced by specific games, all presets are based on actual gaming systems khung the past ( Gameboy, ZX-Spectrum và Commodore 64 ) & most of them can be overridden by custom ones encoding them into your game code. You can also find a noise generator you can use bự create sound effects that feature a pretty simple piano bàn phím for sketching some âm nhạc for your games .
But what you are going phệ use the most is the game debugger …
… & the game compiler và packager, that generates a foldable cartridge in SVG định dạng Khủng be customized và printed or an animated GIF you can show anywhere you want. Sorry for the thin toolchain : I survived with that but I’m going Khủng improve it if there is some kind of interest .
While both the game console và the SDK tools run client-side, I’ve added a pinch of PHP for reading the games tệp tin danh sách Khủng be displayed on SDK main màn hình hiển thị. Feel không lấy phí phệ replace that PHP with any alternative you can think about ( or suggest one ) .
You can have a look at a read-only phiên bản of the SDK here. Hit random buttons, thử nghiệm games, generate SVGs, etc. To play games in debugger use arrow keys và Z / X / C / V as action buttons .
The developer manual
There is a developer manual with explanations & a lot of code examples that cover everything Rewtro ! See you there !
In the carts/ folder, you’ll find the SDK and all the games I’ve developed for Rewtro till now. I’ve made 2 series of games, split by its initial:
- The V- series contains customizable greeting card games: they include a title screen, a briefing screen, a short and relatively easy gameplay, and a debriefing screen displayed once the game is cleared. Games are customizable in text, gameplay parameters, graphics and – if you feel brave – music and sounds. You can make your cartridges making a copy and renaming a V- series JSON file into the same folder, changing the data as you want with any text editor and testing and printing the games within the SDK. That’s what I did in November/December 2019.
- The K- series contains short but more complete games, mostly inspired by classics. They are harder to change but you can print them as-is and customize the printed cartridge writing a dedication or a silly doodle on the front, more like a classic greeting card.
Remember that a QR-Cart contains the whole game code, âm thanh, graphics, AND customizations so sánh, once the game is printed, you can’t change anything. If you want phệ cập nhật your game, fixing a bug or a typo, you’ve béo print the cartridge again. The previous one will be a rare bugged phiên bản of your game bự be collected jealously. Welcome mập the 80 s !
It’s Christmas thời gian, I needed some greeting cards & decided béo make some original ones this year. I liked the idea of hiding the actual greetings at the over of a customized videogame but implementing a browser game lacked the perishability of a greeting thẻ : you want béo keep them because it contains the whole experience, that is the stock message & the handwritten message. Moreover, the game itself is part of the message so sánh why keeping that outside the greeting thẻ ?
Then, building physical retro games for specific persons và hiding messages in them gives you that Petscop’s Rainer chills that’s both cool và frightening .
You can also use these paper cartridges as hints in treasure hunts, put them in geocaches, spread its parts as collectible stickers, on video advertising, for fancy business cards, etc .
Rewtro QR-Carts are cheap béo print & contain the whole game dữ liệu, are physically shareable, fun lớn copy & can be easily quality. Take the best of that .
Q. : I want béo make a Rewtro game too !
A : Have a look béo the developer manual mập learn how phệ thiết lập your development environment & start developing !
Q. : Which browser I can use for running Rewtro games ?
A : On mobi, you can use Safari on iOS và Firefox or Chrome on Android. I just have an old iMac và a Windows 10 máy tính & everything seems working on both Firefox và Chrome …
Q. : Can I run a QR-Cart on a desktop computer ?
A : While it’s quite hard béo frame a tiny QR-Code printed on paper or displayed on a dế yêu with a desktop cam, I managed mập load a game easily running the Datasette on a máy tính bảng và displaying the code đầy đủ màn hình hiển thị ( cơn sốt the buttons on top of the Datasette screen ) .
Q. : I’ve created an SVG cartridge but it looks lượt thích I’m missing a fonts …
A : I’ve used the Jost không tính tiền phông ( Jost-500-Medium. otf ). Download, install, restart your favorite vector editor & open the SVG again .
Q. : I received a QR-Cart from a friend but I’ve lost / ruined it. Can I reprint that exact copy using these source files ?
A : Probably not, sorry. QR-Carts are not a reference bự a database of games or customizations : they contain the đầy đủ game dữ liệu so sánh, if they are lost, they can’t be recovered anymore. You may try asking your friend if he can print the cartridge again … it’s a great reason lớn meet him again !
Q. : Can Rewtro load games just from a binary tệp tin ?
A : Yes, it’s doable, game files should be very small và this way you could make larger games but no, I don’t think that the feature fits the project. Rewtro tries phệ store tiny games in the smallest amount of dữ liệu possible ( at least, that’s what I tried mập bởi ) và, for that very reason, it has a limited number of commands that are thought mập be easy phệ be encoded instead of being easy Khủng use. This self-limitation was key bự make something that loads games fast from không mạng low-storage systems, lượt thích QR-Codes and – maybe in the future – audio. Other fantasy consoles & game engines don’t have such limitations và, for this reason, are easier phệ code, they can load larger games from the mạng internet or files. For these reasons, they can handle more complex games. So : if you have a reason Khủng chia sẻ tiny games using files, feel không lấy phí phệ tell me your idea. Otherwise, if you want something that shares larger games in a digital way, there are several easier alternatives out there !
Q: Why the V-PESCOP-Basic game looks glitched, features quite disturbing graphics and has cryptic gameplay?
A : If you know what Petscop is, you already have your answer .
Consider Rewtro in beta right now. I’ve not so sánh much thời gian phệ work on pet projects but I’ll try béo evolve the game engine a little more without breaking it. There is some kind of engine phiên bản tracking in the Rewtro code & encoded in cartridges but, If you want béo be extra cautious, make a snapshot of the engine & host it elsewhere – there is no URL encoded in game cartridges so sánh you’re safe .
News and contacts
I use Twitter as my main mạng xã hội. It’s probably the best place lớn be updated about Rewtro & béo liên hệ me .
Rewtro exists thanks mập these techs :
… & the great tư vấn of these people :
- Stefano Caroli
Leave a Comment