Overview

TBG Suite Overview
 Top Next
Welcome
Welcome to the TBG Engine Suite! TBG is a GUI based Text Based Game engine that lets you create your own MUD styled games with the quick click of the mouse button, and now with the new Alpha version you can develop your games and play them on your Pocket PC or Windows Mobile devices.

The Documentation
The documentation for the Engine Suite is under constant construction until the final release of the engine is made sometime in late 2007 or early 2008. The documentation is broken down into a PC Edition and a Mobile Edition so you can quickly find the information you are looking for, for the correct platform. While the documentation included with the PC Edition of the TBG Engine Suite contains content for both the Windows XP and Windows Mobile platform, the documentation installed onto the Windows Mobile device only contains the Windows Mobile related documentation to help reduce the file size.

TBG Engine Suite Updates

The TBG Engine Suite usually has an update monthly, so I can address bugs, or give you the latest editor or feature implemented into the engine as soon as possible along with updating the documentation and addressing any errors found in the source code and development tools.

The Source Code

The TBG Engine Source code is now shipped with TBG Engine Suite allowing you to modify the Source code for either the Windows PC or the Windows Mobile platforms, it's up to you! For more information on how to Edit and compile the source code please refer to the Introduction to the Source Code


Features
 Previous Top Next
A World of Text
The TBG Engine Suite is a set of GUI based tools that are being developed to create Text Based Games for Windows XP and now with the Alpha release of the engine, Windows Mobile! Want to create a room? Just a couple clicks of the button and you're done! Need to add an item? Simply use the Item Wizard styled editor to create it, then with a single click of the mouse button you can have it added into your room in just a matter of seconds! The new TBG Engine Suite is the first MUD styled Game Engine that is GUI based and can run on a mobile platform along side the desktop PC!

The Tools
The TBG Engine currently includes 6 editors\tools that developers will use to design their text based games. Each editor will work the same on both the PC and Mobile versions of the engine. While the editors might look a little different you can achieve the same results, regardless of which platform you are currently running the Engine suite on.
The included 6 editors are listed below along with an explanation of how the editor is used in the course of development.
Project Editor | Manages all project related information, along with testing(PC Edition only) and publishing your project
Room Editor | Create rooms, link them together, place objects into the room all with a couple clicks of the mouse.
Item Editor | Quickly create healing or damaging items, add Gold to the player, create a weapon or armor that can be used throughout your project.
NPC & Dialog Editor | Create NPC's that can talk and interact with the user. A Branching Dialog Editor is built into the NPC Editor so the player can interact with NPC's and help move the story line along.
Monster Editor | Create your own custom monsters; assign them skills that have been created with the Skill Designer and then place them into the world with the Room Editor.
Skill Designer | The skill designer is currently only used by the Monster Editor. While users can't have skills assigned to their players just yet, it is a feature being planned for the near future.
TBG Runtime | Play the projects that you have created or downloaded from other users! The runtime works similar to a MUD styled game, the user enters commands through text and the engine outputs the results to the window. There is an optional GUI that can be turned on or off, allowing the users to move about the rooms with the click of a button.

What's Under the Hood

The TBG Engine Suite is currently being developed for Microsoft’s Windows XP, Microsoft’s PocketPC 2003 and Windows Mobile compatible devices.
The TBG Engine Suite has been written in Visual Basic.Net 2003 for the PC Edition and Basic4PPC for the Mobile Edition. The Source code to both the PC and Mobile Editions of the engine can be downloaded and modified to fit each developers needs for his\her projects. The source code has been well documented and the TBG Engine Suite includes a complete set of tutorials on how to use the TBG Engine Suite's Game Development Tools and documentation on how the source code is laid out, what the major components are and what the differences are between the Mobile version and the PC version.
Development on the Mobile edition has just started and you might encounter some bugs, as development of the TBG Engine Suite moves on, extensive testing is done to ensure no issues exist. If any due, I will work hard to resolve the issue and get the fix released ASAP.


What's New
A Work in Progress
The TBG Engine suite is still under development, it has barely entered into it's Alpha stage and still has quiet a bit of work to be done. The TBG Engine Suite has come along ways since the pre-alpha releases and has become alot more stable. With each major update to the TBG Engine Suite you will find a detailed listing of all the changes, additions and fixes to the Suite here. Minor updates will not be placed here, please refer to the included progress report found under TBGSuite\Docs\Progress.txt

Feature | Description
Windows Mobile Device Support | TBG Suite now has support for Pocket PC 2003 and Windows Mobile 5.0 devices.
Source Code Released | For the first time in over a year the source code has been released. This means the TBG Engine Suite is, once again, open source and best of all, it will be free!
Improved Code | The PC version of the engine has underwent a major overhaul to clean up and organize the code structure for the public release of the source code.
Help Documentation | Documentation is now included with the TBG Engine Suite! You no longer need to track down the html tutorials, but now you have a complete set of documentation at your finger tips.


PC & Mobile Differances

PC & Mobile Differences
Best of Both Worlds
The TBG Engine Suite is now being ported over to Windows Mobile devices! This means that you can take your project with you on the go! Imagine being able to edit your project from your mobile device, publish it, then email it to a friend, here what they have to say about it and then continue developing. When you get home, connect it to your PC and sync the device! Now you can continue where you left off right on your desktop!

I am working hard to keep the PC Edition and Mobile edition of the TBG Engine Suite with the same features and functionality. However, due to limitations by the Mobile environment, some features will be left out of the Mobile Edition. The features that will not be ported over to the Mobile Edition will be documented under the Mobile Documentation as to why it was not included, along with a way to work around the missing feature so that you can achive the same thing, just with a little manual work.

The Table 1.2 shows what features the PC version has and what features the Mobile version has.

Table 1.1
Support | Meaning
Yes | Feature is fully supported at time of release.
No | No plans to ever support the feature.
Partial | Feature has not been fully completed
Planned | Feature will be added in the near future.

Table 1.2
Feature | Windows PC | Mobile Device
Project Editor | Yes | Yes
Room Editor | Yes | Patrial
Item Editor | Yes | Planned
NPC & Dialog Editor | Yes | Planned
Monster Editor | Yes | Planned
Skill Designer | Yes | Planned
Test Project | Yes | No
Publish Project | Yes | Planned
Import Existing Project Files | Planned | No
Source Code | Yes | Yes
Networking | Planned | Planned
Forest Generator | Yes | Planned


Engine Progress
Planned Features
Below is a list of features that I am working on incorporating into the TBG Engine Suite. Features that I have already started on will show the percentage completed.

Note that the Cross Platform Sync shows how close the Mobile Device and the Windows PC editions are to each other. Currently the Mobile Edition is at 25% meaning it only has 25% of what the Windows PC version has. Once the Mobile Device and the PC Edition are at 100% you will not haft to worry about the Mobile Edition missing any pieces that the PC Edition has.

Table 1
Feature | Windows PC | Mobile Device
Cross Platform Sync | 100% | 15%
Project Editor | Completed | 80%
Room Support (Editor & Runtime) | 95% | 33%
Room Editor: Room Finder | Planned | Planned
Item Support (Editor & Runtime) | 50% | Planned
Monster Support (Editor & Runtime) | 75% | Planned
NPC Support (Editor & Runtime) | 80% | Planned
Skill Support (Editor & Runtime) | 50% | Planned
Import Existing Project Files | Planned | No Plans
Networking | Planned | No Plans
Forest Generator | 25% | Planned
Basic Pre-Built Scripts | 5% | Planned
Shop Editor | Planned | Planned
Player Generator(Runtime) | Planned | Planned
Roaming NPC's | Planned | Planned
C# Port(After Mobile Port) | Planned | No Plans
2D Battles | Planned | No Plans
XNA Port (After C# Port) | Planned | No Plans
XBox 360 Port (After XNA Port) | Planned | No Plans


Introduction To Getting Started

Getting Started
Introduction
TBG Engine Suite has a complete set of authoring tools designed to make the creation of your worlds as simple as possible. However, before you can master the tools included with the Suite, you will need to know what tools are available and what they do, and that's exactly what this chapter is all about. The TBG Engine Suite has included every tool you'll need to develop your Text Based Game! Please refer to the Engine Progress topic to view which editor the Mobile Edition currently has support for.

How It's Laid Out.
The documentation has been designed to help you better understand how to get the most out of the TBG Engine Suite. By starting out in the Getting Started chapter and working your way through the documentation one chapter at a time you will have the TBG Engine Suite mastered in just a couple of hours!

Make it Quick
If you don't want to sit and read the whole documentation then I would suggestion that you at least read through the Using the Tools chapter along with the Creating Your first Project


Project Editor
What is it?
The Project Editor (shown in Figure 1) is where you will create and manage your projects.

What Is It For?
From here you will access all of the available editors, assign custom messages, create your story line and set project specific settings. You can publish your project from here as well as test your project(PC Version only).

Figure 1


Room Editor
What is it?
As you develop your game with the TBG Engine Suite you will need to create rooms for the players to exist inside of, which is done using the Room Editor (Shown in Figure 1) Each room requires a world in order for it to be created, and each world created can have an unlimited amount of rooms.
What Is It For?
The rooms within each world are connected to each other via doorways. Each room has 4 doorways (North, South, East and West) that can be connected to another room either in the same world or in another existing world. Each room has it's own description that you can specify that will inform the player of what kind of environment it is currently standing in. Each room can have custom messages or they can use the default messages(Shown in Figure 2). From the Room Editor you can add objects created with the rest of the editors included with the Suite Tools. Items, NPC's, and Monsters can be added here.

Figure 1

Figure 2


Item Editor
What is it?
As players move through the game your creating, the player is going to need items to heal themselves, give them better weapons or a few keys here and there to unlock some doors(Not implemented yet). That's what the Item Editor(Shown in Figure 1) is for. Create your Items and then place them into the room with the Room Editor

What Is It For?
The player will need items to help them move through the game. A game with no items in it becomes pretty boring to play. If the character has no way of healing themselves how are they ever going to survive? If they can't upgrade their weapons how will they fight stronger monsters? The Items you create for the project will play an important role in the game, even though you wouldn't think so.

Figure 1


NPC Editor
What is it?
The NPC Editor(Shown in Table 1) lets you create Non-Playable-Characters for your game. The NPC's will give your project life, as players will be able to interact with them and help move the story along

What Is It For?
When playing a game you don't want to just walk around the environment, moving from room to room with no interaction becomes boring pretty quick. You can use the NPC Editor to create Interesting story lines that will effect the way the game is currently being played. While scripts and triggers have not bee implemented into the Engine Suite yet, this is a feature that will be added very soon to help improve the gameplay of your project.

Table 1


Dialog Editor
What is it?
The Dialog Editor(Shown in Table 1) is exactly what it sounds like. While it is actually built into the NPC Editor you can use the Dialog Editor to create dialog for your project that NPC's can use to assist with the flow of the game. The Dialog Editor has support for Dialog Branching which allows the player to hold a nice conversation with any NPC.

What Is It For?
You don't want to have a boring game! Non-Playable Characters make the game more interesting and by assigning the NPC some dialog it will help the player to understand what is going on in the world it's character lives in and to assist the player in figuring out what it should do next.


Monster Editor
What is it?
The Monster Editor(Shown in Table 1) lets you create monsters that will roam the rooms you create. Once created you will use the Room Editor to add the monsters to the room.

What Is It For?
Games are boring if there is no challenge to them. By adding some monsters to your project you will increase the difficulty of the game and the game will last longer due to players needing to level up in order to fight a powerful boss.

Table 1


Skill Designer
What is it?
While you could play through an entire game without needing to use any skills, it is always a nice addition to any game to give objects within the game specific skills to achieve a specific task. That's where the Skill Designer comes in(Shown in Table 1). Create skills and assign them to a specified object in your game!

What Is It For?
Players, Monsters and NPC's will be able to use skills with the engine. Currently only Monsters can use skills, but this is a feature I will be working on once the Alpha version has been released.

Table 1


Run Time Components
What is it?
The Runtime Component(Shown in Table 1) is what allows users to play your final product. With the Runtime Component you can test your game from within the Editing Suite (PC Edition only) or publish your project and play the game outside of the TBG Engine Suite.

What Is It For?
This is the file that will be distributed along with your project, with the Runtimes other people will be able to play your project without needing to download the full TBG Engine Suite.

Table 1


Introduction To Included Source
What is it?
The TBG Engine Suite includes the source code that was used to develop the TBG Engine Suite. The Source Code has been made available to allow you to modify the Engine however you want, so that each project can have a custom version of the engine built, tailored to what the project needed.

The TBG Engine Suite has been wrote on both Windows XP and Windows Mobile Devices. The PC Edition and Mobile Edition are two separate projects each compiled with a different programming language. Each language will need to be purchased before you can open or compile the source code. The TBG Engine Suite will always come shipped with a compiled version of the Source Code so if you don't want to deal with compiling you won't haft to.


Requirements
What you need
The source code for TBG Engine Suite is split into two different projects, a Desktop PC project and a Mobile Device project. In order to modify and compile the source code you will need a different compiler for both platforms.

For the PC Edition you will need Microsoft's Visual Basic.NET 2003 along with the .NET Framework V1.1. Visual Studio 2005 is not supported and I currently have no plans on supporting it until after I have both the PC and Mobile Edition's synced 100%. If you want to migrate the engine over to Visual Studio 2005 please feel free to do so. There will be quiet a bit of fixing that will need to be re-done. I have already messed with porting the engine to 2005 and it turned into a big mess, so for right now 2003 will be the only supported language for Desktop PC's. Once TBG Mobile and PC Editions are synced I will begin porting the engine into Visual C# 2005.

For the Mobile Edition you will need to purchase a copy of Basic4PPC which can be found at www.Basic4PPC.com . The price is $30 at the time of this documentation being wrote. Basic4PPC is a Visual Basic styled programming language that allows you to write, run and compile applications for both Desktop PC's and Windows Mobile Devices. Basic4PPC supports PocketPC 2000, PocketPC 2002, PocketPC 2003, Windows Mobile 2003 and Windows Mobile 5.0


Windows XP
PC Edition
The PC Edition of the TBG Engine Suite is only supported on Windows XP. Modifying the source code will require Visual Basic 2003. As stated in the requirements topic, Visual Basic 2005 is not currently supported, and if it's ever supported it will be for a very short time since the engine is going to be ported to Visual C# once I have it ported to Visual Basic 2005.

The PC edition of the engine is broken down into manageable classes, modules and forms. There are some utility classes included to help with file searching and managing and each editor has been given it's own class that contains all of the editor specific code. The Engine starts up in the 'Sub Main()' method found in the Startup.vb Module. For more information regarding the source code please refer to the Source Code Chapter found in this help file


Windows Mobile Devices
Windows Mobile Edition
The Windows Mobile Edition of the TBG Engine Suite supports PocketPC 2000, PocketPC 2002, PocketPC 2003, Windows Mobile 2003, Windows Mobile 5.0. Modifying the source code will require Basic4PPC which can be found at www.Basic4PPC.com . I do have plans of migrating the entire engine into Visual Studio 2005 and developing the PC Edition and Mobile Editions from there. However, until that happens the TBG Engine will continue to be developed in Basic4PPC.

The Mobile Edition of the engine is broken down into Seperate files for each editor. Unlike the PC Edition, each Editor has a standalone executable that is executed from within the Project Editor. The TBG Engine Suite can be started via the TBGEngineSuite.exe found in the root directory of the install folder, while each editor is located under the bin folder. Each editor can't be started outside of the Project Editor. The Mobile Edition starts up using the 'Sub App_Start' method found in the TBGMobile.sbp. For more information regarding the source code please refer to the Source Code Chapter found in this help file


Introduction To The Tools
Getting to know the Tools

If you have read through the Getting Started chapter then you will already have an understanding of what tools the Engine Suite includes and what each tool is used for. Now that you have that basic knowledge we will expand on it by explaining how each tool works, what it's features are and how you would use them.

Creating a Project

If you want to just go straight into developing a new project then please review the Creating Your First Project Chapter.


Creating a project
Getting Started

The Project Editor is the main editor in the TBG Engine Suite. From here you will access all of the other editors, and make adjustments to the project as they are needed.
With the Project Editor you can create, manage, or delete projects as needed, as well as test and\or publish your projects.

So lets get started create a new project. Once the TBG Engine Suite opens up for the first time you will receive an informative message letting you know that TBG Engine Suite will be creating needed directories for the engine to function correctly. The TBG Engine will generate the needed directories on the fly so if you ever go to re-distribute the engine you will only need to distribute the TBGEngine PC.exe file.

Table 1.1

Creating the Project

Creating a project is simple. From the Projects menu select New Project (Table 1.2)

Table 1.2

Giving it a name?
After selecting New from the Projects menu you will be prompted to enter a Project Name(Table 1.3) and an Author Name (Table 1.4) For this chapter I will be using the available sample project Kingdom of Adriana (Provided online)

Table 1.3

Table 1.4

Final Thought
Now you should see your project loaded into the Project Editor ready to be edited. Note that the Editors menu option is now visible. Editors are not accessible until a project has been loaded or a new project is created.

Table 1.5


Editing Project Information
Making it Your Project
Editing the project information is pretty simple and self explanatory. Below we have an image of a loaded project.

GUI Controller
The GUI controller is a feature used in the runtimes while the player plays the project. The GUI Controller is a set of GUI buttons that are visible to the user allowing him\her to click a button and travel in the direction that they want to go, instead of making them type in the commands manually. A picture of the GUI Controller is displayed below in Table 1.2 and then a picture of the runtimes without the GUI Controller in Table 1.3

Table 1.2

Table 1.3

Invalid Direction Messages
Notice the project settings box in the lower right? That's where the project adjustments are made. While there really isn't that many options right now, this is where you will be able to customize the project as updates are made.

The 'Default Invalid Direction Message' option is what the user will recieve when he\she tries to move into a direction that does not exist. For example, if the user is in a room that has two doors. One to the south, and one to the north. if the user tries to walk east, there won't be a door! So this message will be displayed to the user informing them they need to go another direction. You could use 'No where to go.' or something similar instead of the default 'Invalid Direction.' message. Another neat feature that will be covered in the Room Editor chapter is that each room can assign each one of it's doors a custom invalid direction message. So when the user walks east it can say 'No where to go' and when they walk to the west it can say 'There are books in the way'. Each direction in every room can have a custom Invalid Direction Message.

NPC Location Description
Each NPC has a location description, which tells the user that the NPC is standing in the room and what they are doing. When a player walks into the room the Location Description could be 'Bob is standing next to the book shelf.' Each NPC can have a custom Location Description, the Default Location Description is used incase you don't assign one to each individual NPC.

Dos Styled Gameplay
The engine will play the games in a dos command promt instead of through the Windows GUI based Console that was created for the game. The Dos Style is not fully implemented and does not work properly. Another important thing to mention is that the Windows Mobile Device does not support command promts so if you have this option checked then your project will not run on Mobile Devices.


Creating a Story Line
What should be told.
The story field should be filled with a description of what the game has to offer. Let the player know how to play the game and how to access a list of commands via the 'credits' command (loads the Help & Credits file). The credits and help is part of the About text field and all gets saved into the same file. Below is a sample Story


Creating an About Message
About, Credits & Help
The About and credits field is used to tell the player who created the game, how it was made and some help on playing the game. Below is a sample Credits & About


Accessing the Editors
Editing the Project
In order to actually create or edit your project you will need to use the included editors. Each editor has their own chapter dedicated on how to use them so this topic won't go into how to use the editor, but just show you how you access the editors. In order to access the engines editors you will need to load a project, then simply click on the editors menu, and select the editor you need to use. Below is a picture showing the available editors.


Testing Your Projects
Why Test?
Testing your projects are an important part of the development process. You can't create your project and distribute it without testing. What if you made some typos? What if a linked room doesn't work for some reason? You won't know until you have some angry players emailing you about it. Testing is important so you can find and identify the problems before they get to your customers. Below is an image showing how to access the test feature (Table 1.1).

Table 1.1
Testing the project simply executes the exact same runtimes that the player will get access to when you publish and distribute the project, except for the fact that you can create a custom player, and select a custom starting place for the test (Table 1.2). So if you want to test a level that is 4 hours into the gameplay, you don't haft to sit and play your project for 4 hours to get there. Just select the room and assign the player the needed stats(Table 1.3), and hit test!

Table 1.2

Table 1.3


Publishing Your Projects
What is it?
Incomplete.


Using Hot Keys
What is it?
Incomplete.


Understanding How it works
What is it?
Incomplete.


Creating a Room
What is it?
Incomplete.


Creating Doorways
What is it?
Incomplete.


Deleting Doorways
What is it?
Incomplete.


Adding Objects to the Room
What is it?
Incomplete.


Creating custom Room Messages
What is it?
Incomplete.


Introduction to the Forest Generator
What is it?
Incomplete.


Creating a Forest
What is it?
Incomplete.


Linking the Forest to a Room
What is it?
Incomplete.


Introduction to the Item Editor
What is it?
Incomplete.


Creating an Item
What is it?
Incomplete.


Item Properties
What is it?
Incomplete.


Adding an Item to a Room
What is it?
Incomplete.


Introduction To the PC Editor
What is it?
Incomplete.


Creating NPC Categories
What is it?
Incomplete.


Creating an NPC
What is it?
Incomplete.


Adding NPC's to a Room
What is it?
Incomplete.


Introduction To the Dialog Editor
What is it?
Incomplete.


Creating Dialog Categories
What is it?
Incomplete.


Creating Dialogs
What is it?
Incomplete.


Linking Branched Dialog
What is it?
Incomplete.


Assigning Dialog to NPC's
What is it?
Incomplete.


Introduction To Monster Editor
What is it?
Incomplete.


Creating a Monster
What is it?
Incomplete.


Adding Skills
What is it?
Incomplete.


Adding a Monster to a Room
What is it?
Incomplete.


CreatingaSkill
What is it?
Incomplete.


SkillConditions
What is it?
Incomplete.


SkillStatusDown
What is it?
Incomplete.


PercentageRates
What is it?
Incomplete.


AttackAttributes
What is it?
Incomplete.


Introduction To the Runtimes
What is it?
Incomplete.


Basic Commands
What is it?
Incomplete.


GUI Controller
What is it?
Incomplete.


Creating Your first Project
What is it?
Incomplete.


Setting up the Project
What is it?
Incomplete.


Adding a Room to the World
What is it?
Incomplete.


Creating The Closet
What is it?
Incomplete.


Creating the Hallway
What is it?
Incomplete.


Link the Doors together
What is it?
Incomplete.


Create Your First Item
What is it?
Incomplete.


Create Your Second NPC
What is it?
Incomplete.


Create Your First Dialog
What is it?
Incomplete.


Create Your First Branching Dialog
What is it?
Incomplete.


Create Your First Monster
What is it?
Incomplete.


Create Your First Skill
What is it?
Incomplete.


Populating Your First World
What is it?
Incomplete.


Testing Your Project
What is it?
Incomplete.


Publishing Your Project
What is it?
Incomplete.


Congratulations
What is it?
Incomplete.


Introduction to the Source
Incomplete...What is it?
Incomplete.


Modules
What is it?
Incomplete.


The Classes
What is it?
Incomplete.


The Forms
What is it?
Incomplete.


Engine Startup Code
What is it?
Incomplete.


Introduction to Basic4PPC Source
What is it?
Incomplete.


Finding the NET Equivilant Code
What is it?
Incomplete.


Compiling The Mobile Engine
What is it?
Incomplete.


Managing the Project
What is it?
Incomplete.


Introduction to Getting Started
 Previous Top
What is it?
Incomplete.