Questions about building an RPG

LittleCubeLittleCube Member Posts: 25
edited February 2015 in Working with GS (Mac)

I am just wondering how I can do random enemy encounters in my RPG game.

Comments

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

    It's kind of a big question. Can you break it up into smaller parts? Like "how do I choose a random actor to spawn?" or "How do I move enemies in a random arc?" or "How do I make an actor appear after a certain amount of time?"

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

  • LittleCubeLittleCube Member Posts: 25
    edited February 2015

    Hello, i am driving myself nuts trying to make an rpg, and am stopped short by the stupid textbox at the bottom, which i thought would be no prob at all, but it simply will not display anything. can someone please explain the simplest way to do this?

  • LittleCubeLittleCube Member Posts: 25

    I don't want the actual enemy to be seen on screen, i just want to know for example, if you are walking in grass, how do you make it so that, if you walk in the grass enough, you will go to the battle screen.

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

    Well that's a completely different question than you started with. I suppose you could have a timer or a collision rule and increase an integer attribute (game.grassCount) and then have a rule that changes the scene when game.grassCount reaches a certain value.

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

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

    @LittleCube13 said:
    Hello, i am driving myself nuts trying to make an rpg, and am stopped short by the stupid textbox at the bottom, which i thought would be no prob at all, but it simply will not display anything. can someone please explain the simplest way to do this?

    I've merged your threads. Let's keep this all in one place.

    What is the "stupid textbox at the bottom"?

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

  • jamie_cjamie_c ImagineLabs.rocks Member, PRO Posts: 5,772
  • POMPOM Member Posts: 2,599
    edited February 2015

    Not trying to bring you down or something, but building an RPG like Zelda or pokemone with enemies and text boxes and such, is a very complicated task.. I know from first hand trust me, so if you still not familiar with the basics of GS, e.g. Creating a "stupid" textbox, then you might wanna take a small step back, create a few mini projects with each project set a few objectives, for example, a projects that spawn actors, a project that moves an actor toward a specific point, a project that display text from table cells, doing all those stuff independently will hone your skills.. Best of luck :)

    Roy

  • frank067frank067 Member Posts: 56

    Have you taken a look at the template in deepblueapps?

    http://www.deepblueapps.com/zanda-zelda-template/

  • deej011deej011 Member Posts: 159

    I am also doing an RPG and this is probably my 4th or 5th attempt. jamie_c rpg conversation tutorial is really good for the text box problem. with the random spawning best thing would be to put a separate actor onto of the grass with a 0 Alpha and do a rule in this actor saying when collide with hero every random(min,max) change scene to battle scene. but trust me these are only tip of the iceberg problems you will have with RPG game.

  • SocksSocks London, UK.Member Posts: 12,822

    @BigDave said:
    build pong and ship it

    There's a good T-shirt in there.

  • jamie_cjamie_c ImagineLabs.rocks Member, PRO Posts: 5,772

    Good advice from @BigDave, if an RPG is going to be your first game. Hold off on that and do something much much smaller first.

  • LittleCubeLittleCube Member Posts: 25

    thank you all for the quick replies. also about the textbox problem, i made a textbox, and it displays nothing. and the rpg conversations video is what i based this on, so please no one link me to that. i did the tables and everything, it still displays nothing. Help?

  • LittleCubeLittleCube Member Posts: 25

    oh, and i got the whole "random enemy encounter thing", so thats out of the way. but recommendations would be awesome! ;)

  • LittleCubeLittleCube Member Posts: 25
    edited February 2015

    @Socks said:
    There's a good T-shirt in there.

    :D

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

    Recommendations for what? You haven't explained anything. Telling us you made a text box and it displays nothing is kind of like saying "I cooked some spaghetti and it didn't work." We need details.

    Screenshots of your rules would be a start.

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

  • LittleCubeLittleCube Member Posts: 25

    i just want to know a way to make a textbox that displays text.

    And i meant recommendations for how to do random enemy encounters.

  • LittleCubeLittleCube Member Posts: 25

    ok, now i see i didn't explain something. this is a textbox for a BATTLE scene. i made a table that holds all the text for the textbox, but yet it does nothing.

  • SocksSocks London, UK.Member Posts: 12,822

    @tatiang said:
    Screenshots of your rules would be a start.

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

    Sorry I couldn't help you more.

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

  • @LittleCube13
    To be able to create any type of game, especially a complex RPG, you must need to be able to slow down and think logically about what rules and behavior will tell the system what you want it to do.

    In an rpg your going to run into hundreds of problems more complex than the ones you are asking about. If you don't learn to think logically you won't ever make enough progress. Does this mean you give up? No, it might be a good idea to try a more simple project first, you may be able to slow down and continue with your RPG as well if you are determined.

    To think logically you must slow down and think, "what does gamesalad need to know in order for this to happen?" If you have a hard time explaining clearly to us what you want to happen, you will have a harder time telling gamesalad.

    So what does gamesalad need to know for a textbox to appear?

    1. It needs to know when to have it appear. (at a certain time, when a button is pressed, when an attribute is true, etc.)

    2. It needs to know where to have it appear. (what are the x and y coordinates on the screen? Is it on a scrollable layer or nonscrollable?)

    3. It needs to know in what order on the screen it appears. (the text needs to no appear behind the background images you won't see it!)

    4. Gamesalad needs to know what is going to appear. (What is the text? What does it say? What size is it)

    Thinking through these questions helps us solve problems on our own, when their is problem, or our game isn't doing something we want it means we aren't telling gamesalad the right thing.
    There are hundreds of reasons your text might not be displaying. Maybe your rule for showing the text is wrong, maybe you said when this attribute is true when really it should be false.
    Maybe the text shows up behind something.
    Maybe you are trying to make an actor display the text but that actor is set to not being visible.
    Maybe the table that you made with the text is not using text attributes, maybe they are set to be integers or something

    I don't know I didn't write your code, but I do know that learning to think through problems logically will be the difference in making games, often I see people come on these forums, run into problems that they cant explain or get answered they give up, these forums are good for asking about complex ideas or getting some advice, but overall if you want to make games you need to learn to figure it out

    I believe you can do it, that is why I write this.

  • AlchimiaStudiosAlchimiaStudios Member Posts: 1,069

    @LittleCube13 said:
    ok, now i see i didn't explain something. this is a textbox for a BATTLE scene. i made a table that holds all the text for the textbox, but yet it does nothing.

    Tables don't do anything on there own :) Let me help a bit if I can.


    Section 1 Display Text:

    To simply display some text you'd want to do this:

    Create a dialogue box actor

    Drag in the display text behavior

    Notice it has hello world displayed by default, leave it.

    Under the color section, change it to black or whatever color you want (something other then the color of the box)

    Go to the scene, drag in the box actor

    That's it you should now see hello world!

    Go back and change that hello world to anything (dont click expression) it should be displayed the same.


    Section 2 Display TableCellValue:

    You've now displayed some text. But you want to do more then that right?

    You want to call a table cell with text so you can use the table to hold conversations?

    So you've got make a table, call it dialogue.

    Make the data type "text" on the first column

    So that very first box in the table is at position 1,1 right? It is the first column and first row. Sort of like Excel.

    Input some text into cell 1,1, lets say "hello, i'm cell 1"

    Go back to you're display text in the dialouge box actor and click on the expression editor.

    You are now going to write an expression, this is somewhat similar to writing actual code. Keep in mind that there is a set syntax and that making a simple typo can break the whole expession.

    Go to the drop down menu for inserting a function and click TableCellValue

    Now in the expression editor you will see TableCellValue(table,row,col) this is where the syntax and typos come into play.

    To refer to the first cell you need to remember the position in the table, in this case 1,1.

    So that looks like this TableCellValue(Game.dialogue,1,1)

    The Game.dialogue is pulled from the left drop down menu for attributes (variables).

    Notice how the commas follow the same pattern as the original function. This is essential.

    Ok, so now you've got it referencing row 1, col 1 in the table dialogue.

    Time to preview scene, if all worked it should show your dialogue. If not it will probably show INVALID EXPRESSION. That means something went wrong, double check your typing.


    Section 3 displaying multiple cells:

    Go back to the scene level of the editor, create 2 new game attributes. Make them called ColumnID, RowID and of the type index.

    Go back to the dialogue actor and open the display text expression once more

    TableCellValue(Game.dialogue,1,1) is what it looked like.

    Change it to the following by replacing the number with the attributes we created:

    TableCellValue(Game.dialogue,Game.RowID,Game.ColumnID)

    This now means that it is referencing the table called dialogue and the row is whatever value the attribute RowID, same with the column (ColumnID).

    So if the default value is 0 for both, it's not referencing anything as 0,0 is not a table cel, if you remember earlier 1,1 is the first position in the table. (This is also poor logic and may cause crashes/unexpected behavior). you should change these in the creator master attribute list to a value of 1.

    Let's add some more text to the table before we continue, next add some text to column 1, row 2, and 3 (the cell below the first). We'll add "Hi! i'm cell 2" to cell 2, and the same but with a 3 to 3.

    Now go back to your dialogue actor.

    Let's make it so you can go from cell 1 to 2 to 3, etc with a rule.

    So create a rule:

    when touch is pressed:

    Change attribute Game.RowID to Game.RowID+1

    Go to the preview and try it out, now whenever you touch the actor it will change the row its looking at to the next row below it.


    There could be more steps depending on the complexity of the project but this should give you a good start to understand whats really going on when you are creating a system like this.

    Tackling an RPG is a big undertaking, and in terms of difficulty this is a fairly straightforward thing to create. Break things down into smaller bits and digest them one a time, and before you know it you will be a GS pro!

    Follow us: Twitter - Website

  • LittleCubeLittleCube Member Posts: 25
    edited February 2015

    @AlchimiaStudios said:
    Break things down into smaller bits and digest them one a time, and before you know it you will be a GS pro!

    @RossmanBrothersGames said:
    I believe you can do it, that is why I write this.

    Thanks for the encouragement. Thank you all. I'm sorry if I couldn't explain it better. But you all, nevertheless, have done your best to help me. Thank you. I now want to finish this project more than ever.

  • @AlchimiaStudios gave great advice in breaking things up into sections. There are many mechanics to an rpg, battle systems, maps, interactions, stores. Try and figure out one at a time,
    Start with what is most simple

  • LittleCubeLittleCube Member Posts: 25

    Perhaps, but I don't want to do this from a template, especially if it's not free. I'll just play with stuff and see what happens.

  • deej011deej011 Member Posts: 159

    I'm curious to know if you are still trying to build an RPG?

  • LittleCubeLittleCube Member Posts: 25

    @deej011 said:
    I'm curious to know if you are still trying to build an RPG?

    I'm not exactly sure what I might do. I might go to clickteam fusion but that seems a little out of hand for me at the moment.

Sign In or Register to comment.