Fully Evented Achievement System

Status
Not open for further replies.

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
677
Reaction score
271
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:

 

Any help reducing its size or just tips to help make it better greatly appreciated!
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
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.
 

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
677
Reaction score
271
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.
Well you are only able to adopt one pet. So if I have any of the 3 pets it will give me the award.
 

_Shadow_

Tech Magician Level:
Moderator
Joined
Mar 2, 2014
Messages
4,078
Reaction score
2,654
First Language
Greek
Primarily Uses
RMMZ
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:

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
677
Reaction score
271
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!
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
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.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,668
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.
 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:
To whom ever person or persons who re-did the DS/DS+ asset packs for MV (as in, they are all 48x48, and not just x2 the pixel scale) .... THANK-YOU!!!!!!!!! XwwwwX

Forum statistics

Threads
105,849
Messages
1,016,981
Members
137,563
Latest member
cexojow
Top