DEV Community

Cover image for Meet the world's tiniest 8bit MMORPG
Diego Penha
Diego Penha

Posted on

Meet the world's tiniest 8bit MMORPG

That's right, it may not be the super heavy lifting with beautiful graphics online RPG you may be used to, like WoW, or even the newest one on the block, Amazon's New World.

It's a tiny 8bit online RPG made using Deno and HTML 5 canvas only!

But hold on, we might be going too fast. You may not even be familiar with Deno. Let's start there

Deno?

Deno is a runtime for js/ts that uses V8 and is built in Rust. It was created by the same dude who created Node, Ryan Dahl, not as a "better Node" as some people think, but rather a "different" Node, with different aspects that may suit some cases better, and some cases worst than Node. You can see Ryan giving some insights of why he started Deno, in his talk 10 Things I Regret About Node.js.

Deno is nonetheless an amazing runtime that also allows you to code in Typescript by default! It has a lot of security out of the box and you don't need "node_modules" in your projects anymore, things can be imported directly from URLs!

If you didn't know Deno by now, I highly sugest you go look out for more information. But this post is about what have been done already with Deno, now that it's first major release (1.0) is a little more than just 1 year old.

Tiny Land

What we really want to talk about here is what has been done already with this awesome shiny new runtime, specifically this tiny online RPG called Tiny Land.

game map

Tiny Land is a project that started as a Node + Socket.io POC, but was quickly migrated to run on Deno as soon as v1 was comming out.

It's a tiny online 8bit RPG, that relies on WebSockets provided by Deno's STD library. And the best of all, Tiny Land is Open Source and you can check the code here

The game consists of basic top down movement. There's rooms, filled with NPC's (agressive or not), and there's 10x10 rooms in the world. Combat happens by simply touching an enemy, the same touching mechanic works for talking with NPC's. And that's basically it!

It's super tiny and don't even has a database, your character's info is stored locally on your browser.

Well, if you're curious about how it looks, or feels, you can check it out here.

Closure

I really hope you enjoy Tiny Land, and if you consider helping the project that would be just awesome. If you're not into code, just leaving a star on the repo helps a lot spreading the word and it's very welcome!

Thank you very much for taking some time to read this article about this tiny game and I really hope you liked it!

Discussion (4)

Collapse
abhinav1217 profile image
Abhinav Kulshreshtha

Nice to see some quality content on Deno. Great post.

Collapse
diguifi profile image
Diego Penha Author

Thank you very much!

Collapse
siddharthshyniben profile image
Siddharth

Nice! I love the attention to detail on this one. A ⭐ from me!

It was a good idea to use Deno. I only don't use it if I need a module which is not available for Deno.

Collapse
diguifi profile image
Diego Penha Author

Thank you a lot! Glad you liked the reading!