RPG Engine Tool Kit - This isn't even my final form...
by Kevin Mitchell · 02/23/2014 (11:47 am) · 16 comments
In the final week before my kit hits the GG Store. I'm nervous and excited at the same time. I've worked on this thing since 2009 off and on losing code and sources from faulty HDDs and other miscellaneous unlucky mishaps but I'm finally here!
This tool kit / genre kit was made to help me create my game with as much automation tools as I could think of. Over the years that turned into a tool I wanted to bring to the community that can help anyone from a beginner artist with no or limited coding skills or a beginner programmer that is stepping into this for the first time. Today I want to share with you the final features and future developments for the RPG Engine Tool Kit.

Currently the RPG Engine tool kit brings together several systems to help create a game quickly. The RPG Editor 2.0, a database interface tool that helps to quickly populate your game with event flows, class types, heroes, item types etc. NPC Generator 2.0, a tool that is used to build characters via morph blending, mesh merging, and data texture swapping. Using character templates that are easy to create and modify, can make prototyping a world with characters faster. Lastly the RPGinema Tool is a time line based cut-scene tool, used to help make cut-scenes for your game easily and swiftly, with built-in dialogue tools, and other features used to drive RPG/Date Sim like cut-scenes. On top of these tools is a template package that implements some of the common RPG work flows that makes a RPG environment.
One thing I also included is the restructure I did for the players updatemove() function. My main reason to do this is to make modifying the character physics a little bit easier.
As you can see there are some modifications that I needed for the RPG extension of the class but the base breakdown of the long long long updatemove are as follows:
In the current state the Full Template is not complete without the free RPG Starters Kit. This kit has free sounds, icons offered from free by http://ails.deviantart.com/. Music from http://incompetech.com/music/, testing models made by me, and free textures generated from the free version of Genetica. To get the free RPG Starter Kit please follow the link here:
RPG Starter Kit
Download all files and extract them using 'winrar' or an extractor application of your preference. When extracted place the art folder into the game directory of the RPG Full Template.
The RPG Starter Kit contains low rate prototyping characters. Better characters will be released with the RPG Engine at a later date.
My next goals is another learning session of the 3D Applications in my arsenal. With this will come free assets leading into the next update for the engine which will include a full art over haul. Also will include a fully defined class system with an upgrade to the NPC Generator which will have class support for the following jobs.
NPC Generator 2.5 Jobs:
This should give me enough of a focus to enhance the battle system and polish off some things.

Height Map
Soon...
The release date should be 2/28/2014 or the Monday after that depending.
The cost will be $75.00. Upgrades are free AFAIK with Garagegames.
Til next time,
Kevin Mitchell
12 CatBlack Studios out...
Download Manual
PS...
I almost forgot about the tutorials... Over the course of this week I will be using my horrible narriative to guide those who get the kit. It's my first time ever doing voiced tutorials and I am both a nervous rack about recording my self as well as hearing my own voice. But in the end it should cover all featers to an extent. Any other questions could always be emailed to me or posted in the help forum that I will open when the packet releases.
RPG Engine Tool Kit Tutorials
... Can secretly feel Steve's Grammar patrol...
This tool kit / genre kit was made to help me create my game with as much automation tools as I could think of. Over the years that turned into a tool I wanted to bring to the community that can help anyone from a beginner artist with no or limited coding skills or a beginner programmer that is stepping into this for the first time. Today I want to share with you the final features and future developments for the RPG Engine Tool Kit.

RPG ENGINE TOOL KIT: Details
Overview
Currently the RPG Engine tool kit brings together several systems to help create a game quickly. The RPG Editor 2.0, a database interface tool that helps to quickly populate your game with event flows, class types, heroes, item types etc. NPC Generator 2.0, a tool that is used to build characters via morph blending, mesh merging, and data texture swapping. Using character templates that are easy to create and modify, can make prototyping a world with characters faster. Lastly the RPGinema Tool is a time line based cut-scene tool, used to help make cut-scenes for your game easily and swiftly, with built-in dialogue tools, and other features used to drive RPG/Date Sim like cut-scenes. On top of these tools is a template package that implements some of the common RPG work flows that makes a RPG environment.
RPG Editor 2.0
- Event flow creation for NPC/Trigger/Zoning interaction
- ---Note: Classic Battle system is not yet implemented but the code behind it is available for free in the resource section
- Creating grade based character classes
- Apply classes to customized hero characters
- Create Initial party setup
- Create items with a variety of data types and mixed combinations.
- ---Note an example of some basic usage available in the source code
- Create weapons/armors based ion configurable power levels
- ---Note: A basic implementation of a weapon included in the source code
- ---Note: Mesh skin to be implemented at a later date
- Create spell definition
- Create special definition
- Create Monster Definition Data
- Create Summon Monster Data
- ---Note: Implementation example not available currently
- Create Monster Spawn Groups
- Add new map locations for other RPG Editor Elements
NPC Character Generator 2.0
- Morph character targets using a pre-rigged character
- Create characters using different combination of morph targets
- Append shirt,pants,hair, and shoes to the base model
- Change body, shirt, pants, hair, and shoe textures loaded into texture template structures
- Add Custom Character templates to use your own character template models
- Export Characters as NPCs, Playable characters or monster AI Types
- Categories your exports and character names
- Materials.as generated per character. Texture names prefixed with character name for easy tracking
- Customize character heights upon export
- Random button to easily generate random characters
- Generic walk cycle included to find bad clothing layering and poke through geometry
RPGinema 1.0
- Create key framed actions on a layer based time-line.
- Camera Layer: Key frame camera placement
- Music Layer: Create the mood with songs and other SFX
- Script layer: Key frame explosions and other chaos for exciting events
- Actor layers - Character based actions can be added on this layer. Dialogues and more.
- Interactive time-line with live camera movements when the time-line is scrubbed
Implemented example code
- Active Battle System (button mashing battle type)
- Experimental Climbing System
- Item usage system
- One spell example
- Stat Leveling System
- Monster Battle AI System
- Party AI System
- 2D Tracker Digital Map System
- Player/Party Interface System
- Battle History Tracking System
- Night lamps automatically turning on based on the time of day
- One implemented vehicle: (Hover board) AKA Fun Board
- Saving and Loading System
- Enhanced controller mapping system using packages
- One example of a character melee combo using triggered events
- One example of a sword implementation.
- Test GUIs Implemented
- ---2D / 3D Start menu screens - (2D and 3D title screens are swappable via flag)
- ---Pause menu with party display
- ---Item Menu
- ---Hex Map 1.0 - Uses a hex grid to dynamically generate a hex height map of the area around you, as well as marking points of interest on the map.
- ---Save Menu
- ---Equipment Menu
- ---Inn/Item/Armor Store Menu
T3D Engine Modifications
- RPGPlayer and AIPRGPlayer
- ---Created from the original Player and AIPlayer
- ---UpdateMove has been created to be modular for better coding flexibility
- ---Added attacking states
- ---Added 360 character movement
- ---Added Climbing prototype coding
- ---Added Animation Trigger call backs for attack combinations
- ---Added Lock-On feature
- ---Added Swimming Buoyancy to swim or water surface
- ---Added Sink code to dive under water
- Removed Camera collision with the under part of the water when swimming near the top
- Added a decay to the steering controls for hover vehicles for better control
- Added the ability to make road mesh nodes via script - used for battle area bordering
- Added a done callback to detect when a video has finished playing in guiTheoraCtrl
- Added some changes to fix the weird rotation offset in the object as well as added a function to give the user the ability to rotate the camera via code. IE rotating character selection via L2 and R2. - guiObjectView
- Added a new object type for climbable objects.
- Fixed an issue where the collada handling code was not properly applying mesh morphs when importing the collada data, causing certain morphs to completely destroy the mesh
New RPGPlayer Class Main Modification
One thing I also included is the restructure I did for the players updatemove() function. My main reason to do this is to make modifying the character physics a little bit easier.
/*
Main Move tick
*/
void RPGPlayer::RPG_MoveTick(const Move* move){
RPG_contactNormal.set(0,0,0);
RPG_jumpSurface = false;
RPG_runSurface = false;
RPG_desiredPose = mPose;
delta.move = *move;
RPG_moveType=MV_GROUND;
/*
if (isMounted() || mMountPending){
mStrifeOn=true;
setMaskBits(LockOnMask);
}else{
mStrifeOn=false;
setMaskBits(LockOnMask);
}*/
if(isControlObject()){
/*
//Con::printf("Control Object%d %s",isGhost(), getStateName());
*/
}else{
//Con::printf("AIPlayer %d %s",isGhost(), getStateName());
}
if(mClimbing){
applyClimb360Movement(move);
calculateGroundContact();
switch(mClimbState){
case CLA_MountfromGround :
break;
case CLA_MountfromJump :
break;
case CLA_MountfromTop :
break;
case CLA_Swinging :
if(move->x || move->y){
mClimbHeight=move->y;
mClimbShift=move->x;
}else{
mClimbHeight=0;
mClimbShift=0;
RPG_acc.set(0.0f, 0.0f, 0.0f);
}
applyClimbJumpCheck(move);
break;
case CLA_StandardClimbing :
applyMoveBasedOnClimbObject(move);
break;
case CLA_UnMountfromGround :
break;
case CLA_UnMountfromJump :
break;
case CLA_UnMountfromTop :
break;
default :
Con::printf("UNKNOWN CLIMB STATE: %d",mClimbState);
}
}else
{
checkGunFire(move);
checkSwimmingState();
calculateGroundContact();
updateOrientationOfCam(move);
applyRotationChanges();
if (!mSwimming){
if(inAttactingState){
modifyGravity(-10);
}else{
modifyGravity(-20);
}
applyGravity();
}
if(!inAttactingState){
applyGroundMovementSpeed(move);
if (!mSwimming)
{
applySteepIncline();
}
if (RPG_runSurface && !mSwimming) {
applyAccelerationBasedOnMovement(move);
}
else if (!mSwimming && mDataBlock->airControl > 0.0f)
{
applyAccelerationBasedOnFalling();
}
else if (mSwimming)
{
applyAccelerationBasedOnSwiming(move,false);
}else{
mContactTimer++;
}
if (!mSwimming)
{
applyJumpCheck(move);
applyJettingCheck(move);
applyPZoneAcceleration();
}
//Overrides Swim to Diving if triggered
applyRPGSinkAndSwimAlgorithm(move);
applyRPG360Movement(move);
}else{
applyRPG360Movement(move);
}
}
applyAllCalulatedAcceleration();
applyWindResistance();
applyBuoyancy();
applyDrag();
clampSmallVelocity();
detectFallingStatus();
dismountVehicalCallbackCheck(move);
enterWaterCheck();
applyPoseBasedOnAction(move);
setPose( RPG_desiredPose );
//If on the ground and attacking stop velocity
if(inAttactingState && RPG_runSurface || mClimbing){
mVelocity = Point3F::Zero;
}
}As you can see there are some modifications that I needed for the RPG extension of the class but the base breakdown of the long long long updatemove are as follows:
//New Move update for enhanced player virtual void RPG_MoveTick(const Move* move); //Algorithm Sectioning - To make the player calculation modular virtual void applyJumpCheck(const Move* move); virtual void applyJettingCheck(const Move* move); virtual void updateOrientationOfCam(const Move* move); virtual void applyRotationChanges(); virtual void applyGravity(); virtual void calculateGroundContact(); virtual void applySteepIncline(); virtual void stopMovementSpeed(const Move* move); virtual void applyGroundMovementSpeed(const Move* move); virtual void applyAccelerationBasedOnMovement(const Move* move); virtual void applyAccelerationBasedOnFalling(); virtual void applyAccelerationBasedOnSwiming(const Move* move,bool cameraControlledDiving); virtual void applyWaterMovementSpeed(const Move* move); virtual void applyPZoneAcceleration(); virtual void applyAllCalulatedAcceleration(); virtual void applyWindResistance(); virtual void applyBuoyancy(); virtual void applyDrag(); virtual void clampSmallVelocity(); virtual void detectFallingStatus(); virtual void dismountVehicalCallbackCheck(const Move* move); virtual void enterWaterCheck(); virtual void applyPoseBasedOnAction(const Move* move); virtual void checkSwimmingState(); virtual void modifyGravity(S32 gravityMod); virtual void checkGunFire(const Move* move);
Special Notes
In the current state the Full Template is not complete without the free RPG Starters Kit. This kit has free sounds, icons offered from free by http://ails.deviantart.com/. Music from http://incompetech.com/music/, testing models made by me, and free textures generated from the free version of Genetica. To get the free RPG Starter Kit please follow the link here:
RPG Starter Kit
Download all files and extract them using 'winrar' or an extractor application of your preference. When extracted place the art folder into the game directory of the RPG Full Template.
The RPG Starter Kit contains low rate prototyping characters. Better characters will be released with the RPG Engine at a later date.
What's next
My next goals is another learning session of the 3D Applications in my arsenal. With this will come free assets leading into the next update for the engine which will include a full art over haul. Also will include a fully defined class system with an upgrade to the NPC Generator which will have class support for the following jobs.
NPC Generator 2.5 Jobs:
- Warrior
- Knight
- Monk
- Gunner
- Arcane Mage
This should give me enough of a focus to enhance the battle system and polish off some things.
Free Resource

Height Map
Soon...
Stone Breaker
The release date should be 2/28/2014 or the Monday after that depending.
The cost will be $75.00. Upgrades are free AFAIK with Garagegames.
Til next time,
Kevin Mitchell
12 CatBlack Studios out...
RPG Engine Tool Kit Manual
Download Manual
PS...
Tutorials
I almost forgot about the tutorials... Over the course of this week I will be using my horrible narriative to guide those who get the kit. It's my first time ever doing voiced tutorials and I am both a nervous rack about recording my self as well as hearing my own voice. But in the end it should cover all featers to an extent. Any other questions could always be emailed to me or posted in the help forum that I will open when the packet releases.
RPG Engine Tool Kit Tutorials
... Can secretly feel Steve's Grammar patrol...
About the author
Riding Solo since 2005. Current Project: Fated World 2005-Present RPG Engine Tool Kit - Now available.
#2
But wth it's a great job anyways!
02/23/2014 (3:15 pm)
75$ is pretty damn cheap for this pack, I'd suggest you at least do a "indie/commercial" license split..But wth it's a great job anyways!
#3
02/23/2014 (4:42 pm)
I didn't want it to be so high as to cut off entry people. I'm not trying to get rich just a little funding to get the last few application i need for my own development.
#4
02/23/2014 (7:26 pm)
That's a great pack! $75 is really a nice price for this.
#5
$75,- is not expensive at all, but also I think it's a competitive price that indies are willing to invest.
Thumbs up!
02/23/2014 (9:31 pm)
Cool @Kevin! Great to see your hard work is getting realized! Congratulations!$75,- is not expensive at all, but also I think it's a competitive price that indies are willing to invest.
Thumbs up!
#6
02/24/2014 (4:06 am)
Great work Kevin! Glad to see your kit will see day light!
#7
I've had so many set backs that I thought the same thing! Thanks all!
02/24/2014 (4:18 am)
Quote:Glad to see your kit will see day light!
I've had so many set backs that I thought the same thing! Thanks all!
#8
02/24/2014 (7:54 am)
Great work, Kevin!
#9
03/01/2014 (6:52 pm)
This looks very interesting. Waiting for it to hit the GG store. Will there Be SC that comes with the purchase if you don't mind me asking. How does this compare to the mmo kit that's out I mean will you be able to use this to do something similar? Look forward to hearing back from you and keep up the good work looks very good so far.
#10
03/02/2014 (9:42 am)
Yes it does come with the source code. The idea behind this is to be a building block, not to have anything locked in. They're are too many combinations of idea in the world to have a system that will not need modification to match the desire of the user. There is also not enough flexibility in a system to accommodate every idea in the world. That is the main idea behind this is to be a tool to cover the vast global of needed functionalities. To accommodate the finely tuned needs for a role playing game. The finely tuned needs are what the templates will be turned towards. This will include genre specific aspects. The current full template consist of a random collection of implementations including the mmo style action tracker. The 2d map tracker. The hex map to track your ego-environments, including a open world type of environment and closed in battle environments. But the same factors remain the same. A base system to create items, and other database system, a saving system that is database driven as well, character generation for world population, leveling system, event systems, cutscenes tools to add scripted event flows. As for the MMO kit I have not seen any specifics on this. I saw a post about it a while ago but never looked into it. That being said my solution is specifically single player based. I'm not sure if the flow works in a networked environment though I do have sever and client workflows mainly because the system requires those specific work flows to control your environment and sim objects.
#11
03/02/2014 (9:43 am)
I hope this answers your questions please let me know.
#12
03/02/2014 (12:23 pm)
Sounds good. Any plans to make this support multiplayer. Trying to find a good starting point for a rpg for me and a few friends to build in as a hobby project. I have a little experience with t3d but that was building a fps with custom weapons and things. I am sure there's got to be away to make it work I hope.
#13
03/02/2014 (12:42 pm)
For now no. As I my self am making plans to use my kit to make my own game this year. There's a lot to plan, mostly model. My main focus will be the battle system for the next few months. Of which will be included as a genre kit with just the battle system as the main focus. That should be a big upgrade to the RPG Engine I am really excited with the things I have planned.
#14
03/02/2014 (2:35 pm)
Ah cool well I wish you luck on your game and look forward to seeing what you will add. When's this kit hitting the store so I can get a copy?
#15
03/02/2014 (4:03 pm)
It was suppose to be last Friday but the guy is out of town so more likely Monday. The manual is available above that has a very large overview of every element in the system so read that to make sure this is what you want. There are also tutorials there in. I am trying to find an easier way to make tutorials as I HATE my voice...
#16
03/02/2014 (5:00 pm)
I checked out your first 3 tutorial videos and they where pretty good. Just got to adjust the audio to stereo mode seems like the ones you have up only come over the left channel. Don't be to hard on your self about tutorial any little bit you do is still a big help. Keep up the good work. 
Richard Marrevee
R.G.S - Richards Game Studio