Would tables be the best way to go for a 'choose your own adventure' type game?
![slartibartfast](http://forums.gamesalad.com/applications/dashboard/design/images/defaulticon.png)
Hi All,
Just looking for a little direction of possible. I'm relatively new to Gamesalad, and have been spending the last month or two wrapping my head around the basics, watching lots of Tshirt Booths tutorials etc and working on my first trial game which is essentially a lunar landar / frogger hybrid. However, now that I'm feeling a bit more confident I have some ideas for a game that will heavily feature a 'choose your own adventure' text interface with some random elements / mini games etc. However, as most topics relate to games that aren't really txt heavy and as I haven't wrapped my head around tables yet I'm wondering if tables may be the way to go when dealing with a lot of text, choices and various paths you can go. I've yet to come across any examples of similar kinds of games with gamesalad, so if anyone can just let me know if tables might be useful for this kind of thing (or any other ideas on how to best implement a choose your own adventure within game salad).
Any advice would be greatly appreciated, and can I just add how helpful I've found the forums to be, it really is a great place to learn.
Thanks
Slartibartfast
Just looking for a little direction of possible. I'm relatively new to Gamesalad, and have been spending the last month or two wrapping my head around the basics, watching lots of Tshirt Booths tutorials etc and working on my first trial game which is essentially a lunar landar / frogger hybrid. However, now that I'm feeling a bit more confident I have some ideas for a game that will heavily feature a 'choose your own adventure' text interface with some random elements / mini games etc. However, as most topics relate to games that aren't really txt heavy and as I haven't wrapped my head around tables yet I'm wondering if tables may be the way to go when dealing with a lot of text, choices and various paths you can go. I've yet to come across any examples of similar kinds of games with gamesalad, so if anyone can just let me know if tables might be useful for this kind of thing (or any other ideas on how to best implement a choose your own adventure within game salad).
Any advice would be greatly appreciated, and can I just add how helpful I've found the forums to be, it really is a great place to learn.
Thanks
Slartibartfast
Best Answer
-
quantumsheep Posts: 8,188
Anyone named after a HHGTTG character is fine in my book
As to your question... it's a good one.
I've considered doing a couple of these myself. The first ever mobile game I ever made was for WAP phones, and it was a 'choose your own adventure' style game
I think flowcharts are your obvious friend to help plan the game and its structure ahead of any 'coding'.
Having recently (I know, late to the party) got heavily into Tables, I can't see how they *wouldn't* be useful in this kind of game.
Indeed, the whole game could be set on a single scene with the 'text' changed to the correct table reference depending on what you'd do.
So plan your game out beforehand if you can in as much detail as possible. Try and find variables that you can use within tables to cleverly manipulate text and images on a single screen.
As well as the technical side of things, I think the presentation and atmosphere is hugely important.
I think if you're going to make this sort of game the story has to be paramount, along with presentation, music and graphics to help build atmosphere.
Take a game like Zday.
It's a well written Zombie Survival choose your own adventure style game and it's really well presented and has some lovely comic-book style art. I recommend you play it!
In fact, I recommend you play as many of these kinds of games as you can. Dig out your old CYOA books as well if you need to for help and inspiration!
One important and very difficult thing to get across in these games *fairly* is combat.
If you're going to have combat in the game, try and make it as 'fair' as you can. No-one likes having to restart due to a random dice roll in favour of the enemy.
In fact, I'd look at pinball machines for inspiration for the mini-games/combat. I remember some having some simple mini games that were based on reaction speed for example.
Also, due to the limited buttons on a pinball machine, and the limited (usually dot-matrix) graphics, mini-games were designed to be easy to work out and understand very quickly.
Make sure it's fair throughout. You don't want to 'turn the page' to a location and find you're instantly dead. That's never fun.
Anyway, I hope that helps in some way!
Cheers,
QS :D
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
Answers
Thanks so much for the detailed, thorough and very helpful response...I will definitely start looking into tables in more detail and doing some experimentation. And I totally agree about getting some inspiration and planning things out in advance.
In fact it was Zday that started me thinking in this direction in the first place as it creates such a great atmosphere and is interesting to play through multiple times. And as a lover of pinball (I used to own the real tables of Twilight Zone and Scared Stiff) that is a great idea to look towards them for inspiration for quick fire reaction / timing based mini games (which is the direction I want to go in as I want to try and keep any combat elements at least partially skill based). In fact that has got me thinking about the spinning 'wheel of fortune' on the backboard of Scared Stiff which had a great balance between timing and a little bit of luck.
Mostly, after playing Zday I've been thinking about the ability to really add to the atmosphere over a traditional book based 'choose your own adventure'. Adding elements such as acheivements, atmospheric sound, an inventory, puzzle elements, simple mini games etc could really appeal in a retro way while at the same time providing something new. I think Zday goes some way in that direction but I have quite a few ideas on other parts of the game that I think could make it a very worthwhile project.
Anyway, thanks again for answering the question and the feedback as it is most useful and at least makes me think I'm going in the right direction. Using pinballs as inspiration for mini games isn't something I would have thought of (surprisingly considering how much I love them) and is a fantastic idea. Also, the ability to have time based situations (impossible with a paper book) is something I'm considering. Mostly though, I now need to flesh out my concept on paper somewhat (I will also be using Quest software on the PC just to rattle through some scenario's as it looks useful for just helping get the content down). And time to start delving into the somewhat scary area of tables, although I'm hoping that as with the rest of Gamesalad a little bit of experimentation and reading should get me through eventually,
Best wishes
Slartibartfast
As to tables - I can give you a quick example of how I use them for the new Air Supply game (though there are better ways I'm sure).
There are 100 levels planned in the game, so I made a table with 100 rows in it (let's call it Table_Platform)
Each row represents the corresponding level. When a level is cleared, it increased the variable game.level by 1.
Now, let's consider a platform. in the first column I'll put in the platform's X coordinate.
In the second column I'll put in the platform's Y coordinate.
In the third column is the platform's image name.
Now, in the platform actor itself I have three change attribute rules.
When attribute 'level cleared is true'
1. Change the X position to Table_Platform, row game.level, column1
2. Change the Y position to Table_Platform, row game.level, column2
3. Change the image Table_Platform, row game.level, column3..".png"
In the table I can now put in values in each row that could change for every single level if I so desired.
Using this method I can have one platform, in one scene, and as the level increase, it tells the table to look at the corresponding row and read the info from that.
Now let's apply that to your game. Let's say you took a traditional 'choose your own adventure' approach and numbered all your pages, 1-100.
Make a table called 'Table_Pages'. You'd have a row for each page in your adventure.
Then, for example, in the first column of every row you'd type in what happens on that page.
You'd then set a general 'page' attribute.
When you make your choice in-game, the page attribute would change.
So you'd make an actor that uses the 'display text' behaviour to 'describe' what happens for the page in your scene.
The display text behaviour would look something like:
Display text
lookup cell value (Table_Pages,game.pages,1)
By changing the page number (by pressing a button for example) the description would change.
That's a very basic example but I hope it gets you tinkering with tables. As I said, I came to the party late after they'd been introduced, but they have fundamentally changed the way I approach making my games, and have opened up huge possibilities.
I hope that helps you somehow!
QS
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
I have one actor top half of the screen that displays text depending on the 'page' you're on (and this is dictated by a button that changes the page number when touched - a 'choice' button if you like!).
The rows in a table represent the room numbers 1 to whatever and in column 1 I've put in the page descriptions. Then I just use display text to show the descriptions in the aforementioned actor.
The 'choice' button could use the same table, different column, to display text depending on the page you're on.
Additionally, you could add some graphics and call those from a table too.
It loads fast enough and has only 1 scene too.
So, using one table you would have pages 1-100 as rows representing pages.
Then for each 'page' (row) you'd have:
Column 1: Column 2: Column3: Column 4:
Page description Choice 1 Description Choice 2 Description Graphic file name
The fourth column I've put in so you can add elsewhere a graphic for certain pages if you like in another actor.
You could even add more columns for more choice buttons (which would complicate things but add more variety) and then have another table with the x/y coordinates for each 'choice' button in it depending again on the page number.
Hope that's clear - I'll continue tinkering as it's quite fun
Good luck,
QS :
D
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io