Game Development Community

TSE Starter.fps download

by Joseph Euan · in Torque Game Engine Advanced · 08/19/2005 (6:09 pm) · 183 replies

img389.imageshack.us/img389/4607/tsesnap8zr.jpg
I got the starter.fps folder ported over to TSE (TSE water and Atlas are working in the starter.fps as well), and I wanted to upload it for people to play around with/use if they want too...

Update:
v1.3 for TSE projects using MS2 or below "here" (23MB)

v1.3.5 for TSE projects using MS3 "here" (18MB)
(the file size is smaller because I used a better compression setting)

More details of v1.3 and v.13.5 can be found here www.garagegames.com/blogs/18010/10218

You can find links for the older versions on my .plan

At the moment it contains 2 maps....

Stronghold: just the same old stronghold mission, but with the TSE water.

Simple testbed: Just TSE water and Atlas terrain, it has 2 platforms and an AI player running around...


img425.imageshack.us/img425/3031/015gz.jpgimg48.imageshack.us/img48/7776/027mo.jpgimg129.imageshack.us/img129/7748/034rt1.jpg
#101
07/09/2006 (3:04 pm)
I believe the reason for this is because the Atlas source code hardcodes that path to "terrain_water_demo". See the AtlasBlender::initialize() method excerpt below...

engine/atlas/runtime/AtlasBlender.cpp
mSourceList.setSize(4);
   mSourceList[0].set(StringTable->insert("terrain_water_demo/l3dt/Dirt1"), &GFXDefaultStaticDiffuseProfile);
   mSourceList[1].set(StringTable->insert("terrain_water_demo/l3dt/rock1b"), &GFXDefaultStaticDiffuseProfile);
   mSourceList[2].set(StringTable->insert("terrain_water_demo/l3dt/grass1g"), &GFXDefaultStaticDiffuseProfile);
   mSourceList[3].set(StringTable->insert("terrain_water_demo/l3dt/rocks1c"), &GFXDefaultStaticDiffuseProfile);

This means that if you want to have blended terrains for your own project, then there must be a subdirectory called terrain_water_demo/l3dt with the texture files below the TSE.exe file. The other option is to change the source code above to match the game script directory specified in your main.cs.

Hope that all makes sense...
#102
07/09/2006 (3:12 pm)
In the terrains folder there is a file materials.cs i cut and pasted from the equivalent in terrain_water_demo. Try that too. Do you have collisions?
#103
07/09/2006 (8:07 pm)
I went through the source and changed the hardcoded paths to paths that we set ourself.
and it appears that material.cs is also in place ( i put an echo("MADE IT HERE") in material.cs and while my breakpoint wasn't hit the echo goes off). while i was at it i set a breakpoint on the initRenderInstManager() it is also hit.

any other ideas?

what is the collisions question?
#104
07/09/2006 (8:31 pm)
Just to be clear - does everything work normally when you run the original example/terrain_water_demo mission?
#105
07/10/2006 (2:24 am)
There is another file materials.cs (note the s) in the terrain folder it is a list of shaders to call. If you upload your atlas file somewhere i will see if it works on my build if you like
#106
07/10/2006 (7:17 am)
Yeah sorry the file i copied was in fact materials.cs
The problem im having is that no legacy terrain works (i mean it works but its invisible) we have an atlas terrain working fine (this works):
new AtlasInstance2(NewTerrain) {
      position = "-34.7144 -9.21996 80";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      detailTex = "~/data/terrains/details/detail1";
      atlasFile = "~/data/terrains/l3dt.atlas";
   };
this works but it's invisible:
new AtlasInstance(newTerrain) {
      position = "0 0 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      chunkFile = "~/data/terrains/ether.chu";
      tqtFile = "~/data/terrains/ether.tqt";
      materialName = "AtlasMaterial";
      detailTexture = "~/data/textures/terrain/details/detail1";
   };

The code base i'm working on is heavily altered, and im not the only one working on it [and i'm not the one that merged in the 3.5 changes ] We are compiling on visual studio 2005, and i guess at this point i'm trying to figure out if the problems we are having are problems everyone has, caused by visaul studio 2005 or by our custom codebase. So if someone could break down for me what works and what doesn't i would greatly apprecaite it so i know if its something i broke, or something that just doesn't work.

(i do have a stock TSE that im also using to compare against, in that with AtlasInstance its also invisible).
#107
07/10/2006 (10:28 am)
Um frustrating, i did take a clean build as of about 3 days ago, this helped alot. Otherwise i am not sure what i did
#108
07/12/2006 (8:22 am)
Anyone else notice that the Ammo, healthpack, health patches and Explosion debris Al have a generic Orange no Material texture on them?
#109
07/26/2006 (12:05 pm)
@Michael - yea. And I wonder if it's related to a bug I'm having. I put in a new custom player model, and he shows up with the same texture. I wonder if there's something funny about how the texture paths are spec'ed in the particular dts's involved, and it just can't find the texture?
#110
07/26/2006 (12:56 pm)
I've been extremely busy with work, so I haven't been able to try and sort out the problems with the starter.fps port yet. (I haven't even had time to look at the latest tse)

As soon as I get some free time (fingers crossed it's soon) I'll take a look.
(might just start again with the port)
#111
07/26/2006 (12:59 pm)
Who am I to look a gift horse in the mouth? :^)

So the xbow debris use the same clip.jpg texture as the crossbow - both show up missing. Separate shader for the clip and the rest of the xbow perhaps? Just thinking out loud.

Hmm.... I was able to get a missing texture to show up by replacing the common\client\data\warnMat texture with the clip texture that wasn't showing up. That means perhaps there isn't an issue with the image itself. Of course that's not any kind of fix, but it at least shows it's not the clip.jpg file (~/data/shapes/crossbow) that's teh problem.
#112
07/27/2006 (1:57 pm)
OK - so the missing textures are showing up because there are missing materials.cs scripts for the shapes.

Here is a set of materials.cs scripts to add to fix the missing textures...

Create data\shapes\crossbow\materials.cs as...
new Material(xbowammo)
{
   baseTex[0] = "~/data/shapes/crossbow/ammo";
};

new Material(xbowclip)
{
   baseTex[0] = "~/data/shapes/crossbow/clip";
};

new Material(xbowcrossbow)
{
   baseTex[0] = "~/data/shapes/crossbow/crossbow";
};

new Material(xbowsplash)
{
   baseTex[0] = "~/data/shapes/crossbow/splash";
};

Create data\shapes\items\materials.cs as...
new Material(healthkit001)
{
   baseTex[0] = "~/data/shapes/items/healthKit";
};

Create data\shapes\trees\materials.cs as...
new Material(bark001)
{
   baseTex[0] = "~/data/shapes/trees/bark";
};

new Material(knot001)
{
	baseTex[0] = "~/data/shapes/trees/knot";
};

new Material(foliage001)
{
	baseTex[0] = "~/data/shapes/trees/foliage";
};

new Material(foliage002)
{
	baseTex[0] = "~/data/shapes/trees/foliage2";
};
#113
08/02/2006 (9:15 am)
I've got the fps demo working in record time, making just the initRenderInstManager(); and various materials.cs changes listed above. I've killed poor Kork so many times this morning when I should be working.

If I could just ask a bit of a newbie question here.... I could almost certainly figure this out by digging and learning a little more. Tim, how do you know/pick what name to assign to the material, such as bark001, knot001, etc. Is this specified in the dts? We will soon begin adding custom made objects such as specific houses and transportation facilities to our work, and I think knowing about the materials would be useful.


(As a side note to Tim, I was at OSU through the end of last year working with VNS visualizations in the geography department.)
#114
08/02/2006 (9:25 am)
You use a temporary texture in your dts/dif. Then you create a material with the same name.. For example, i had a temporary texture/matarial called TestWall1 assigned to something. I export it. Then in /data/materials.cs i added

new Material(TestWall1)
{
mapTo = LFWALL1;
baseTex[0] = "lfwall1";
bumpTex[0] = "lfwall1bump";

pixelSpecular[0] = true;
specular[0] = "1.0 1.0 1.0 1.0";
specularPower[0] = 64.0;
};

The actual texture you'll see is lfwall1, with lfwall1bump as bumpmap.
#115
08/02/2006 (10:33 am)
Quote:If I could just ask a bit of a newbie question here.... I could almost certainly figure this out by digging and learning a little more. Tim, how do you know/pick what name to assign to the material, such as bark001, knot001, etc. Is this specified in the dts? We will soon begin adding custom made objects such as specific houses and transportation facilities to our work, and I think knowing about the materials would be useful.

You know I confess I just made up some names, and it worked. I think I first tried naming the Material with the same name as the texture that the model used, and that didn't work. So then I just made up a material name (guessing and hoping I didn't collide with something already existing) and pointed at the texture file name - and it worked. Robin's post above was helpful actually. In general I'm still trying to shake my pretty extensive level of Half-Life/Valve Source engine knowledge. I end up making a lot of assumptions about how things work based on that, and it doesn't work in TSE. Not that it should mind you.

Quote:
(As a side note to Tim, I was at OSU through the end of last year working with VNS visualizations in the geography department.)
Ah very cool. I'm doing large scale forest visualizations in the CoF. Not a lot of such stuff going on here, which is good and bad. Be nice to have at least one person on campus I could go get coffee with and talk shop now and then! Not to take things off topic, but what's your project? Email me if you want - tim.holt@oregonstate.edu.
#116
08/02/2006 (2:48 pm)
In response to my own question, and with the help of Robin and Tim, I've decided that the material name is as good as random. I admittedly have a long way to go in my Torque training, but some simple testing today shows that I could name the material anything I want.

In Lightwave (crash course in UV mapping too), I created a box and did a quick and dirty (and ugly) UV Map. I named my LW surfaces "Boxxy", called my UVMap texture "upbox", and the entire model was saved as "boxer".

Finally, I put the dts and boxface.jpg in my shapes directory and added an entry to the materials.cs:
new Material(Boox)
{
baseTex[0] = "~/data/shapes/ryan/boxface";
pixelSpecular[0] = true;
specular[0] = "1.0 1.0 1.0 1.0"; //holy cow specular is cool
specularPower[0] = 64.0;
};

And sure enough, it worked. I have no idea how TSE does from what's written in the dts to what's defined in the material name... but it works. That's good enough for me.

Next question... is that space orc 10 feet tall? He's a big one.
#117
08/03/2006 (6:23 pm)
Hmm.. and the specular works? I'm not really sure how lightwave handles it's materials etc.. but if i go and create a new material in milkshape (or 3ds max even) with a different name then the one i used in my model, tse will try to load up the jpg with the same name without applying a shader to it. And the console will warn me about not having a material defined for *insert name here*.

Also, if you create an interrior without setting materials for the textures on it.. the lighting will just freak out, and most will turn pitch black. Just as a side note.

"I admittedly have a long way to go in my Torque training"
yes.. me to :) a looong way. But i'm getting there. sometime
#118
08/09/2006 (1:11 pm)
Has anyone ported over the RTS pack yet?
#119
08/09/2006 (3:40 pm)
There's way more to it to port RTS, since the rts pack has engine code, and as far as i know, uses opengl functions to draw the circles etc.
#120
08/18/2006 (7:35 pm)
This don't look right to me any one getting this render my video drivers are up to date
and both the demos work fine including the water demo with the same Atlas terrain
edit removed PIC