No announcement yet.

Detecting quest completion

  • Filter
  • Time
  • Show
Clear All
new posts

    Detecting quest completion

    Hi, my friends and I are creating an mmo, so far we have been able to create persistent saving server (MySQL + PHP) and have multiplayer set up (All Blueprint based).
    My question is how could we listen for completion of quests?
    How can we tell that a player has defeated x beasts or collected all of a particular item to give them the reward?
    Bonus points if you can help with the idea of scripting more quests into the game without the need of recompiling (my guess is a scripting language like LUA?)
    Thanks for your time

    Biggest challenge in mmo (or any online game) is making it secure and hard to cheat. If you use open sourced script you will have problems. Lua can be reverse engineered, even as much as knowing that your server runs on lua allows for some attacks.

    You should run all calculations that matter server side, that includes quests. You probably want to have multiplatform code for server ie. windows and linux. So find out database that you can afford and has server builds for both systems. Then you need some language that lets you do secure code. Scripts are too slow for mmo. What you save up on server development you lose later on paying higher server bills, and those bills can be high. So pick some C compiler that can be used on both platforms. Or some script that can be compiled. Do not pick interpreted and slow scripts.


      Thanks for the quick reply!
      For now we are posting predefined sql statements to a php server.
      My fear is finding a c compiler means we can't roll out changes on the fly and we'd have to recompile the entire game and redistribute
      What do you think?


        You need to plan all that stuff before you start coding server side, else you will be forced to code it again. If you never done such big project, bite the bullet and pay some experienced person for consultation. Even on this forum majority of people are just hobbysts (while talking about making mmo), however from work place i have experience about huge software projects, and you need to plan it very well before you start, else you will suffer all the time.

        First you need decide on maximum players connected to single server. From that you can choose database software. Then you need to think about server to server communication. MMOs usally are done on multiple servers. You also need to research virtualisation of servers, that adds a lot of flexibility and scalability to server system. I know this all sounds insane, thats why you need to hire some experienced consultant, to at least have professionaly done list of tasks for your server system.

        Also because of crappy windows security, not so good virtualisation, networking still in 1980s era, i would say you should focus on linux for making your server code.

        Also about recompiling thing:
        Mmos work differently. You have client that is just console that displays nice graphics. Then you have server that is the game. So your unreal part of game will be just levels, animations and some effects. Everything else should be calculated by server. And you never distribute server code, you give only client code to people. Also for mmo writting server side in unreal blueprints is just insane. If you played any mmo, maintenace days are when they upgrade server code (or replace hardware), and sometimes update clients.

        You need to make server system anyway, and it shoud be done in C on linux. Instead of using lua for quests you can do own quest system, quests do not need whole scripting language.