Free online tools to generate, calculate,
convert, format, encode, and play.
 

Pixel Game Maker

Build pixel-art adventure games and interactive stories in the browser using Odyc.js. Design a tile map, assign colors and behaviors to characters, then share your game via a single link.


Starter:
Game Code
Ctrl+Enter to run  •  Arrow keys to move  •  Enter to dismiss dialogs
Preview Click to focus game
Link copied to clipboard!

How It Works

Odyc.js is a minimalist game engine that renders grid-based worlds on an HTML canvas. You define a map as an array of strings. Each character in the map refers to a sprite defined in the sprites object. The sprite marked player: true is controlled by the arrow keys.

Sprites with solid: true block movement. Set dialog to a string to show text when the player touches a tile. For dynamic behavior, use the onenter callback. It receives the player entity, the tile entity, and a utils object with utils.remove() to remove the tile and utils.dialog(text) to show a message.

Click Share to copy a URL that encodes your entire game. Anyone who opens the link sees the game load immediately. All code runs locally in the browser and no data is sent to any server.

Quick API Reference

Sprite propertyTypeEffect
colorstringCSS color used to fill the tile
playerbooleanMarks the tile as the player (arrow-key controlled)
solidbooleanBlocks player from walking through
dialogstringText shown when player touches the tile
onenter(p, self, utils)functionFires when player enters; call utils.remove() or utils.dialog()

Use . in the map for empty passable floor. Use any other character for walls, items, or NPCs.


Embed This Util

You can embed this util on your own site as a widget. Adding ?embed=1 to the URL loads a compact version with just the tool itself; no header, menu, or documentation. Paste this snippet into your HTML:


    

Copy snippet Adjust the height to taste.



Feedback

Help us improve this page by providing feedback, and include your name/email if you want us to reach back. Thank you in advance.


Share with