Please enable JavaScript.
Coggle requires JavaScript to display documents.
IRC MMO (Game Back-End (Bot Framework (Python (Pros
EZ (Definitley an…
IRC MMO
Game Back-End
- Load user-stats on nickserv ident
- Store user stats to .bin on disconnect
- OR depending on the bot framework, just use a database and avoid all that
Database
- Probably some flavor SQL, maybe Mongo if we use JS
Bot Framework
Python
Pros
- EZ (Definitley an IRC bot library)
- Probably an SQL library
- Scientific Computing if we need advanced nerd math bullshit
-
JavaScript (node.js)
Pros
- EZ
- Definitely an SQL library, but should use Mongo
- Likely a node IRC api, probably for hosting the server too
- Likely a simple AI Chat API
-
-
IRC Server
Services
NickServ
-
Identify
-
Procedure for ghosting/reclaiming nicks? well it doesn't matter, maybe 2 months of inactivity and the nick is deleted if it's got no "gaming" on it
ChanServ
-
Game-Hosted
-
-
-
Towns and cities
One channel will be one town/city and it will have NPC's and sub channels like taverns or palaces, etc.
- Each town or city will have one NPC that will act as a guide to the city, it's the same NPC on every city/town and depending on where you're asking it'll give you a rundown of the facilities of the town/city, if there's secret stuff he will say "There's more than meet the eye" or some other cliché stuff to let you know.
(city):
- city.tavern
- city.market
- city.shop(s) (armory/magic/herbs)
Same for towns, towns might lack on NPCs or shops, but every town has at least one shop. Tavern and Market are everywhere.
Map
There will be a map of the whole world, and to travel from one place to another you need to join and part channels as if you were traveling, though from one major city to another one there will be ways of fast traveling, and every big city will connect to the most important city of the whole continent.
There will be areas that aren't connected but they have the same connections inside. This way noobies won't just get into a really difficult area and get shafted.
getting to some locations will require some "exploring" which means users will have to go through some dungeons in order to reach those.
Oddjobs? i.e. plow my field for some herbs, mine this mine for minerals, etc
GuildServ
User Commands
Guilds
Add/Remove Guild Member:
- Admins/SOP/OP can add and remove members as they see fit, they are added as normal members (voice)
Founding:
- Must have 5 registered players on the channel
- Message GuildServ with list of players and name
- Channel created automatically, owner set to GuildServ
- Channel invite only for guild members, modification level untouchable for normal users
- Founder of guild set to admin
Guild Stats
Point earning
To earn points there will be several
- Guild specific missions, these will need several guild members to work together to be cleared.
- Individual members leveling up and clearing missions while they're registered on a guild will contribute points for their guild.
- Chatting will give a certain amount of points too, but spamming should be punished so there's incentive for people to build actual communities within their guilds.
Rewards
Each week there will be rewards for the guilds with the most points. I'm thinking about the division to be as it follows:
- Top 10% guilds receive the most gold, experience and rarest items, next 20% guilds receive less gold, less experience and less rarity on items, and then next 50% guilds receive even less of everything, then the rest receives a set amount of gold, experience and items. Depending on the number of people and guilds this number will have to change.
Battles
Guilds should naturally be able to battle each other, with victories and losses from said battles contributing to points on the scoreboard. The fights will be agreed upon by both sides, who will each send five "champions" to face off against each other. To match these champions against each other, we will have two modes: "Honor" and "War" (names subject to change.)
- 1 more item...
Leadership/Decisions
- There will be a vote specifically to change the powerlevel of the person above (voice -> hop, hop -> op, op -> sop, sop -> admin) and it will remove one level of power.
- The one who casts the vote gets the position.
- Half of the same power level as the one who casted the vote, and at least one of each other power level needs to agree for the vote to pass.
example:
Channel has 24 users, 1 admin, 3 SOP, 6 OP, 2 HOP, 12 voice
- SOP casts a vote to remove the admin, he will be the new admin if it passes and the admin will become a SOP.
- Votes needed: 2 SOP, 1 OP, 1 HOP, 1 voice
In this case the HOP hold a lot of political power since at least one of them is needed for this to be able to work. This means there's opportunities to climb the ladder a lot faster.
example number 2:
Normal voice user wants to replace a HOP and casts a vote.
- Votes needed: 6 voice users
-
BattleServ
Couldn't this be handled by guild/dungeonserv? not really? it would clutter dungeon screens I think
Battles are handled by a Bot on a separate screen (not the dungeon itself) in order to not clutter the dungeon screens.
Battle system
Users can (they are not forced to) chain several attacks. There's 3 basic attack commands:
- Attack: Does double damage against break and normal damage against nothing and other attack.
- Defense: Nullifies Attacks, does 0 damage against the first hit it nullifies, does normal attack against the second hit and does double damage against the third and consecutive hits.
- Break: Does double damage against defense and normal damage against nothing.
Users can chain up to 10 commands before sending their attack, depending on their speed attribute they have a cool down before they can send other attacks. The largest chains (10) will have a longer cool down while the shortest (1) will have a low cool down, to balance this there should be a bonus multiplier for each chain link that is sent, so sending a 10 chain link would do a lot more damage than sending 10 individual attacks very fast.
One thing to make things faster is that you're able to add numbers to repeat commands, so if you add a number after certain attacks it will repeat the commands before that number of times.
- DAB3A = DABDABDABA
- DA5 = DADADADADA
- BA4DD = BABABABADD
Specials are linked to the Q--P letters and they will have their own rules on how to use them and what happens when you use them.Longer than 10 chains will be cut off on the first 10.
The battle bot would compare both chains to calculate how much damage is done, depending on the character's strength and defense attributes. For example:
DABDABDABD versus ADADADADAB would be
0 = D > A = 0
0 = A < D = 0
0 = B < A = 2
0 = D = D = 0
1 = A = A = 1
2 = B > D = 0
1 = D > A = 0
0 = A < D = 1
0 = B < A = 2
0 = D < B = 2
So player 1 gets 4 damage dealt and player 2 gets 8 damage dealt. Since both are 10 attack chains I think they should get multiplied by 10 so player 1 deals 40 and player 2 deals 80.
Items
Items can be used, you will be able to equip them on the "special attack slots" so between Q -- P. And they can be chained like normal attacks, there will be two kinds of items:
- Restoring items: They count as DEFENSE.
- Attacking items: They count as ATTACK.
Special Attacks
Special attacks will depend on the class your character has. There will be a max of 5 special attacks per 10 link chain.
-
-
-
NPCServ / QuestServ
QuestServ handles all the quests, NPCServ handles the NPCs
NPCServ can create puppets to easily fill rooms (towns) it could make up NPC's through procedural generation to make them have some variance. Important NPC's should be hand crafted but still linked to NPCServ.
-
-
-
Client/Player
Should be universal so everyone can log in from whatever client they want as long as it supports IRC, but later on a dedicated client would be created in order for people who don't know well enough how IRC works to be able to play the game.
Player Flow of Experience
- Connect
- MOTD Instructions
- Identify/Register
Registered Player
- Join the latest city/town the player visited
- If player was in the middle of a dungeon it goes back to the latest "safe place" he visited, which might be an area inside the dungeon if it's too long or the town closest to the dungeon
New Player
- Register
- Join one of the (amount) cities for new players with tons of tutorials and simple quests.
- let new players discover stuff for themselves