[WIP][FUN] Battlefields v0.1 – Highly customizable, versatile PvP Arenas [1337]

Discussion in 'WIP and Development Status' started by 2n3904, Sep 1, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    2n3904

    [​IMG]

    Description :
    [​IMG]
    This plugin is a kind of game-within-a-game plugin – it allows admins to set up battlefield regions on their maps in which a variety of gametypes can be played. And there sure is variety! Battlefields is basically a wrapper for gametypes, which are loaded into it as plugins (the same way you load plugins into bukkit, you load gametypes into Battlefields). This means that plugin devs or anyone willing to learn Java can write their own gametypes and take advantage of the feature-rich framework of the plugin. Additionally, server admins do not have to deal with large numbers of disjointed plugins to introduce games – they can set up designated universal battlefields on which any gametype you want can be played!

    The plugin is undergoing major rewrites at the moment but here is an early video demonstrating CTF gameplay. Many things have changed since this video, but hopefully it gives you a sense of the general concept!


    News & Updates :
    [​IMG]
    So, if you have been keeping up with the recent posts in this thread, you’ll know that this plugin got a major rewrite a while back – right before I was planning on releasing it. I wanted to make the plugin much more customizable and user/dev friendly, as opposed to the spaghetti mess it was before.

    If you have any suggestions please please tell me! Especially from any plugin devs who are interested in making some gametypes for this plugin and are wanting to ask questions on whether or not something is possible to do. If it turns out it isn’t, chances are I will fix that!

    Spout:
    [​IMG]
    This plugin naturally has great potential in pairing with Spout. And I definitely will be making that pairing in the future. I’m hoping to implement plenty of GUIs for match settings/voting/field editing, as well as implement HUD additions for gametype notifications and player indicators. There are a lot of possibilities.

    However, this plugin isn’t even in beta yet! Spout is going to have to wait a while. First I will release the plugin for plain Bukkit – that’s where it’s going to get the most use anyways – then bugfixing/feature addition – and finally, once things are stable, spout.

    Features:
    [​IMG]
    ¨ Feature-Rich Battlefield Regions & Toolsuite
    ® Battlefields are admin-defined regions which are highly customizable. Within a battlefield, team-specific regions, blocks, and spawnpoints, etc. can be defined and used by the gametypes in any way that you want. This means that anything from Spleef (Using regions) to CTF (Using flag blocks) is possible! Creating a battlefield sounds complex, but Battlefields comes with a very easy to use battlefield creation toolsuite which consists 90% of mouse button clicks or keyboard key shortcuts. Additionally, Battlefields has a battlefield debugging tool which will scan your field and tell you its current setup as well as scan your installed gametypes and tell you which gametypes the field is currently incompatible with and why!
    ¨ Match-Specific Settings
    ® Need even more variety? Battlefields supports extensive per-game settings so you can always keep the games feeling fresh and interesting. The heart of the setting system is signs. These signs are simply written and clickable to alter the given setting. To prevent chaos, most signs are only usable by the battlefield host – one player, originally chosen by being the first one to join the field. There are a number of built in global settings for basic options like teamkilling, time limit, etc. Additionally, gametypes have the ability to make use of the sign setting system in order to define their own per-game settings.
    ¨ Detailed Score Tracking
    ® Battlefields includes a system for keeping track of your scores in the games you play – on a type by type basis. It will individually show you how many flag captures, kills, deaths, etc. you have so far, organized by gametype. You can also search up the highest ranking players for any statistic, any gametype, or thier total points – which are the sum of all the scores you have multiplied by a scoretype-specific point value (which you can edit in config).
    ¨ Optional Class System
    ® Battlefields has a purely optional class system which is completely customizable by the user. Classes are defined in your config files: each class has its own weapon and armor loadout, as well as a number of gameplay modifiers such as defensive damage reduction and offensive damage bonuses. These classes are selected on the battlefield before a match. If the class system is not used, then the default class is given to everyone. This default class is editable in-game for the specific match you play – so you are free to choose the weapons and armor for each match!
    ¨ Voting System
    ® Every game needs a way to get rid of annoying players. Battlefields has a voting system where players can initiate a vote to do just that – kick another player, change the battlefield host, etc.

    Changelog:
    [​IMG]
    Nothing yet! BETA development still in progress!
     
    LegendZero and _Belkar_ like this.
  2. Offline

    gameswereus

    This looks insane!
     
  3. Offline

    2n3904

    I completely revamped the information text system, got the top player statistics working. A few bug fixes down, and added some new statistics to track! I'll try to get it all into the next video I post (which will be much more interesting, don't worry)

    Added another setting option to counteract the wimpyness of bows compared to swords:

    |ARROWS| Arrow Damage Bonus
    • Adjust the damage value of arrows!

    Also working on an Assault gametype (plant and arm TNT in the other team's base!), however this is low priority and may not make it into the first release.
     
  4. Offline

    DokterDirk

    Looks epic, cant wait to try this out :D
     
  5. Offline

    2n3904

    Almost getting to a beta release.... Cleaned up most of the bugs/holes that were immediately obvious. Should be running smoothly now for the most part - hopefully people who download the beta will help me polish it.

    Couple more updates:

    NEW VIDEO: Its on a different map I set up, and has the new features.

    • Added in non-pvp death tracking. Basically, you fall down a pit and die that death will be counted correctly and itll say "so and so fell to their death". Includes almots every type of death (fire, lava, falling, cactus, drowning, wtc.) Now your arenas can have giant chasms, lakes of lava, cactus fields, underwater combat, fire, etc. without messing up the gameplay!
    • Fixed a major issue with projectiles. However this also ended up messing up the arrow damage adjust, so thats on the list of to-dos again ...
    • Increased zombie damage and resistance, disallowed armor/weapons for them (they fight unarmed) and adjusted gametype so that you get points for either surviving or killing zombies - those two factors determine if you win (everyone ended up hiding all the time haha)
    • iConomy reward amounts are now completely configurable (your reward is a combo of all possible statistics multiplie by corresponding multipliers set in config)
    • Just like the iconomy rewards, the arbitrary "score" system which determines your all round score in comparson with other players also is adjustable

    I thought i'd be generating a little more interest! Cmon everyone, I need more ideas and input!

    More updates:
    • Added the option in config for instant respawns (teleport on death, bypass spawn screen) or to use the normal minecraft respawn screen. Should this also be available as a sign-setting option for per-game choice?
    • Added "indicators" for KOTH - blocks that change color depending on whos has majority. Totally optional. Just add them in to the battlefield if you want them - I think maybe I will expand this option to also track who is winning the match? so you can have a "scoreboard" of sorts where it changes color based on whos currently winning...?
    • Made the KOTH system much nicer - now tracks real time as your team's "score", plays much smoother+sensibly
    • Fixed the arrow damage adjustments
    • More bugfixin', cosmetics

    Added the ASSAULT gametype! See above! If you have gametype suggestions, I'd love t hear them! A wide variety of options is the core idea of this plugin - I don't want you to ever get bored of playing PvP anymore!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
    _Belkar_ likes this.
  6. Offline

    2n3904

    Just tidying things up for the beta release. I decided to rewrite the system used for creating battlefields to make it more intuitive and easy to use. There's alot of things that a player needs to set to enable all the features of a battlefield:

    redspawns, bluespawns, neutralspawns, redflag, blueflag, kotharea, exitspawn

    Currently I have a /bf tool <toolname> command that allows you to use a config specified tool to right/left clcik your way into creating the different parts. For example, type /bf tool redspawn... and after that, anytime you right click air with the tool it stores your current position and facing as a spawnpoint. Since you can have infinite spawnpoints, this makes the process alot easier (more spawnpoints, better randomization of respawn locations)

    Similar methods are used for the rest (/bf tool redflag, then right click a block, you get the picture)

    The battlefield that the tool works on is chosen by the field you stand in when you enable the tool. At any time you can switch the field you are working on with /bf tool <fieldname> too however.

    Also, theres a /bf tool debug that brings up all the battlefield info (field dimensions, koth dimensions, number of each type of spawn present, which flags are set, how many indicators are set, etc. so that you can double check your work.

    Any suggestions? I'ts proven difficult to think up a really simple system for this.
     
  7. Offline

    dpsi

    Could you guarantee a release by the time they make a stable bukkit 1.8?
     
  8. Offline

    powback

    I dont want the chat to be spammed. You should make some use of spout & its achievement API.
     
  9. Offline

    oyasunadev

    I love how he took my idea...
     
  10. Offline

    garbagemule

    @oyasunadev - Yes, let's go to people's threads and claim that they took our ideas... Who says he "took" your idea? I've had a very, very similar idea for a plugin collection like this since I first started working on MobArena. All inspired by Fight. It's not a very original idea, you know? You have weapons, you have armor, you have PvP - is it really that unlikely that you are the only person in the world that's had an idea of "let's introduce classic team-based game modes"?

    Instead, how about you try to make something similar, or better yet, ask if you can contribute? There's nothing wrong with having multiple plugins that do something similar, albeit slightly differently - I personally like having choices, and if 2n3904 is going to get rid of the onPlayerMove stuff I mentioned to him in a PM, this will be a much better alternative to War, which already does some of these things.

    I don't think anyone is trying to steal credit or thunder.
     
  11. Offline

    oyasunadev

    i dont mind that he used my idea as much a the fact that basically cheated me. i dont want to argue about it, so end of convo.
     
  12. Offline

    2n3904

    I don't even know what you are referring to... You mean I stole an idea that was in your head?

    Yes, I plan on heavily integrating this plugin with spout once the non-spout development is finished. Team name tags, special notifications, maybe even a battlefield GUI eventually. But that's all aesthetic. I plan on releasing the non-spout version first, then using the time after to bug test and start developing a spout friendly version.

    Yes, it does spam the chat. It sends the notifications to only players on the battlefield. When I play, i'm usually not paying any attention to the chat anyways (focused on the game) so I don't mind. There are in-game options to selectively disable what messages you receive (like disable all player kill notifications and just have the important game-status updates)




    STATUS UPDATE

    I've been really busy with university these past weeks - way more so then I would have ever predicted.

    After conversing with garbagemule, I decided to rewrite this plugin in a huge way. I am making it extremely developer friendly so that creating custom gametypes involve adding a single class - which in the future will hopefully be tweaked so that Battlefields accepts it's own "gametype" plugins from external sources. Before the code was a complete mess - it worked great, but continuing to work on it became frustrating since adding in new features involved a hell of alot of editing. Garbagemule asked about collaboration on something of similar lines but much wider scope, and I may be doing so - but I plan on finishing up the first version of this plugin first and taking that end result to the table when and if I become part of that collaboration. I've been making a lot of headway using this plugin to hone my java skills, especially in code organization.

    Sorry bout the way premature promised release, but I really didn't expect to go as far with this rewrite as I did. It'll hopefully be in the next week or so that I get the plugin running again, then it's bug testing/feature implementation and a release. It's irritating that it should start being completed by the time 1.9 rolls around, so that might add a little bit of time to the development.

    Stay with me folks, while I drive myself into the ground balancing all my obligations : /


    CHANGES

    I've been rethinking a lot of systems in game:

    First off, there are now four possible teams : red, green, blue, yellow.

    I think I finally hit upon a nice, easy battlefield build system which involves very limited amounts of typing. The only typing involves enabling edit mode, then selecting one of four tools: spawnpoints, regions, teamblocks, and indicators. Adding, removing, and adjusting parameters for these tools is all done with keys and clicks.

    As for starting up a game, I have always wanted to work on something better. The way it was before was kind of temporary - basically, anyone who was on a team could alter settings. I'm developing a game host kind of system now, like you see in classic multiplayer games. Basically, first person on the field gets the host, and is the only one allowed to alter settings and start the game (which requires enough players to set their "ready" status). I'm putting in a vote system for various things - notably kicking annoying players or changing the current host. The host will also be able to give their host-ness to someone else instead.
    If you have any major suggestions, now's the time - when a lot of core features are being rewritten.
     
    _Belkar_ likes this.
  13. I've look for such an plugin for more than 6 hours!!! Please do not give up this plugin. It just looks awesome. It's the first plugin I found the implements Free For All and CTF and others. I like how you solved it with the signs.

    Maybe you could add an Option to select a class like: "Archer" or "Swordsman", "Scout", "Priest", etc. Maybe with an command so that you can switch class even when your already in the arena. It would be great if you publish booth the non-spout and the spout-version of your plugin, or if you could programm it so that Spoutcraft is not actually needed, but makes playing easier (GUI for choosing class, ...)
    Don't know if it's already implemented, but could you add a feature so players of the red-team get a red-wool block as their head and blue-team a blue block?
    You could add the "Payload" gamemode from "Team Fortress 2". The goal is to push a minecart all the way over minecart tracks over some checkpoints until it reaches the end. The blue team must prevent the cart reaching the end and the red team must push the cart forward. Would be really great if you add this mode.
    Another mode I am thinking of is Spleef. That means you just need to make an special block (like ice, glass, leaves, etc.) instant-breakable and every other indestructable. As soon as someone touches the ground, he looses and gets teleported to an spectator room.

    Please don't stop programming and improving this plugin.

    EDIT:
    I just thought about a game type, where Team A needs to steal the Flag of Team B by in an certain time. Team B has a workbench an a bunch of materials and could build baricades, dispenser, pistons and so one, to prevent the flag to fall.
    Another gametype could be "Mining to Victory" (not a very good name). Here the goal for both teams is to gather ressources an store them in their main base. Thoose ressources could get stolen so they need to be protected. You can also use them to craft everything you want. Maybe you need the ressources to craft something special or to build a bridge or such.
     
  14. Offline

    2n3904

    It's still moving along, just slowly. I had been spending hours and hours rewriting major portions of the code, so it's been untestable due to all the un-worked sections - until the other day. I finally reached a point where I can compile it again, and now I am piece by piece testing the plugin. It's still got a while to go, don't let that fool you. There's a ton of bugs due to me rewriting a few thousand lines of code without any testing - that will take time. Also, I may have missed some important rewrites/integrations.

    Thanks for the ideas.

    - CONCERNING BLOCKHEADS (Not Charlie Brown)-

    Colored wool blocks are actually being used right now in the CTF gametype to denote who is carrying the flag. I wish there was a way to tag players better - but Bukkit doesn't have the answers. The spout version will def have this option though.

    There's a major problem with block heads too - they are removable by the player, and since bukkit has no inventory listener that applies, there's no way for me to stop players from removing them.

    This is something I agonize over, rest assured that it is on my mind.

    - CONCERNING CLASSES -

    I will put in classes at some point. At the moment, you can define default weapons in config and also change the weapon loadout before every game - this system is easily extensible for classes. I'll make it so you can write custom class weapon/armor loadouts in config and let players select them using signs in game.

    - CONCERNING GAMETYPES -

    I'm still thinking about things like spleef - this plugin was meant to be more of the FPS-styled combat - moving into enviroment-heavy gametypes like spleef is a whole different take on things. HOWEVER, after considering the way in which I rewrote the gametype code to make it much more generalized - Spleef and games like it would not be hard to write in.

    I like the TF payload thing, that sounds interesting. It might be possible to do that too.

    By the way, mentioning all these gametype ideas - one of the major factors prompting this rewrite was to make writing gametypes be a super easy task. In the future, gametype creation for battlefields will be extended to outside devs as well. The heart of a gametype is just one class file, implementing a gametype interface. From this class, you have access to the battlefield (along with a host of admin-defined subregions, blocks, spawnpoints, etc on it), the players on the battlefield, and all applicable listener calls. Each gametype defines it's own initialization, victory conditions, events, etc.

    So for example, with spleef - we could use one of the battlefield subregions as our spleef floor - allow block destruction only in that region, and put a pit or lava below it. We can set players to respawn outside the spleef section, and once the player count inside is 1 (check after each death), end the game (or use the built in match timer to end it as well). Turning off pvp damage is also possible. On game end, refill arena floor. I'll be sure to try and get spleef working in the first release, considering how many people have mentioned it.

    - CONCERNING DYNAMIC BATTLEFIELDS -

    Free-for-all kind of editing of battlefields is not supported right now - well, it is, but there's no way to restore the field back to it's original state using this plugin. I mentioned before that spleef was possible - but only because the area you are editing is a well-defined cuboid region that only has one block type.

    If something like free-for-all editing with backups was implemented, it would be in a future update down the road.
     
    _Belkar_ likes this.
  15. Offline

    Agil

  16. WOW this are really good news. By the way take your time. It should be a good plugin an not a patchwork pvp-plugin nobody can use because of balancing, bugs and other problems.

    Maybe you can change the Players Displayname so players from Team Blue are having a blue name.
     
  17. Offline

    2n3904

    Sadly, changing display name colors above player's heads is impossible without Spout. All I can do with bukkit is change the display name in chat.

    Well, I just spent an entire day working on something that I didn't think I would ever get to....

    EXTERNAL GAMETYPES ARE IN!

    Hurrah! This is big news. I managed to set up a system for loading in external jars using Bukkit's plugin handling as a backbone. What does this mean? It means anyone can write a gametype for Battlefields now, in the same way they would write a plugin for bukkit! To install a new gametype, all you need to do is drag the jar into your plugins/Battlefields directory.

    There are three main classes in a typical gametype .jar:

    GametypeListener :
    This is designed just like the abstract bukkit listener classes - just override all the listener calls you need. The listener calls are triggered from the Battlefields plugin through the standard listener channels - the difference is, the inputs you get in your listener class are field-specific and all of the grunt work behind it is done. For example, there are onPvPDamage, onPvPKill, onPlayerSuicide, onGameEnd, onGameStart, etc. This listener class is where 90% of the code for your gametype goes, since a gametype is just a bunch of conditions anyways.

    Gametype:
    This is the interface that is instantiated for the battlefield instance when you choose it on the field. It routes the listener calls, and does various condition checks such as a check on whether the field is correctly setup for the gametype (enough subregions, enough goalblocks, w/e)

    GametypePlugin:
    This is just the root class where the configuration for the plugin and initialization is done.

    And finally, an equivalent to plugin.yml :

    gametype.yml:
    This holds the name, GametypePlugin path, and various other info about the gametype. Also holds the statistic list (associates particular game statistics with the plugin)


    I'm hoping some plugin devs will chip in at this point and maybe give some suggestions as to what you would like to be able to do with this plugin? I really want to open up the options.

    And a few other things:

    1. I just started putting in a simple class system. Like I mentioned before, classes are defined in your config files and can be chosen from signs on a battlefield (also with an option for the battlefield host to disable them). Right now I am trying to think of what kind of functionality I should give classes. ATM, you can configure each classes weapons/armor loadout as well as damage resistance and damage bonuses.

    Looks like I picked up a bit more steam on this, though I do have three midterms in the next few days. I'll be hard at work on it again after the chaos.

    4,716 lines of code and counting! Actually, it probably is decreasing at the moment XD
     
  18. When is there a stable, or a beta realease planned?
     
  19. Offline

    2n3904

    It's hard to say. But things are looking up, moving faster then expected. Crossing my fingers, but maybe the week after next-I might be able to release a beta along with a couple gametypes. Once I finalize the plugin itself, I'll start porting the old gametypes and making a whole bunch more.
     
    _Belkar_ likes this.
  20. Offline

    2n3904

    Some updates...

    Alright, I've been trying to develop a new system for the signs and update the field creation system. I'll put a video up soon maybe. It eliminates the wall of signs thing I had going on before. Basically, signs are menu systems in themselves. Right click them to get the next option, left click to toggle the option. For example, a gametype sign will cycle through all the gametypes on right click and left click will load that gametype. Gametypes have the ability to define their own adjustable settings for signs as well - you simply define all the setting names in your gametype.yml. Then whenever the plugin detects that you clicked that option, it will trigger onOptionClick in the gametype listener passing the name of the setting.

    Additionally, the field creation system is now FULLY type-free. You hit the crouch button to get the next tool, and you hit the drop item button to get the next tool "setting". For example, you can right click until you select the Spawnpoint tool, and then dropitem click until you get the team color you want to add the spawns to. Finally, right click anywhere to add your current location to the spawnpoint list. If you left click, it will remove all spawns nearby you. The convention is always RIGHTCLICK = add whatever, LEFTCLICK remove whatever. Basically put yourself into the mindset that you are creating/destroying blocks. This system makes building battlefields a breeze.
     
    Agil and _Belkar_ like this.
  21. Offline

    Agil

    Sounds great! I wonder why they never made such systems before for other plugins, would make it alot easier. In my opinion, commands are often overused and added for simple things while such a system would work like a charm and remove alot of command usage and therefore typing.

    Great work! I did message you by the way, and I will in a few minutes with some additional ideas if you don't mind ;)
     
  22. Offline

    2n3904

    Agil asked some questions over PM, I decided to respond to them here:

    First off, I want to clarify some things about the plugin:

    The "Host" is originally the first player to enter an empty battlefield. If that player leaves, then the host becomes some random player. They are the only player who gets to change the gametype, the gametype settings, and the field settings - as well as start the game. A host can give their host-ness to any other player on the field.

    Now, there ARE checks to a host's power. There is a vote system! You (as well as anyone playing on the field) can call a vote for making yourself host. If more then half/exactly half of the players on the field vote yes, you will be the new host.

    Also included in the vote system is kick (player is removed from the field and can't play on that field for so and so minutes)

    • If I may ask, how exactly does the joining of a specific team work?
      • When you walk onto a battlefield, you are automatically placed on a team. If there is no gametype selected, that team is the neutral team (used for free for all kind of games). If there IS a gametype, then the gametype determines the teams you are allowed to use from it's gametype.yml and it decides what team you are on by finding the allowed team with the least number of players. When a gametype is selected, the same thing happens to everyone on the field - if they are on an 'illegal' team, they are auto sorted into the 'legal' teams according to team size. While this is all automatic, players also have the option of changing teams whenever they want to using a team sign on the battlefield.
    • Will you be teleported to a specific wait area?
      • No, you can do whatever you like before a match. Basically, the host is in control. He/she will choose a gametype, then choose the settings, and finally click start at some point. A countdown will start, and at the end the game begins! What happens then is up to the gametype. Traditionally, I will teleport everyone randomly to their spawns (i.e. anywhere for a free for all, or to a random team based spawn if they are on a team)
    • Will the wait areas be mixed with teams (then you can put setting signs there)?
      • No wait area, as above. Setting signs can be placed anywhere you'd like, as long as they are within the battlefield.
    • Will you be able to let a game start when there are enough players for a certain game type, or will games start at regular intervals if theres enough players for a certain gametype?
      • The game start and settings are totally up to the host. The conditions for checking if a gametype can be started are defined by the gametype. There is a checkField() method in the gametype that is called when an attempt to start is made. This method should look over the field and see if A. there are enough players and the right teams, B. The required field features are setup. If these checks fail, the game will not start.
    • Are there commands considering joining?
      • Joining is hands free, as described above.
    • How will a player know the amount of teams of a gametype?
      • The choose-your-team signs will change and only display the available teams whenever you select a new gametype. If you weren't on the right team to begin with, it will move you as described above and it will tell you why you were moved. There will never be a situation where you are not on a playable team.
    • I presume the gametype has to be set before even being able to use join commands or a join-portal because some gametypes require more teams then others?
      • No, see above. The field has no restrictions before the host starts a game (except for breaking the field, of course!
    • Or is it just a simple /join after which, if the settings are final, you are put in a team randomly?
      • Nope! Also, you can't join a game in progress at the moment. However, I will make the option for a join-during-game setting available for the host soon.
    • How are settings made final?
      • Settings are chosen on a per game basis. Each gametype has it's own unique settings, so they don't necessarily transfer! The only settings that remain consistent between games (unless you cahnge them sometime) are a number of defaults which only deal with very general options that apply to all gametypes: like Time Limit, Join During Match, etc.
     
  23. Offline

    Agil

    Some information concerning joining and leaving a game:

    • If the game is in progress - It is possible to either quit Minecraft or type "/bf quit" during a game. If the command is used the player will be teleported out of the battlefield and removed from the team the player was on. A player cannot walk into a battlefield or walk out during a match.
    • If the game is not in progress - A Player can simply walk out of the Battlefield. If this is done, the player will automatically leave the team.
     
  24. Offline

    2n3904

    Still going strong.

    • Battlefield features are now limitless
      • Instead of restricting them to specific teams, all features are stored by name. For example, you can create a set of blocks called "my_blocks" and save them to the particular battlefield. What this enables is gametype-specific features. For example, take spleef. You need a region in which all the spleef blocks of the arena floor are within (call it "spleef_blocks"), a set of spawns for spawning INSIDE the arena on start (call it "spleef_spawns"), and finally a set of spawns for respawning outside of the arena proper when you die so you can spectate (call it "spleef_respawns"). Now, as a battlefield creator, you have to make these regions yourself. If you mess up and forget one, when you try to start the gametype (as someone with building permissions), it will say "cannot start game. Gametype needs the following features: blah blah blah". If you do not have building perms it will just say "this gametype is not supported". Though this seems more complicated, it really opens up the gametypes to much more elaborate setups, and makes way more sense overall. Also - still no text based commands! When you create a named set, you simply right click with the corresponding tool and it prompts you "please enter the name of the <so and so> you wish to create/edit". Then you just type in the name in the chat bar (no /, extra text, or anything, just the name) and it registers it. Then you just click away to add/remove from that set.
    • Nearing a beta...
      • I've gotten to a point where I am working on designing a gametype and by doing so I can find all the errors and quirks in the API that I need to fix. Hopefully, I can start actually giving some content soon... Expect a short demo video soon? Of the battlefield creation/editing mechanics as well as maybe a peek at the 'Spleef' gametype which is actually the aforementioned gametype-in-development-for-testing. The beta release of this plugin will come with DM, CTF, and Spleef most likely.
    Ah, this plugin is so much work !
     
    _Belkar_ likes this.
  25. Offline

    adamjon858

    I love love love this plugin so far.


    My only issue is....will it work correctly with Heroes?
     
  26. Offline

    2n3904

    I've seen this mentioned a few times - I'll be sure to look into ensuring compatability.

    EDIT: Took a look at heroes. It's quite an all-encompassing plugin, working with it may take some time. I'll tackle that after the beta probably.
     
  27. Offline

    adamjon858

    Let me help you integrate it with Heroes. I had to do all the work you're going to have to do for a private dungeon plugin I made.
     
  28. Offline

    2n3904

    Ah, that would be fantastic!

    Once I release the beta I am going to upload the source to Github, then I can start bringing in outside help. If you were willing to tackle this, it would free me up for bug-fixing and any core editing I need to do (as well as gametype creation!)

    Working on the score system at the moment. I think I am going to store score information through the gametypes... So that player scores are appended to the end of the gametype's config.yml. This way if you remove a gametype, the scores will cleanly uninstall as well. Also working on making the stat system highly search/sortable. Meaning you can check out player stats based on top scores of any type, gametypes, games won, games lost, games played, etc.

    Now, I might enlist someone to help me revisit the score system - I think ultimately I want to use a database so that it can be accessed remotely online. I've never A. used databases and B. done much web design so this would be a good thing to outsource, if I can find a taker.


    The reason I am putting off until the beta all of the help that I have been offered is:

    A. The code is visually a bit messy still, I need to go back and comment/clean up things
    B. I'm still working on editing major features, so work you do might get the rug pulled out from under it
    C. I've never used Git before, and I don't want to deal with it at the moment

    Don't think I am blowing you off, when the time comes I really would appreciate the help.
     
  29. Offline

    adamjon858

    Let me know if you need help with Git or any code optimization.

    I also have a server that averages 60 players online during the day so I can help with performance testing as well if needed.

    BTW, is it up on GitHub now? I'd love to take a look at the code.

    I would have written this plugin myself if I had the time. It's exactly the type of thing I've wanted to do for a while. I surely wouldn't mind helping you make yours the best it can be :D
     
  30. Very nice plugin, but too many colors.... Try making the colors simple.....
     
Thread Status:
Not open for further replies.

Share This Page