1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

What do you think about minigame engine?

Discussion in 'Development' started by Eduardo, Feb 16, 2018.

?

Would you use this?

Poll closed Mar 18, 2018.
  1. Yuh!

    12 vote(s)
    70.6%
  2. Neh...

    4 vote(s)
    23.5%
  3. There is no point.

    1 vote(s)
    5.9%
  1. Eduardo

    Eduardo Baby Zombie

    Messages:
    100
    GitHub:
    xBeastMode
    No minigame engine/API exists just yet, that's why I thought of creating one to create minigames with ease. This would make it much easier to create minigames, instead of writing them from scratch.

    How would this work?
    I thought it would be cool for devs to register their own games, and register callback functions for each event such as for player's joining and quitting. Each game would have it's own defined configuration with lobby/game position, min/max players, etc etc. The minigame engine would handle the rest, like tasks, teleporation handling, player storing and such

    Let me know what you think, I want to create this to make the process of creating minigames much easier for devs.
     
  2. SalmonDE

    SalmonDE Zombie Pigman

    Messages:
    739
    GitHub:
    SalmonDE
  3. r7vmc

    r7vmc Baby Zombie

    Messages:
    112
    GitHub:
    r7vmc
  4. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    some apis are very limited which is a huge deterrent to even use it
    some are not flexible enough
    also i dont think callbacks are good idea
    also how would i make a minigame?
    do i make a plugin then register as minigame?
    or put a file in /minigame plugin folder
    and how are configurations handled?
    what if author want to load config by file?
    or by hand? or NOT by yml?
     
  5. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    gameapi by thebigsmilexd is very specific in use case. it is not useful when it comes to the compatibility between multiple games on the same server, etc.
    GameManager still forces games to be level-specific.
    As for MiniGames-API... wtf. It is just a library that is worse than gameapi.

    BTW, here is a minigame management plugin along with implementations embedded. It just needs a few lines of changes to allow adding games from other plugins. However, it is still a somewhat context-specific plugin. (It's mixed with some random stuff like auth, because it was a core plugin, but I'm just referring to the API part)
    https://github.com/LegionPE/LegionPE-Eta/tree/master/LegionPE-Core
     
  6. Eduardo

    Eduardo Baby Zombie

    Messages:
    100
    GitHub:
    xBeastMode
    Oopsy daisy
    With my way, it'd be possible anyhow, by plugin or file loading, and for the config it doesn't matter, since it could be a class with properties, getters, and setters, and config parsing functions so it's all good.

    Everyone has to understand that there's always someone who's going to make improvements in something. It's not about reinventing the wheel, it's about making it better.
     
  7. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    The question is in that we want a minigame API where you write the plugin once and it can be applied to everywhere. Whatever model the server owner likes -- for example, if an admin teleports into a game world to ban a hacker, does it mean the admin is a member of that game too? And for example, how does the gamemode work? Does every game have to end in a few minutes (instead of permanently, like a factions world)? Does every game have to be in its own world -- may one world have more than one game, and may one game have more than one world? Or even across multiple servers?

    All of the minigame APIs I have seen above are just trying to make people recreate another version of an existing server, without considering the specific needs of server management
     
  8. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    I have nothing against reinventing the wheel, but i have to make sure it IS better and try to guide it to be as best as i could have think of
    re: admins to into game: it can be a spectator, OR forcefully converted to member if chosen to, or forcefully not registered(since admin overwrites perms)
    re: gametypes:
    what if my gamemode runs indefinitely??
    like a CTF of getting other backs or kitpvp
    or what if i want multiple games happening in the same world? based off regions
    or what if i want a static arena + tons of matches happening in it??(see duels without mindlessly cloning world or arenas) and players can spectate one/all matches if they use a command
    or what if i want to make a soccer game in lobby where anyone can join or leave at will(by entering/leaving region) that's placed at lobby

    other interesting ideas to consider
    what if i want to store some tokens to disk, and some on memory? will you provide an API?
    like token as credit, and score as temporary that restart per match
    what if i want to store powerups purchased/owned etc?
    what if i want to store matches and generate a donut chart? and chart for time spent? and chart everything?(tho can be exculuded as another plugin, if it fires off enough events to do stats)
     
  9. Eduardo

    Eduardo Baby Zombie

    Messages:
    100
    GitHub:
    xBeastMode
    Every game would not require it's own world, and no, joining games would not be handled by entities changing level. I guess for games to run infinite you could set the time to -1.

    That would be possible, but it would be set in the game configuration.
    Not sure about that, I guess I could find a way to do that.
    I guess I could provide an API for that kind of stuff.
     
  10. kenygamer

    kenygamer Banned Banned

    Messages:
    106
    GitHub:
    kenygamer
    I prefer coding a fresh minigame plugin instead.
     
  11. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    and then copying all the code for your second minigame
    and then have fun with making it compatible
     
  12. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    We need some definition. What is a minigame API/engine? Is it simply a library that lets you create games easily (in units of teams, matches, etc.), or is it something that aims to maintain the compatibility between multiple games?
     
    Thunder33345 likes this.
  13. kenygamer

    kenygamer Banned Banned

    Messages:
    106
    GitHub:
    kenygamer
    It won't exist something that fits everyones's needs. I'm against minigame APIs.
     
  14. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    basically assisting developer so the dont have to rewrite code or copy code everywhere creating an unmaintainable pile of code
    like a utility for every minigame plugin, and make creations of minigame easier
    (no worry of compatibility abilities to run multiple concurrent matches etc, the lib will handle routing events etc)
    it's like saying rockets arent possible when it havent been invented or created
     
  15. kenygamer

    kenygamer Banned Banned

    Messages:
    106
    GitHub:
    kenygamer
    I tried to say, that there are certain things of the minigame API that you might want to be changed, for example, to make your server more exclusive.
     
  16. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    so just suggest it
    and boom there you go
    the api must be as flexible as any dev could think of
    or else it isnt worthy enough to be good
     
    SOFe likes this.
  17. kenygamer

    kenygamer Banned Banned

    Messages:
    106
    GitHub:
    kenygamer
    If you suggest it, everyone will have the same features in their server. It's boring.
     
  18. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    i mean even if you write your own because you are that good, an ideal flexible api would still be able to implement what you have in matters of days or at least how long it took you to...
    and i dont see how an api can "stand out" as player only see games, i doubt they have care of how unique your minigame api is,
    do you think the will care that your minigame api have a pause play feature that only the owner can use?
    or how your minigame api can run concurrent matches?
    they only see the minigame you created, and to be unique, fun and able to play it as it's intended is what the player really care..
     
    EdwardHamHam, Eduardo and Sandertv like this.
  19. kenygamer

    kenygamer Banned Banned

    Messages:
    106
    GitHub:
    kenygamer
    In fact, the answer to the question
    is up to every server owner.

    But like I said, I would prefer to not use a minigame API to start coding from scratch a new plugin, and when I come to something that's not implemented, I know that I don't have to take the hassle of suggesting it to the minigame API author.

    That is the explanation to my desicion.

    So
    Neh...
     
  20. Sandertv

    Sandertv Zombie Pigman Poggit Reviewer

    Messages:
    786
    GitHub:
    Sandertv
    It's not up to the server owner, it's up to developers that would like to code minigames. Having a proper API for minigames doesn't have to limit what you can do and what you can't do at all. Using APIs makes development faster and often higher quality. You're against minigame APIs? You rather code a fresh new minigame? So you'd rather develop a complete new server software as well, because APIs suck anyway and coding a fresh one is always better?

    A proper API makes the time to code something with it so much shorter, which is awesome. The minigame API does of course have to be versatile and usable for (almost) any minigame. Beast has quite some experience with minigame plugins though, so I'm 100% sure he's capable of doing exactly so.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.