Game Development Community

dissertation help?

by Ryan Avent · in Game Design and Creative Issues · 05/29/2009 (3:44 pm) · 9 replies

Hi guys I am going to be making a game for my last year dissertation and need to know a bit more about torque before I decide whether or not to use it, any help in answering the following questions will be greatly appreciated.

1) Is it possible to create a trigger that will load a separate map? For example if i have created an environment with buildings could i place a trigger that would load up a separate map for the inside building?

2) Is it possible to create an inventory system that will allow the combination of objects? For example if I have a candle and a match in my inventory can I select both and have it replaced with a lit candle?

3) What is the difference between the TGE and the TGEA and what would be better for creating a large scale RPG game?

Thanks any comment or help will be greatly appreciated.


Ryan Avent

#1
05/29/2009 (8:44 pm)
1) Yes. Search for zoning.
2) Yes. I have an even more complex crafting system done in script.
3) TGEA is TGE with shaders, bugs fixes, and Atlas terrain (don't use it).

Define "large scale"? Scaled large in what way: Huge terrains? Lots of zones? Long playtime?

The reality is that that question has more to do with your abilities than the engine's, since if you get access to source code you can make what changes you need (and for an online RPG with hundreds or thousands of concurrent users, you'll need to implement ODBC, a number of network optimizations, etc)

Check this thread out.
#2
05/30/2009 (7:10 am)
thanks for the help, a say large scale because i am aiming for a map that would take the player about ten min to walk in a direct line from one side to the other, i have used TGE before and found it was exstreemly laggy i did not implement zoning in this game so could that have been the cause?

the terain i want to create will consist of large above ground land mass (ten min to walk in a direct line from one side to the other) with triggers that will load an underground cave network,

some of the meshes that will be imported into torque may contain a poly count of 5 - 10k (charicters and caves) will this be a problem in torque??
#3
05/30/2009 (7:24 am)
Lag depends on a number of issues- also depending on how you use the term "lag". Network lag usually has to do with the Interwebs. Graphical lag has to do with how much quality you're throwing at what kind of machine, or how you built the areas in the game.

As for the time it takes to get from one part of the zone to the other: Why? One of the biggest complaints about MMOs is that outside of cities and specific areas, there really isn't much to do or see, and there is talk about how to "skip" over parts of treks between these places. So consider that.

Otherwise, you can use a MegaTerrain in TGEA, which is 4 Legacy Terrains stitched together, and then play with the squaresize to make it scale to about- 1-2 miles? That's about 10 minutes of running. You'll probably want to slow the player down as well, since videogame players run far faster than their real world counterparts.

As for polycounts, DTS meshes have limits of 10k polygons. Your caves should be done as DIFs and put into the terrain utilizing the Legacy Terrain's ability to have holes in the terrain mesh. That way you get a seamless indoor/outdoor environment, with no need to zone, unless you're implementing that specifically for demonstration in the dissertation.

Also, because TGEA uses shaders, you can make a higher than 10k object and create a normal map from it. You don't really need all those polys.
#4
05/30/2009 (9:02 am)
I was playing around with a concept one time of using a low-detail map that the user could traverse the world real quickly in (fast travel) and then when entering a specific locale or point of interest a trigger would send you to another mission with a more detailed terrain and other objects -- it worked really well.
#5
05/30/2009 (9:39 am)
In addition to what Michael has done, people have been talking about implementing the ole Indiana Jones "red line" concept of travel, since if nothing is supposed to happen to the adventurer during the journey, why bore them?

Both ways are good methods of realtime time compression... Though Michael's idea sounds better from a freedom standpoint.
#6
05/30/2009 (10:08 am)
I actually got the idea from a few of those "old-school" RPG games that had a world map for destination travel and then a separate local area map for the level grinding. I even thought about throwing in random encounter mission files just to liven things up ;)

It would be cool, I think, if you took the "red line" concept of travel and had a mini-game to avoid obstacles and enemies -- sort of like the old snake game.
#7
05/30/2009 (12:44 pm)
cool sounds intresting, if i can get the standerd loading triggers to work, the fast travel feature would be a good add on thanks.
#8
05/30/2009 (12:52 pm)
Well, since someone else was asking how to do level loading from triggers over in Torque 3D land, this is how I did it:
datablock TriggerData (ChangeLevelTrigger)  
{  
    tickPeriodMS = 100;  
};  
  
function ChangeLevelTrigger::onEnterTrigger(%this, %trigger, %obj)  
{  
    %client = %obj.client;  
    if (!%client)  
    {  
        // We do not want NPC's or other AIplayers walking into our trigger and  
        // seting off the ChangeLevelTrigger.  
        return;  
    }  
  
    // Change "YOURLEVEL.mis" to the name of your level!  
    %levelName = "YOURLEVEL.mis";  
  
    // Spawn marker in the level to start at.  To make use of this simply add  
    // this field to your trigger object and give it a named spawnPoint.  If one  
    // isn't given then it will simply drop you at the first found spawn marker.  
    %spawnPoint = %trigger.spawnPoint;  
  
    echo("\c4Transferring client: "@ %client @" to "@ %levelName @" at "@ %spawnPoint);  
    schedule(0, 0, loadMission, "levels/"@ %levelName, false, %spawnPoint);  
}

In that last line:
Quote:
schedule(0, 0, loadMission, "levels/"@ %levelName, false, %spawnPoint);
You'll need to make "levels/" read "game/data/missions/" or whatever the filepath/directory is where your mission files are located.

Just place a trigger as normal but use the above datablock. Give it an optional spawn marker to use and when you run into it away you go!
#9
05/30/2009 (2:02 pm)
thanks alot! it works :-) only a test atm, but sure it'll work on my hole game thanks