Quick Jump / Table of Contents
Scalable experience, minimal code.
What is the essence of compaction?
As a great artist once said,
Perfection isn't attained where there is nothing more to add, but, where there is nothing left to remove.— Someone more clever than us
Is there any need for a Micro MMORPG?
No, none that we can tell.
A Strategy for Streaming Real Time Communication
|ack (pong)||All Clients will ack the server when requested. Failure to ack results in ending connection.|
|map||The Game World|
|state||2 Way Representational Changes to the Game World|
Tiny NodeJS MMORPG Server Infrastructure
We are going to be implementing our server to be as small as possible, in line with our mission to create a tiny MMORPG. Because of this, we are going to build our server so that its functionality is basic, and generalized. In this case, we're going to model our server after a pub-sub broadcasting service.
|publish (pub)||subscribe (sub)|
|client sends state update to be broadcast||server receives state and republishes it to listening clients|
|server sends state updates to listening clients||clients recieve updates and update their game world|
There are 4 Main Units in this game
- Home unit (Guild Hall)
Only a single home unit is assigned to any player that joins. It is placement is weighted, mostly random however with consideration for other nearby homes. Home units allow a player to hold up to 100 coins, and support 20 buildings. Available supportable units are calculated based on Production. Provides 1 coin per cycle. Home units cannot be destroyed.
Production houses cost 5 coins. Farmhouses increases Unit Capacity, Banks increase coin production, Smiths create weapons to be used by Offense units.
Offensive units cost 2 coins. Offensive units will always destroy an opponent Production unit. 50% chance of survival against Defensive Unit.
Production houses cost 1 coin, Immovable. 50% chance of survival against Offensive Unit.
|Guild Hall||Farmhouse, Bank, Smith||Knight, Wizard, Archer||Barracks|