Fully Evented Achievement System

Discussion in 'RPG Maker VX Ace' started by Silenity, Jul 26, 2015.

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

    Silenity Veteran Veteran

    Messages:
    647
    Likes Received:
    239
    Location:
    Oregon
    First Language:
    English
    Primarily Uses:
    RMMV
    So I made this achievement system type thing with eventing only.

    You talk to an NPC who checks to see if you have an award scroll on you.

    If you do not the NPC will check if you meet the requirements for it.

    If you meet the requirements then the NPC will give you the scroll.

    Here's how massive it is with only 10 awards:

     

    [​IMG]
    Any help reducing its size or just tips to help make it better greatly appreciated!
     
    #1
  2. Shaz

    Shaz Veteran Veteran

    Messages:
    37,572
    Likes Received:
    11,273
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    No ideas how to simplify it (just don't have time to look at it closely just yet) but I do have some issues.


    If you get the cat but not the other pets, every time you talk to this guy you're going to get the "Looks like you adopted a pet" dialogue. Whether you've adopted another pet to progress towards this goal or not.


    It would be nice if it had a way to remember what it already knew about from previous times, and only comments on stuff that's happened since the last time you talked. Unfortunately, this means lots of switches and an even bigger event.
     
    #2
  3. Silenity

    Silenity Veteran Veteran

    Messages:
    647
    Likes Received:
    239
    Location:
    Oregon
    First Language:
    English
    Primarily Uses:
    RMMV
    Well you are only able to adopt one pet. So if I have any of the 3 pets it will give me the award.
     
    #3
  4. Dreadshadow

    Dreadshadow Lv 38 Tech Magician Moderator

    Messages:
    3,835
    Likes Received:
    2,480
    First Language:
    Greek
    Primarily Uses:
    RMMV
    Assuming you got a bug free event system, making an Eventinig System for more than 10 will also be a hell right?

    How to optimize this then?

    Well you got a game. You should at least know the quantity of the quests.

    Let's say it is 40 ok?

    You use Switches to Enable Quests.

    You also use Swithces to set a Quest coompleted.

    Now when you talk to someone for a quest, you call a Common Event.

    Each quest should really be as complex as it can easily be maintained.

    Oh man! How about quests with three or five steps then?

    Break it into five Common Events.

    Each will execute, after a conditional Branch, that will be on a main common event. The NPC will call this main common Event. The common event then, according to what is going on, will call other common events, that will be the phases according to the various switches turned on each time you complete the previous.

    That means that a five phases quest is 6 common events. The main and 5 more for all the phases.

    What will you earn if you do that?

    1] More modular events means easier debug:

    If a bug happens in phase 3, you don't have to roll down one massive huge gargantuan event to find out what is going on. You go straight to the common event that contains the bug.

    2] Smaller code event fragments, will help you out organize things more.

    Note that this is a global suggestion for anything you are gonna make.

    This is a first step to optimize it.

    The rest is more like optimizing procedural programming.

    But here is the limit! You can not optimize this thing more without array manipulation.

    To make things more simple, you have to use data structures, thus arrays, thus you will need FOR loops, thus this exeeds Simple Eventing. 

    So you are stuck on huge Conditional Branches inside other Conditional branches blah blah blah...

    so the answer to your question, is this:

     

    Break the Event in as small parts as possible and call them.

    Common Events is what you need to use.
     
    Last edited by a moderator: Jul 26, 2015
    #4
  5. Silenity

    Silenity Veteran Veteran

    Messages:
    647
    Likes Received:
    239
    Location:
    Oregon
    First Language:
    English
    Primarily Uses:
    RMMV
    Thanks Dreadshadow!

    I broke it down into a bunch of common events.

    I can now add and remove awards as I see fit.

    Also, the event isn't such a friggin monster.

    This can be closed!
     
    #5
  6. Kes

    Kes Global Moderators Global Mod

    Messages:
    20,591
    Likes Received:
    10,511
    First Language:
    English
    Primarily Uses:
    RMVXA
    To close a thread, please Report your opening post (the Report button is bottom right, next to the Multiquote button) and ask for it to be closed.  The mod for this forum might not see your post, but will see your Report.

    Thanks.
     
    #6
  7. Andar

    Andar Veteran Veteran

    Messages:
    28,332
    Likes Received:
    6,444
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.
     
    #7
Thread Status:
Not open for further replies.

Share This Page