Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualDrMadolite

Posted 06 August 2012 - 08:22 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX swap place with the array item above it, if {varBinary == 0} - OR - the array item above achX has a name earlier in the alphabet. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something useful. Good luck on the system though.

Cheers.

#8DrMadolite

Posted 06 August 2012 - 08:21 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX swap place with the array item above it, if {varBinary == 0} - OR - the array item above achX has a name earlier in the alphabet. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something in ways of an answer. Good luck on the system though.

Cheers.

#7DrMadolite

Posted 06 August 2012 - 08:19 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX swap place with the array item above it, if {varBinary == 0} - OR - the ach on top of achX is earlier in the alphabet. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something in ways of an answer. Good luck on the system though.

Cheers.

#6DrMadolite

Posted 06 August 2012 - 08:19 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX swap place with the array item above it, if {varBinary == 0 or the ach on top of achX is earlier in the alphabet. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something in ways of an answer. Good luck on the system though.

Cheers.

#5DrMadolite

Posted 06 August 2012 - 08:09 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX swap place with the array item above it, if that item's instance of varBinary == 0. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something in ways of an answer. Good luck on the system though.

Cheers.

#4DrMadolite

Posted 06 August 2012 - 08:08 PM

Well, an achievement list is nothing more than stored values and often graphics changing one image file to another - or - (if simplified) from one stored value to another.

As a side note, I've just watched a lecture on data structures and algorithms, in which the tutor talked about looking at the problem in the simplest possible way. If your algorithm is way off, then it's gonna be a nightmare to process no matter how hard you optimize your program or hardware. But even a great algorithm can be the wrong one, if it boils down to you overthinking the problem.


More on-topic:

Supposing someone wants a fancy image-based achievement system like in WoW, here's a rough algorithm:

1. Add the basic "zero-achievements-awarded" pane (whatever graphics).
2. Add collapsibility to the pane (or separate windows for each category and link them together).
3. Add a 1D locational array to each page of achievements.
4. Give each array item a separate instance of a global variable (let's call it gloVar), set to 0 by default.
5. Add darkImageX to achX (etc for all possible achievements).
6. Add preconditions to each achievement (visually and syntaxically).

Now, to make achievements actually work in WoW:

7. When all preconditions are met, replace darkImageX with litupImageX and run the ImageXtoast animation in the main game window.
8. Set the array item's individual gloVar to 1.
9. Have achX Swap place with the array item above it, if that instance of varBinary == 0. Else, do nothing more.
10. Update any group achievements that may be attached to this achievement.
11. Done.

I think paired If statements are the way to go. (1) If (action == true) {varCounter++} and (2) if (varCounter == 100) {update achX} (using pseudo-syntax here).

====================

I'm not familiar with AS3 myself, but hopefully my reply nonetheless added something in ways of an answer. Good luck on the system though.

Cheers.

PARTNERS