[LFG] Minecraft Battle Plugin

Discussion in 'Archived: Plugin Requests' started by Ziden, Feb 5, 2013.

  1. Offline

    Ziden

    Hello.

    Woll of Text:

    First of all i want to make this clear: Im not looking for someone to develop this plugin for me. Im looking for someone who wants to develop this plugin with me. And with another developer, friend of mine.

    Ive been coding plugins for 2 years now, and i have no actual releases for the simple reason ive made all my plugins in portuguese, and mostly, are big ones witch i dont stand to translate.

    Why am i recruiting people to code this as we already have 2 devs, witch is a good number for a plugin ? Not only because of the plugin complexity, but mainly because we are having trouble to figure out game mechanics to work as a fluid flow. We need ideas, not only code, but damn we need code. Realistic to dont brainstorm a dragon-golem-labirinth randomly generated every tick, but creativity to dont be 'a zombie'.

    First of all, lets explain the idea, taking care of all aspects of the game we tought so far (and yet, suggestions are aways welcome and we are open to anything, we find creativity more valuable the technical skills).

    Basic Mechanics:
    The minecraft server should be turn into a game system. Players , once joined, can trigger a 'find a game'. A matchmaking system will get together X players (example, 20 players), divide them in two teams and start the battle preparations.
    I will have a world folder, a 'battleWorld', witch contains no region files, only world data. I will copy this folder, and load this world as a copy using a custom generator (im using TerrainControl for this as it does everything i need). This world has no big mountains nor seas nor big lakes. As the world is loaded, i will random a point for the 'red' team to start. From that point, i will random a nearby position (well, not sooo nearby) for the blue team to start. The world will aways be 100% random.

    The Second Base Mechanic:
    When the player find himself, and his team, lost in a totally random world, he will have a very important option. A menu (IconMenu, thanks to Nisovin) will display a Hero selection menu. For now i have 5 heroes, Robin Wood, DaVinci, Conan, Harry Potter and The Fisherman. Every Hero will have a simple, yet unique, set of skills, and stats, for example The Fisherman can 'fish' other players towards him, DaVinci is a good builder etc, just examples. Chosen his Hero, comes an "Optional Mechanic" witch we are still thinking on it, selecting 2 tools (Pick, Axe, Spade, Sword, Hoe) as its main weapons.

    The Battle Mechanic:
    Still open to how will it happen, players will start with a main building, a simple building. Every building will have a block count, a block % needed to kill, and metadatas saved in Y 0 exactly under the building, containing its information. This means i wont be using any type of regions and search algorithms. Players can build 'pre-made' buildings, using a custom item. Custom Item is simply an normal item with another name and lore. A Map will do the job (as the map API is almost there , would be damn great), as the 'building design'. When used, it will attempt to place the building at the block the player clicked. Buildings can have a very vast range of effects, some are still being tought for example a defender building who shoots arrows, a blacksmith that comes with a villager with some handy trades (thinking on making a sort of "item composition" with this), moreover prettymuch anything that doesnt cost too much from the server (thats why the thinking about the 'shooting tower'). The goal is simple, destroy the other team main building.
    Players can destroy blocks freely, but, they cannot place freely. Something will cost from them to place blocks, and this are, also still being tought of. We will use emeralds for the game currency (the 'out of the game' can use normal economy systems such as iConomy), but we can use other type of item/cost for this. The out of the game economy can be used to buy generic items that can affect your gameplay, witch will be better described in the

    Stats:
    All the damage system will be redone, the only thing we are keeping intact is life, at 20, and hunger, at 20 as well. Exp bar will behave as Mana, but the level number will remain for other use witch we even't started thinking on.
    Players will have stats on them. Stats being tought so far:
    attackSpeed, dodge damage, armor, magic, resistance, critical, movespeed and jump, again, for example. This has already been coded, however as i stated at the begining, we are 100% open to changes and creative ideas. Some explanation about the 'tricky' ones, as i belive i dont have to explain damage, armor magic etc.
    MoveSpeed and Jump, will be handled as a infinite potion effect, taken after respawning.
    AttackSpeed will be handled controlling the players entity property, noDamageTicks, making it possible to give more 'hits' on an entity with higher attack speed in less time.
    Heroes can have base stats, and equipment can have stats as well. And, they also can have stats being displayed on its lore, to make it easy to plan 'the build'. Stats are also composed by Buffs, OnHitEffects and OnTakeEffects. Player may be able to upgrade equipment as its wills, and it will follow a equipment role, so players first decision can affect its posterior decisions. Every tool will have its own use, own effects, own role. For ores, the main idea is to follow the standard minecraft 'ore evolution', but we also tought of making all ore viable equally, with different aspects, so every type of armor/tool can have its own unique role.

    Restrictions that will make people sad and people mad.
    I do intend to release the plugin, however i do not intend to allow battle balancement via configuration (example damages, skills etc). I know many people will disagree with me on this and i do respect it. Im a very competitive player, my main server is a 'hardcore mmoish' Factions server, higly competitive. The main reason i took the decision to make the base game not changeable, is because it will be easyer for the community, if it will have, to balance the game, and change mechanics when needed, if the game leaks something, so after some short time of rageing, the game can have its 'competitive' balancement. Thats where the actual fun begins.

    Inpiration for the game idea:
    Age of Empires, Dota, Hunger Games and Weed.

    CURRENT PROGRESS:
    This is our current progress. We are focusing on mechanics rather then gameplay, for now, so we can have time to think on where will we take this.
    - World Management: 98% - works on a decent performance overall but needs a good tweak
    Responsible for loading, unloading, and deleting, the world. Its partially async, partially sync.
    - TerrainControl compat: 100%
    Generates the new world with a terrain control specific configuration. Can be random later.
    - Heroes system: 25%
    Java Classes, menus, example heroes are on code however skills stats are still blank.
    - Stats system: 40%
    Stats and equipment affecting stats are on code (what im workin on now) however they still doesnt affect the game.
    - Matchmaking: 80%
    works pretty well, but it will need to be heavly improved with more players, so searches with players groups (players willing to find the game with another friend for example) wont take too long or use too much resources.
    - Buildings: 65%
    Uses WorldEdit shematics systems to place buildings. Algorithm to detect if player can or cant build that there still needs improvements. The building system includes making the build region (meta on Y 0), detecting when the building dies (buggy)
    - Villagers: 65%
    Control villagers trades, so they can come with some buildings.
    - Runtime translation: 5%
    "You got an item" will be previously coded to be sent "Yarr got darr itaam" if the player has chosen pirate language for example (well, just for example, it will be real languages...)
    - Mines System - 5%
    Pretty much done in TerrainControl configuration, but some resources/special shit can be generated by the plugin.
    - Damage System: 0%
    Handles the stats to make things happen.
    - Skills, Buffs, Passives: 0%
    Still being tought of.
    - Database Management: 50%
    Using the library that does it all.

    There are alot of smaller shit that must be done, and mostly we 'prepared the ground' for the main thing, so everything is still unconnected so we can place every piece together afterwards and create a fun game.

    "Hmmm, maybe" mechanics that have being tought.
    Some other stormy ideas, that will be implemented later on after release (or, maybe, if we have more developers we can place em in ! But we do not intend to implement this for now)
    - RuneBooks, or Cards, or Gems, something that you can 'attach' to your character outside battle to influence its stats inside the battle. This can affects stats etc. I have part of the code done on other plugin, however the stat system were completely different.
    - Worker Npcs, using something simillar to Citizens, or even villagers, make the work for you somehow. This havent being done because we are avoyding to use code outside bukkit, as its stated its not safe, however we did a lil bit of that to make npc trades stay 'forever'
    - Npc troops, generated at the buildings that will aid you. If we go deeper on this we can say they can have an 'action menu' where you can guide them, as a 'troop leader'.
    - Premade Dungeons as a game type. Just love puzzling dungeons, but this is the laaast thing in my mind.

    Well, too much of text, too less of code.

    Heres what we have so far if anyone intrested in taking a look. We are not very organized as we were coding for ourselves so far, but i wont say the code is a mess. We intend to use GIT later on, but we have no previous experience on it. The code is in english, but some log messages and comments are in portuguese and we intent to make it 100% english. Mainly the other code stuff can contain smaller things in portuguese. The source includes 2 libs.

    http://code.google.com/p/tosco-battle/source/browse/#svn/trunk/ToscoBattle/src/tosco/battle/construcoes%3Fstate%3Dclosed

    If someone is intrested on the plugin, please let me know and we shall develop it along.
    I wont be rude on sayng 'woo i only want pros', but i want someone whos already familliar to the bukkit API in its general, as we are affecting diverse minecraft mechanics. If other people are intrested we will take another step to code organization, comments, submissions annotations etc. We still have to learn that, but we will.
    I think its a very very fun plugin to code and it can be very rewarding, however very complex.

    Suggestion are also very welcome, from anyone, since we are leaking some fundamental ideas yet about where this battle should go along. We intend to do something evolutional, quick (avg 20-30 min a battle), fastly rewarding, strategical and requiring a good ammount of player skill.

    Thanks alot for the attention! Sorry for that woooooool of text.

    Peace !
     
  2. Offline

    Royal_Soda

    tl; dr

    Just kidding: Seems like a good idea. I only skimmed the text, so correct me if I'm wrong... But, if it's a randomly generated world with no limits, wouldn't the games technically be able to go on eternally?
     
  3. Offline

    Ziden

    It wasnt mentioned but i intend to place borders at the world. Just thinking on how to do it w/o having to use moveevent. About the match taking forever, its something that can be considered, yes, but i belive it would hardly fit a 'performance benchmark' because some games can be loaded of stuff.
    Its good you got this point cause i do need to think on a way on making not viable an 'eternal game'. Pheraphs map mobs becoming stronger , to a point they can simply destroy you seems a way out. So at this point, if you take the game to it, your deffence will count more then your attack as you will need to survive l0nger. Good point, thanks for that !

    Btw sorry for the looong thread, i know its damn boring...
     
  4. Offline

    Ziden

    yeah i guess its too much to read lawl
     

Share This Page