Torque 2D/GenreTutorials/RPGOverview

From TDN

This page is a Work In Progress.

Contents

Overview, Planning, and Design


Introduction



Role Playing Game (RPG)

A Role Playing Game can be many things. It could be a valiant Knight on an adventure for good in a medieval fantasy setting. It could be a mercenary for hire in a futuristic tech/magical setting. It could even be a detective or adventurous sort in a modern setting. There are many classes and sub-genres of Role Playing Games. We will try and develop a very basic and fairly "traditional" Role Playing Game in which you can establish some essential systems and ideas for such a game. From here you should be able to develop this beyond our scope into something much more unique and interesting :)

This tutorial set will step you through creating an RPG in Torque 2D. Role Playing Games are often thought of as the hardest type of game to make, the most data oriented, the deepest ties to story and setting, and the most demanding for perfect interaction and gameplay. This may be or may not be exactly true, but one thing is certain: creating an RPG is not an easy thing to accomplish. So, we will start out slow and basic.





Overview



What will we go over?



The following will be covered in this tutorial set:

  • Overview, Planning, and Design (the current document)
    • Overview what will be covered in this tutorial set
    • Plan out the technical aspects of the game
    • Create a "quick and dirty" game design
  • Creating The World (utilizing Tile Maps)
    • Cover the basics of working with the Tile Editor
    • Creating a multi-layered Tile Map
    • Bring the Tile Map into Torque 2D to start as our game world
  • Setting up the World and Getting it to Scroll Properly (Three Methods: Zelda Style, Player in Center Moving in World, Player in Center with World Moving)
    • There are three typical ways to set up world maneuvering in an RPG
      • Zelda Style (The original NES and SNES Zelda)
        • the player moves independent of the camera until they reach the end of a "block," the camera then moves to the next block as the player enters it.
      • Player in Center Moving in World
        • A lot of traditional RPG's use this method, some of the original Final Fantasy games, Dragon Warrior, Breath of Fire (original ones), and many others.
        • The easiest way to think of this method is the camera being "mounted" to the player so the player is always in the center.
      • Player in Center with World Moving
        • In this method the player truly stays still though the proper move animations are played as the world scrolls by, this method can look just like the previous one and some of those games might have used this method.
  • Scripting your Player and adding Movement and Animations
    • Script a basic player "class" and add commands to respond to corresponding key presses
    • We will create the proper animation datablocks for moving in an RPG
    • Integrate the movement system and the animations properly
  • Initiating Combat in an RPG (Two Methods: Traditional - No Visible Enemy, Chrono Trigger Style - Visible Enemies)
    • First we will create some AI "classes" and functionality
      • Create an AI template system to easily group together data for attack distance, responses, and what groups of enemies that are together
      • Leave this open for further expanding in the next session (when covering AI)
    • Traditional - No Visible Enemy
      • You wander around until you are suddendly thrown into a battle via a transition screen (and often some sort of coarse sound)
    • Chrono Trigger Style - Visible Enemies
      • The enemies are either moving or static in the scene and either when you hit them or come close enough to them combat is initiated and player characters as well as enemies assume combat positions and then combat takes place in the same screen
      • Create a system for AI path patterns
  • Creating a Combat System and AI(Two Methods: Traditional Turn Based, Chrono Trigger Style - with a Turn Meter)
    • Traditional Turn Based
      • Fully turn based "Traditional" RPG combat, like most RPG games, you have a turn and attack
      • In this case we will simplify the turn basis to a players turn for all characters and then enemies turn
      • Develop some basic AI decisions on who to attack and how the computer will handle its turn
    • Chrono Trigger Style - Pseudo real-time
      • Similar to the traditional turn based though combat takes place in the same world you wander through
      • Turns are based on a per character basis with a meter that shows how long until the next turn for each of your characters
      • Develop some basic AI decisions on who to attack and how the computer will handle its turn on a per player basis
  • Develop a Basic RPG Dialog system
    • Create the proper GUI elements for it
    • Dynamically passing data to the GUI elements (and changing the elements dynamically)
    • Finalizing the system with full communication and interaction with NPCs
  • Creating an RPG Quest System With Journal
    • Set up a basic Quest system
      • Storing quest data
      • Triggering the quests
      • Triggering completion of quests and quest branches
    • Set up a basic Journal system for storing active and completed quests
    • Saving out data to an external file for both Quests and Journal entries
  • Developing a Saving and Loading System
    • Setting up our information to be saved
    • Save the proper information
    • Create a loading system to take the saved information and start the game properly
  • Creating a Basic Interface GUI
    • Introduction to the Torque GUI system by creating a main menu GUI
    • Create and implement an in-game GUI
    • Create a save and load screen
    • Implement character creation GUIs as well as some sort of "winning" and "losing" screen
  • Develop a Basic Plot Line along with a few Quests for a Sample Game
    • Now that the game systems are fairly complete we can create a very simple plot line and develop quests for them
    • Establish a final quest and upon completion trigger the "winning" screen
    • Have the "losing" screen be called upon death which will then allow you to go to the main menu and load a game







What will we have when finished?



When we finish this tutorial series, we certainly won't have a complete RPG. The good new, however, is that we'll be well on our way. Most of the important fundamentals will be there, and it will be up to you simply to make the game your own. A lot of work will remain, but I for one think you'll enjoy that part -- I know I will with my game.