Executando verificação de segurança...
57

Fiz um MMO que roda direto no terminal!

City

Há cerca de dois anos, eu trabalhava em uma startup 100% presencial que estava praticamente falindo.
Chegou um ponto em que simplesmente não havia mais o que fazer — todo dia era aquele teatro de abrir o VSCode e fingir que estava programando, só pra parecer produtivo.

Um dia pensei:

“Poxa, se pelo menos desse pra jogar algo aqui no terminal, o tempo passaria mais rápido...”

E foi assim que tive a ideia de criar um jogo dentro do terminal — afinal, pra muita gente “programador = tela preta com letras verdes”, então ninguém desconfiaria rs.

Inicialmente, seria só um Snake Game, mas por um erro de código acabei fazendo o personagem se mover livremente.
Gostei da ideia e comecei a evoluir: implementei geração procedural de dungeons, combate por turnos, loot, e até um hub de cidade com NPCs.

Abandonei o projeto por um tempo… mas no fim de semana passado resolvi ressuscitá-lo.
E o que era só um joguinho virou um MMORPG completo no terminal, com multiplayer em tempo real, skills, ranking, mercador, housing editor, banco, crafting, e muito mais.


⚔️ CmdMMO

🔗 Repositório no GitHub

O CmdMMO é um roguelike MMO multiplayer em tempo real, totalmente jogável no terminal.
Você pode explorar dungeons geradas proceduralmente, enfrentar inimigos e chefes, upar de nível, cultivar sua fazenda, e até comprar propriedades na cidade.

🧱 Principais recursos

  • Multiplayer em tempo real com Socket.IO
  • Classes jogáveis: Rogue, Knight e Wizard
  • Dungeons geradas proceduralmente
  • Combate por turnos com críticos e esquivas
  • Sistema de progressão com XP, níveis e loot
  • Hub de cidade com NPCs interativos
  • Fazenda e crafting (plante, colha e troque por poções)
  • Housing editor — personalize sua casa em ASCII
  • Banco persistente de ouro e itens
  • Ranking global, propriedades, mercador e portais entre mapas

🖼️ Prints

Seleção de classes

Class Selection

City Hub

City

Sistema de combate

Combat

Dungeon

Dungeon

Sistema de compra de fazenda

Farmer

House Editor

House Editor

Inventário

Inventory

Sistema de party

Party

Skill Points

Skill Points

Sistema de fazenda

Farming & Alchemist

⚙️ Stack técnica

  • Backend: Node.js + Express + Socket.IO
  • Frontend: Python + Blessed + python-socketio
  • Renderização: ASCII no terminal, com UI interativa
  • Arquitetura modular: o cliente usa a engine GlyphEngine, feita sob medida para jogos no terminal.

🔥 GlyphEngine

🔗 Repositório no GitHub

Durante o desenvolvimento do CmdMMO, percebi que boa parte do código poderia ser reaproveitada como uma engine — e foi assim que nasceu a GlyphEngine.

Ela é uma engine em Python voltada para jogos top-down em ASCII, com foco em modularidade e facilidade de uso.
Serve tanto pra criar roguelikes quanto RPGs ou simuladores simples no terminal.

🧩 Recursos principais

  • Loop de jogo completo (update/draw)
  • Sistema de mapas com portais, transições e colisão
  • Geração procedural com algoritmo de backtracking
  • Gerenciamento de estado (inventário, fazenda, quests, etc.)
  • UI interativa com menus, seletores e janelas de NPC
  • Editor de grid para construção de níveis e layouts
  • Sistema de player com XP, níveis, atributos e inventário
  • Base para jogos multiplayer ASCII
from engine.core.game_client import GameClient
from engine.core.player import Player
from engine.maps.map import Map

A GlyphEngine é usada internamente pelo CmdMMO, mas pode ser utilizada para criar qualquer outro jogo 2D no terminal — com renderização via Blessed e sistema modular.

🚀 Como testar

git clone https://github.com/jonatasfernandespimenta/CmdMMO.git
cd CmdMMO/server && npm install
cd ..
pip install -r requirements.txt

# Inicie o servidor
cd server && node index.js

# E o cliente (sudo é necessário por causa do teclado)
sudo python3 -m client.game.main

Para jogar com amigos:

  1. Certifiquem-se de estar conectados ao mesmo servidor/IP
  2. Atualizem o endereço do servidor em client/game/server.py
  3. Rodem o cliente em terminais separados

💡 Contribua

O projeto ainda está evoluindo — há espaço para novas:

  • Classes e habilidades
  • Tipos de inimigos e itens
  • Mecânicas de PvP e arenas
  • NPCs e quests dinâmicas
  • Eventos e bosses sazonais

🧠 Quer contribuir?
Abra um PR, issue ou sugestão nos repositórios:


💬 Fechando

Esse projeto nasceu do tédio, mas acabou virando um dos meus playgrounds favoritos pra experimentar ideias de game design.
Se você curte programação, ASCII art e multiplayer em terminal, acho que vai se divertir bastante testando — e quem sabe contribuindo também :)

Carregando publicação patrocinada...
2

Cara, sendo bem sincero, talvez eu nunca jogue ele, mas gostaria de lhe parabenizar, que TOP, criou algo totalmente novo pra mim. Nunca tinha visto algo do tipo, nem imaginava que daria pra fazer um jogo para ser jogado pelo o terminal 👏👏👏. Meus parabens, e sucesso com ele.

2
1

Eu queria uma release fácil de rodar, pra não ter que baixar, instalar python etc...
Gera uma release lá na moral, acho que deve ter algum empacotador de python.

De resto, parabéns pelo projeto!

1
1

Muito massa, Jhonny! Dei uma jogada e gostei bastante, só senti falta de uma explicação de como funciona as coisas, não sei se é porque é um jogo roguelike No repositório do jogo tinha as explicações 😂

Aconteceu também um bug, em um momento na dungeon eu peguei uma poção e estava precisando de HP, coloquei pra usar o item e simplesmente o item sumiu, não sei eu tinha apertado pra dropar o item ou algo do tipo. Infelizmente esse bug acabou com minha run kkkkkkkk

E por fim, você ter que iniciar o servidor se você quiser hostear a party é legal, mas seria interessante ter isso no próprio jogo. Como um lobby para você esperar alguém conectar. Ou se quiser continuar dessa forma, quando iniciar o aplicativo que roda servidor coloca alguma mensagem na tela do terminal dizendo que o servidor está rodando e como pará-lo.

No mais, incrível seu jogo, quando crescer quero ser igual você! Abraços!! 🤩

2
0
0
0
0