The ArcadeGlyphs is a project of retro-game art, a set of generative and responsive on-chain NFTs.
Each token is a self-playing snake game, that will move every 256 blocks, thanks to a greedy AI. At game over, the NFT turns into an animation of the game.
All on-chain, no transactions. The lucky ones will see their game ending on the highest or lowest score range.
4 unique off-chain NFT-prizes can be claimed by the owners of the best games.
Max supply: 2000 at 0.01976ETH
Let it play
This collaboration between Inner Space & Captain Pixel is a celebration, on-chain, of the arcade era. It's a work inspired by all the great on-chain and generative projects (Mutant Garden Seeder, Gaussian Time Pieces, Autoglyphs, Audioglyphs, Pixelglyphs, etc...) with arcade flavor added on top: each token starts as a game, which slowly progresses every 256 blocks (~1h) until it becomes
a timeless animation of itself, forever art.
It's piece of retro-game art that wants to be arcade in spirit. Engaging, colorful and fun, but that needs at the same time to push the limits of its own technology to come to life. The same attitude that brought many legendary arcade games to existence. Remember how Nintendo managed to make the 1st 3D game for the SNES, when that was not even imaginable for that type of hardware? The same spirit resides in this project, where many barriers had to be broken to make this work happen fully on chain. One thing is different though from the classic arcade ones: these games are reeeeally slow.
Why? We wanted to bring a message: that decade is over. Our times demand that we start slowing down a little. Which does not mean necessarily to sacrifice fun: with this work we wanted to demonstrate the concept of "enjoying fewer things more fully". Something as simple as a snake game, that in the former times you would play in a few minutes, now, in this NFT, it lasts days, and every day you are curious to see how it's going. Hopefully.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! This is a link
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
To make the ArcadeGlyphs possible, it was necessary to implement an extremely gas-optimized logic to calculate the game advancement for any given token and block.
The state is calculated on the fly only according to the current block and the initially generated state. The challenge was to fit the nearly stateless game logic within a block's gas limit:
Most of the game logic is handled by a single uint256 manipulated via bitwise operations (very efficient, even compared to assembly optimized code).
Generating the final animation within the same limits required a deep dive into the SVG standard.
The game advances following a greedy strategy that tries first to decrease the Manhattan distance from head to apple and, if not possible, from head to tail.
This AI, under the right initial conditions, can bring the game quite far (farther than I ever went with Snake myself :D), but, as for most of the greedy strategies, it will make the snake crash
earlier than it could have by looking just a few steps ahead before the next move. A metaphor of the current times.
The generative strategy should make sure that the game final scores follow a normal distribution, with the highest and lowest scores at the edges. Simulations tell that low scores will be rarer than the top ones.
Min score 1, max score will be known only at the end of the last game. Given that the apple trajectory is also randomly determined, the same initial configuration could lead to different ends.
Last point: following DEAFBEEF recommendation, we decided to limit the minting to 2000 tokens, enough to let the generative algorithm explore the space without repeating itself.
In the end, there will be multiple games for each score, but all games should be unique.