╠╣ow to make customized achievements

lukey5227lukey5227 Member Posts: 111
edited May 2015 in Community Tutorials

╠╣ow to make customized achievements

If you don't have the full version of GameSalad or you want to make an online game, heres a way of making achievements without GameCenter.

STEPS

1) Make a table
Make sure to include the name, the description, a boolean for wether they've completed it or not, and (maybe) points they'll get for it.

2) Make a new actor
This is the actor that contains all the rules that keep track of the achievements.

3) Make the rules
Each rule should contain the goal. Inside, have a "Change Table Value" and change table for the row "achievement number" column "completed" to "true".

Ex: If achievement #10 is "Get 500 points", I would make a rule that says "When Game.Score ≥ 500, Change Table Value "10" "2" to true.

DISPLAYING THEM

If a user would like to see which achievements they have completed, there are different ways of doing it.

A) You can make a scene with images of each achievement. Add an id to each one to show which one is connected with which achievement to the game editor. Make Red, Green, and Blue 0.5 when uncompleted. Otherwise, make them all 1.0 (This makes them dark when uncompleted).

B) Make a scene that has arrows. The arrows move up and down the achievements. Have an attribute that has which # is selected. Arrows change the number. Have actors that display the image, description, name, and competition to the user based on the col and the row linked to the # selected.

C) Make only a limited amount of achievements visible, like it Jetpack Joyride, for the user to complete. This means adding another column to the achievements table that says wether the user can complete it or not. Make sure that is true for every rule in the achievements actor.

Note: This tutorial does not include displaying them once they are completed.

Comments

  • creativeappscreativeapps Member Posts: 1,770
    Wow very useful for us. Thanks for sharing...:)
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    edited July 2012
    Ive been up for days straight now working so forgive me if im completly incorrect about the way your doing this haha.

    But you have the achievements turning true and false in a table.

    Now table values cant be pulled in the first part of a rule, so for say a banner of an achievement where its red when you dont have it and green when you got the achievement (as an example)

    You cant do if achievement is true
    -do this
    otherwise do this

    Because you cant have a rule if tableCellValue(example) is true

  • lukey5227lukey5227 Member Posts: 111
    Instead, you can use an integer. If 1 = TableCellValue do blank. If 0 = TableCellValue...

    I think that should work fine but try it to make sure!
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    That would still require a extra attribute though for each achivement, when you can just make the achivements boolean attributes themselves.
  • SRPentSRPent Member, PRO Posts: 10

    Creative and nice idea! Only a question, will the table be reset after you play the game again, or will it be kept the same?

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949

    @SRPent This thread is three years old but to answer your question, tables are reset when the app is closed and re-opened. To retain table data, you would use a Save Table behavior. To reset a table, you first copy it to a backup table using the Copy Table behavior and then you restore it using another Copy Table behavior. If you have questions about tables, please start a new thread.

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • SlickZeroSlickZero Houston, TexasMember, Sous Chef Posts: 2,870

    @SRPent - This thread is 3 years old, so the information may or not be viable today. To answer your question, you can save table data and reload it. Going to close this thread.

  • SlickZeroSlickZero Houston, TexasMember, Sous Chef Posts: 2,870
This discussion has been closed.