Guys, I know it is kind of a dense read, but a lot of the questions being asked are addressed in the cookbook documentation linked from the original 0.9.90 post.
I'm contemplating giving out the project files of the demos - bear with me. It has nothing to do with Game Team One wanting to restrict you access. But if it comes from us, it will be considered an official demo which would require some clean up. Those demos were put together very quickly for the sake of the webinar.
Others may be content with poorly assembled templates but if it comes from Game Team One it has to be impenetrable. At least that is the standard we are trying to hold ourselves to.
I appreciate all of the questions from the webinar. I am very much looking forward to doing this more frequently with all of you and building up a solid peer-to-peer relationship.
@thebitmaster Ah, I see what you're saying. Its kind of strange that tables are listed as attributes anyways, and should probably be in its own category. I'm guessing its just an oversight. Not sure what craziness might occur if you attempted to change a table attribute...
You can trigger any number of additional "events" from one attribute change if that is how you have set up your logic. But the initial transaction of a purchase will only change ONE attribute. If that attribute is associated with other events once changed then that is separate from the built in functionality of IAP behaviors. Which also means that when you save and load the string of attributes that you are chaining together, you must remember to account for all of them in every situation. In the sake of a full game unlockable IAP, you could have multiple pieces of game content with their own On and Off game level attributes that flip to true when the game.unlockgame attribute is true when purchased. I would say try to be as light weight with your chain to avoid issues and tedious debugging.
It seems totally doable, but could be very messy if abused.
Just wanted to add that I really enjoyed hosting the webinar today with Billy! It was great being able to interact with you guys in a little more personal of a way and read/moderate your questions. I hope that the experience was enjoyable (and informative) for you guys too!
@laurensalad I know my questions seems a bit... Like the answer is known... But is there any chance there will be a webinar for dedicated free users??, I hope to upgrade to pro maybe next month or depending on when I get my four apps that are all finished, (just waiting on art for the last one) Out ... Just hoping there will Be a Webinar for dedicated free users -- I can imagine that IAP's Are triggered by a boolean... and I'm sure i can work them out... And TSB's Tutorials on tables are great!, Just wondering if they're would be a webinar...
@laurensalad I'm sure you received a lot of questions that weren't answered because the time went off. Do you think it will be possible for you to make a post here to answer them?
@LeonardDeveloper It is so nice to see the interest from free and pro users alike for the webinars. We are so proud of the work of Billy and GameTeamOne at GameSalad and really believe that they are masters of the GameSalad tool. As for your question about webinars for free users- right now we are exploring many different options for more webinars, templates, video resources for our different groups (free and pro) of developers. And we will take note of everyone's interest and see what the best avenues will be. Until then- a great place for free users to sharpen their skills is looking in GameSalad Cookbook. Just yesterday we posted some very detailed information on the implementation of both Tables and In App. So, that's a great place to get started while you are waiting on upgrading to Pro.
@laurensalad Nice to see (or hear) the 'GS experience' improving and becoming more personal lately. On a practical note it's also good to have Bill (or is it Billy?) using new GS builds everyday and then being able to give us advice on best practices based on what he and his team have found with the practicalities of the SDK.
Would be nice to have these webinars more like a real life training event/seminar. How about being able to hear each other for the Q&A part? i.e we can hear each other ask questions and respond. Also, how about similar events but with different topics? So game development in general, not just GS tutorials. Perhaps mini GDC type things with specific themes to each talk?
I've said it before but one of the positives to GS is the community. So I'd like to see more things like this being done.
@laurensalad Say we're not making a game that requires a lot of data that would be easier to cross reference on a table. (30 odd attributes) Is it still recommended to use tables to store all these attributes. What I really mean, is there an increase in performance when using tables rather than the usual method for a small amount of attributes?
@olster1 Think of a table as a whole as a game attribute. So its a game attribute with a lot of attributes inside of it (cells). I would say that if you have 30 attributes you will not only get a small performance gain from making them table data, but will have a much faster experience editing and adding new data.
We still use game attributes all the time, so don't think I'm telling you to move completely away from them. Attributes that require updating and changes at run time like a position constraint, or a boolean flag that a button has been pushed will still need to be game attributes. But static data attributes like a hero name chart, initial stats, quest texts, random number generators, decks of cards, etc would be much better as a table.
I also want to add that some of the performance gain can be due to the reduced amount of logic you may need.
Say you wanted to spawn a random type of enemy, where each enemy has a different set HP, Attack, Damage, Image, size, animations, movement, etc. Normally, you may need to have rules that spawn a certain enemy from its specified prototype. Or you may pile all the different types of logic in one actor. The latter would mean you may need to duplicate logic for each enemy type to set specifics of that enemy type. Now with tables, you can store the data and reference the row for an enemy type to change the actor attributes.
@laurensalad Thank you very much for your Quick reply, I had a look at the Cookbook tutorials and they're great!, Billy and GTO Are really and truly the best!, I'm very delighted to here that you are working on having more webinars for free & Pro users, It will be great to actually get, live video tutorials!, I shall be upgrading to pro soon so Im sure i can look forward to the extra features! Thanks, LeonardDev
I'm really looking forward to giving Tables a good workout tonight at Strange Brew. The timing is perfect, because I'm at that "the first level is done" stage of the game, and I need to add various permutations for additional levels, and the Table mechanism looks like just the thing to do it with. Thanks for getting the into Creator!
How was a table value used to specify a graphic in the Webinar? I don't remember.
I saw an example in the Webinar where a Table value was being used to drive a graphic. There is no graphic type in tables, and I seem to recall that it was a text value. Was this simply a situation where the text value was being compared in a rule and the correct Change Image was executed, or is there some more direct method of using the text from a Table to specify which graphic to load?
I used the Table feature tonight to speed the development of my latest game, and I can say it was *much* better than having to put everything into the code. Thanks again for the feature!
@thebitmaster Lots of folks have been asking about the image swapping portion of the shop demo we showed. Many may not realize that you can change an actor image using the Change Attribute behavior as opposed to the Change Image behavior. You can change self.image to ANY image in your library. All we were showing in the demo was a Change Attribute behavior with a table cell reference for the self.image value. Then in the table cell you can just type in the name of the image (without ".png"). Simple yet effective.
@FryingBaconStudios We are definitely working on it. GameSalad management is leveraging the knowledge of Game Team One to produce more documentation, tutorials and templates to help all of our community get up to speed with some of the less obvious, yet largely effective methods to set up game logic. Please stay tuned, lots on our plate right now but passing on our tips and tricks is definitely one of them.
personally i like how it was before, you had to dig through templates and tutorials by individual users, you are able to search the forum effectively, resulting in different people of different methods each producing unique titles.. now... forum search doesn't work that well, can't even find an answer without asking new ones... template searching within the software is giving useful results as before.. cookbook is extremely hard to navigate... what are the chances that someone will have the exact question as the cookbook has given? not very likely... i think some of the older members of the forum has been doing things that "just work" such as T-shirt booth's tutorial that gives us detailed and easy to follow instruction on tools... some of the members posting a compilations of links and resources.. and also just knowledgable members answering questions that comes up so frequent they can almost answer it blindfolded... i think instead of depending so heavily on GTO the weight of the member's methods should also be considered, since they ARE the one's on the field fighting the battle, building the castle, or whatever you'd like to call it... but as far as i'm concerned apple products are so mesmerizing because they are so easy to use, most of them doesn't even come with a "user's manual" and yet people share tips and tricks and secret menus among users (it's call free marketing,+word of mouth) ... and IN-N-OUT burger is so great because there's only 3 combo on the menu and a load of secret menu items to be pass along the royal "fans" amongst themselves.
adobe doesn't attempt to create a tutorial for their software... they create a market that feeds on tutorial materials and most of them are much much better than what adobe does themselves with their in house design team... and the list goes on.. u get the idea.
p.s. the are however things that GS should focus on documenting, such as detailed publishing work-float, you don't want too many variations floating around, things like optimization tips, since users have to literally testing them while they are more like things that is already "designed" into the program and it wouldn't take much effort for the programming team to document them, lastly things like best practices as GS has been doing they are great... but tutorial? how to design games? how to use this to achieve that? pretty useless if you'd to ask me, the possibilities are limitless and by giving an example you are already limiting the users.
It would be nice if the forums worked like forums should - there is a thread about it somewhere - probably lost and certainly impossible to find with the search engine!
The cookbook entry on iAp misses much about testing/sandboxing - it does not describe how itunesconnect and the app speak, whether it works with AdHoc builds (or how) and how far do you have to have the iAp product ID in the system of approval..very light on. I have not been able to get a successful test of iAp yet thru GS. I will wait for the coming TSB video and hope he does his usual excellent job. But to be clear it seems iAp code works well in its function and implementation it is the interaction between iTunesconnect and GS builds where it gets abstract (as usual). Not having a complaint session I am very happy these additional functions are here - I just need to be a little more patient - more info would help..even getting a post of the webinar is a beginning!
@LycetteBros Apple's IAP servers talk to your game via the app bundle identifier associated with it. If you set up a new app on iTunesConnect and specify a bundle, this is what gets looked up at the time of the purchase. Every IAP item you set up on the Apple side will be associated with this bundle as well. In order to properly test this in Sandbox Mode publish an AdHoc build of your project with the IAP properly linked via the Product ID per item. This will ping Apple's sandbox server and allow you to simulate purchases using a test user account that you set up through iTunesConnect as well (covered in the Cookbook documentation).
BTW, your app and items do not have to be approved by Apple in order to test ad hoc builds. Your IAP will not be submitted for review until you submit a binary.
Further clarification for those who do not know how to sign into a test user account on device: 1- Go into SETTINGS app 2- Go to STORE section 3- If you are not signed in already it should just have the SIGN IN button visible. Click it and sign in using the test account email and password you set up. 4- If you are currently signed into your apple account, you will see options for automatic downloads followed by a button with your user name on it. 5- click the user name to bring up a dialog where you can choose to SIGN OUT. 6- repeat step 3
Comments
I'm contemplating giving out the project files of the demos - bear with me. It has nothing to do with Game Team One wanting to restrict you access. But if it comes from us, it will be considered an official demo which would require some clean up. Those demos were put together very quickly for the sake of the webinar.
Others may be content with poorly assembled templates but if it comes from Game Team One it has to be impenetrable. At least that is the standard we are trying to hold ourselves to.
I appreciate all of the questions from the webinar. I am very much looking forward to doing this more frequently with all of you and building up a solid peer-to-peer relationship.
Thanks!
No. And it's not even recommended."
What if IAP purchase changes 1 attribute. But if attribute is changed 2+ attributes are changed.
Example AttributeOne is 0 IAP changes AttriButeOne to 1
AttributeTwo is 0 if AttributeOne is 1 ...Change AtributeTwo to 1
AttributeThree is 0 if AttributeOne is 1... Change AttributeThree to 1
Therefore IAP changes 1 atribute.. in retrun changes one or more attributes. Or am I reading the question wrong?
You can trigger any number of additional "events" from one attribute change if that is how you have set up your logic. But the initial transaction of a purchase will only change ONE attribute. If that attribute is associated with other events once changed then that is separate from the built in functionality of IAP behaviors. Which also means that when you save and load the string of attributes that you are chaining together, you must remember to account for all of them in every situation. In the sake of a full game unlockable IAP, you could have multiple pieces of game content with their own On and Off game level attributes that flip to true when the game.unlockgame attribute is true when purchased. I would say try to be as light weight with your chain to avoid issues and tedious debugging.
It seems totally doable, but could be very messy if abused.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Too bad that we couldn't attempt webinar.
Is it possible to get record of it?
thanks
I know my questions seems a bit... Like the answer is known... But is there any chance there will be a webinar for dedicated free users??, I hope to upgrade to pro maybe next month or depending on when I get my four apps that are all finished, (just waiting on art for the last one) Out ... Just hoping there will Be a Webinar for dedicated free users
--
I can imagine that IAP's Are triggered by a boolean... and I'm sure i can work them out... And TSB's Tutorials on tables are great!, Just wondering if they're would be a webinar...
As for your question about webinars for free users- right now we are exploring many different options for more webinars, templates, video resources for our different groups (free and pro) of developers. And we will take note of everyone's interest and see what the best avenues will be.
Until then- a great place for free users to sharpen their skills is looking in GameSalad Cookbook. Just yesterday we posted some very detailed information on the implementation of both Tables and In App. So, that's a great place to get started while you are waiting on upgrading to Pro.
Would be nice to have these webinars more like a real life training event/seminar. How about being able to hear each other for the Q&A part? i.e we can hear each other ask questions and respond. Also, how about similar events but with different topics? So game development in general, not just GS tutorials. Perhaps mini GDC type things with specific themes to each talk?
I've said it before but one of the positives to GS is the community. So I'd like to see more things like this being done.
Shaz
__________
On the GS asset store: Rock Music, Pack 2
Casual & Platformer Music, Pack 3
Atmosphere Music, Pack 1
Think of a table as a whole as a game attribute. So its a game attribute with a lot of attributes inside of it (cells). I would say that if you have 30 attributes you will not only get a small performance gain from making them table data, but will have a much faster experience editing and adding new data.
We still use game attributes all the time, so don't think I'm telling you to move completely away from them. Attributes that require updating and changes at run time like a position constraint, or a boolean flag that a button has been pushed will still need to be game attributes. But static data attributes like a hero name chart, initial stats, quest texts, random number generators, decks of cards, etc would be much better as a table.
Say you wanted to spawn a random type of enemy, where each enemy has a different set HP, Attack, Damage, Image, size, animations, movement, etc.
Normally, you may need to have rules that spawn a certain enemy from its specified prototype. Or you may pile all the different types of logic in one actor. The latter would mean you may need to duplicate logic for each enemy type to set specifics of that enemy type.
Now with tables, you can store the data and reference the row for an enemy type to change the actor attributes.
Thank you very much for your Quick reply,
I had a look at the Cookbook tutorials and they're great!, Billy and GTO Are really and truly the best!, I'm very delighted to here that you are working on having more webinars for free & Pro users, It will be great to actually get, live video tutorials!, I shall be upgrading to pro soon so Im sure i can look forward to the extra features!
Thanks,
LeonardDev
How was a table value used to specify a graphic in the Webinar? I don't remember.
I saw an example in the Webinar where a Table value was being used to drive a graphic. There is no graphic type in tables, and I seem to recall that it was a text value. Was this simply a situation where the text value was being compared in a rule and the correct Change Image was executed, or is there some more direct method of using the text from a Table to specify which graphic to load?
Thanks!
Scott
Lots of folks have been asking about the image swapping portion of the shop demo we showed. Many may not realize that you can change an actor image using the Change Attribute behavior as opposed to the Change Image behavior. You can change self.image to ANY image in your library. All we were showing in the demo was a Change Attribute behavior with a table cell reference for the self.image value. Then in the table cell you can just type in the name of the image (without ".png"). Simple yet effective.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
We are definitely working on it. GameSalad management is leveraging the knowledge of Game Team One to produce more documentation, tutorials and templates to help all of our community get up to speed with some of the less obvious, yet largely effective methods to set up game logic. Please stay tuned, lots on our plate right now but passing on our tips and tricks is definitely one of them.
adobe doesn't attempt to create a tutorial for their software... they create a market that feeds on tutorial materials and most of them are much much better than what adobe does themselves with their in house design team... and the list goes on.. u get the idea.
p.s. the are however things that GS should focus on documenting, such as detailed publishing work-float, you don't want too many variations floating around, things like optimization tips, since users have to literally testing them while they are more like things that is already "designed" into the program and it wouldn't take much effort for the programming team to document them, lastly things like best practices as GS has been doing they are great... but tutorial? how to design games? how to use this to achieve that? pretty useless if you'd to ask me, the possibilities are limitless and by giving an example you are already limiting the users.
The cookbook entry on iAp misses much about testing/sandboxing - it does not describe how itunesconnect and the app speak, whether it works with AdHoc builds (or how) and how far do you have to have the iAp product ID in the system of approval..very light on. I have not been able to get a successful test of iAp yet thru GS. I will wait for the coming TSB video and hope he does his usual excellent job. But to be clear it seems iAp code works well in its function and implementation it is the interaction between iTunesconnect and GS builds where it gets abstract (as usual).
Not having a complaint session I am very happy these additional functions are here - I just need to be a little more patient - more info would help..even getting a post of the webinar is a beginning!
Apple's IAP servers talk to your game via the app bundle identifier associated with it. If you set up a new app on iTunesConnect and specify a bundle, this is what gets looked up at the time of the purchase. Every IAP item you set up on the Apple side will be associated with this bundle as well. In order to properly test this in Sandbox Mode publish an AdHoc build of your project with the IAP properly linked via the Product ID per item. This will ping Apple's sandbox server and allow you to simulate purchases using a test user account that you set up through iTunesConnect as well (covered in the Cookbook documentation).
BTW, your app and items do not have to be approved by Apple in order to test ad hoc builds. Your IAP will not be submitted for review until you submit a binary.
1- Go into SETTINGS app
2- Go to STORE section
3- If you are not signed in already it should just have the SIGN IN button visible. Click it and sign in using the test account email and password you set up.
4- If you are currently signed into your apple account, you will see options for automatic downloads followed by a button with your user name on it.
5- click the user name to bring up a dialog where you can choose to SIGN OUT.
6- repeat step 3