Game Development Community

Modernization Kit Beta

by Alex Scarborough · in Torque Game Engine · 02/26/2007 (12:02 am) · 331 replies

Due to the absurd length of this thread, a new one has been started HERE. Please post in the new thread!


This thread is essentially a restatement of this except it's crossplatform now.

farm1.static.flickr.com/123/370544870_646796e1aa.jpg

I am contractually obligated to do at least one (1) shiny thing a month, so here's my shiny thing for this month:

A working Win32 version of the ModernizationKit.

A huge thanks to OneST8 for getting the port started, and to GG for putting me in front of a PC and not minding that I quietly spent around 20 minutes a day getting this working.

Current version is: v0.8 build 0010 released 4-10-07

This is for TGE 1.5.0/1.5.1 ONLY!

Modernization Kit Website
Username: torqueUser
Password: tMK60152

This code is compatible with the latest version of Mac OS X and Windows 2000/XP

Thanks to the fabulous Jeff "Reno" Raab for letting me host this on the server he runs, and to Ben Sparks for setting up the website and forums!

I can't guarantee this code will work, or even compile, on anything other than my personal computer! Backup your copy of TGE if you use this! Actually, download a clean copy and play with that. I am not responsible for any damage done to your hardware or software as a result of using this!

Some notes: Cg is disabled by default, because it saved me the trouble of shoving Cg into TGE under Windows. Trust me, you're not going to miss the Cg layer anyways, GLSL is where it's at. If you do happen to want to enable Cg for whatever reason, uncomment #define SHADER_MANAGER_USE_CG in mkShaderManager.h.

Unit tests are disabled on Windows, to save the trouble of getting the CppUnit library up and running properly. Unit tests are enabled on OS X because you don't have to do anything for them to work; the bundled project file will link with the compiled dylib, copy it into the application bundle, and even change the install path so you really don't have to do a thing to use unit tests.

This code has not been tested on ATI GPUs under Win32. Presumably it will all work, but who knows. It has been confirmed to at least function on nVidia cards (there are a couple of known issues which will be addressed before 2008).

If you would like to subscribe to the Modernization Kit mailing list, submit a bug, or send some general feedback, please use the links on the Modernization Kit Web Center.

Best of luck, and I hope you get some good use, pretty screenshots, or fun out of this code!
#21
03/01/2007 (7:13 am)
Alex, your link (http://www.ttrgame.com/MK/MKcode/RELEASE.zip) is broken, I can't download the file. Could you please fix it? Thank you very much! As BrokeAss said, this stuff is great!!!
#22
03/01/2007 (8:07 am)
Hey, thanks for the update..

Just a litle note thou, the change file is missing the CHANGES v0006 block and has no new v0007, how come?
Also, the newly added vc8 solution, is missing the hole modernizationkit folder and all its files....?

Hope I'm not blind, gg and thanks again
#23
03/01/2007 (8:16 am)
@ALL: Due to a completely carless mistake, I reuploaded build 0006 again instead of 0007. 0007 really is up now, and I apologize for any inconvenience this has caused.

@BrokeAss Games: Looks nice!

@Edu: I just checked and I have no trouble downloading the file. Make sure that you enter the username and password correctly, and yes it is case sensitive.

@Paul: ... I'm going to hit myself for this one. I exported the wrong SVN repo. Thanks for pointing that out.

@ALL: Due to a completely carless mistake, I reuploaded build 0006 again instead of 0007. 0007 really is up now, and I apologize for any inconvenience this has caused.
#24
03/01/2007 (8:23 am)
Quick question, does this have automatic shader downgrading if the GPU doesnt support 2.0 shaders?
#25
03/01/2007 (8:27 am)
Alex, Thank you now it works.
My firewall has blocked your site. My fault ...sorry
#26
03/01/2007 (11:20 am)
@Dave: The MK can scale from 3.0 to fixed function as needed. It does require that you write and specify shaders for things you need to fallback though, as it does not include any sort of automatic shader generation.
#27
03/01/2007 (2:15 pm)
The benefits of being an intern.

Zac Zadell, Robert Blanchet, and Tim Aste were kind enough to test the MK on their computers with ATI GPUs. We've confimred that build 0007 works on ATI cards with the exception of parallax mapping. For whatever reason, parallax mapping just freaks out on ATI cards. Beyond that though, everything is golden.

If anyone has an ATI card, please let me know if there are any other glitches I missed.
#28
03/01/2007 (10:49 pm)
I have an ATI Radeon 9700 and this is what I get with the water in your newest version. Other than this all is outstanding.

http://i72.photobucket.com/albums/i192/DTDA/badshaderwater.jpg
#29
03/01/2007 (10:58 pm)
Did you enable reflection/refraction with mkFluid::setReflectionSize(512); and mkFluid::enableRefraction(1); ?

Also, if the bug persists, please send an me an email golantrevize@comcast.net with your full computer specs and the console.log
#30
03/02/2007 (1:06 am)
Well yes and no. Your getting started file said mkFluid::setReflectionSize(1024); But other than that, yes. I also tried 512 as well with no different results.
#31
03/02/2007 (1:18 am)
On the mirror: I think the problem is more a general reflection problem.

The place where the reflection of objects that are placed above the water appear in the water is wrong to very wrong to totally wrong (it depends on the angle at which you look at the water). The FPS starter shows this issue very good with its bridges that are totally out of place.

They actually look like they were rendered out of the view of a camera that is on the other side of the lake or something missplaced.
Thats the impression I get with the mirror as well when I switch into editor free flight mode, because in that you are able to get reflections when you fly back a little but the reflection looks like the towers wall on theo ther end.

PS: cG toolkit 1.5 installed here just in case
System: Core Duo T2500, 7600Go on 97.XX drivers, 2GB RAM
#32
03/02/2007 (8:03 am)
If you encounter any bugs (my definition of "bug" is rather liberal. Code that could be cleaned up, incorrect documentation, things that just don't "seem" right, etc. are all bugs) PLEASE send an email to golantrevize@comcast.net with the subject "MK Bug", a description of the bug, if applicable your system configuration (CPU, GPU, RAM, model, etc.), a sceenshot showing the issue, your console.log, and if at all possible a recording which recreates the issue. If you just post a bug report here, chances are I won't get to it. Sorry, that's just the way things are.

Just posting that again from the first message because I've noticed a fair number of bug reports in this thread, yet no one has emailed me. It would make my life a bit simpler if you emailed me as well.

@Ron: Console.log? Full computer specs? Driver version? See above.

@Marc: Screenshots of the issue would be really really nice.
#33
03/02/2007 (9:04 am)
Thats really annoying. Whenever you try to take a picture of a problem the problem vanishs until you forget about it. Even the mirror worked without any problems. I'm sorry.
But I will make screenshots for sure when I get the error again.
I've no idea what might have been causing it.
The only differences are that some services are not running and that I updated my drivers (although NVs 84.25 were very good ones already as they did not break shader 3 support as 91 - 94).

Sorry for disturbing for nothing.
#34
03/02/2007 (12:29 pm)
OK... this might be my own fault, but i downloaded version 0.8 and when i tried to compile with the VS8 projects every thing went fine untill linking and then i got 39 or so link errors.. all of them having to do with the MK class object files. Now i'm at work so i dont have the exact errors, and all i did was dump the new version over the top of the version i already had in place. I also did do a clean build and a rebuild. I havent tried the VC7 projects yet didnt have time and i havent tried it on a completely clean version of TGE1.5.. so i still have some sniffing to do when i get home. But other than that

Any ideas?
#35
03/02/2007 (12:40 pm)
The VC8 project file doesn't compile the ModernizationKit folder. Adding that should fix the problem. This issue should be resolved in build 0008.
#36
03/02/2007 (12:41 pm)
Did you download cG SDK from NVidia page? (the link is within the rtf or the readme).
It will look at sdk/lib/nvidia/cg/lib for the cg library files to link them in.
Stock TGE does not include them.
#37
03/02/2007 (1:40 pm)
At Alex: ok, i will i will try adding that folder in tonight. Oh and by the way when i unzip your zip file using WinAce it pukes horribly keeps saying that files are no good, but if i use 7zip it extracts fine as far as i can tell.

At Marc: Yeah i've already downloaded CG SDK i compiled it once before usign the VS7 project but when the new version came out i tried VS* projects and thats when i got the problems..
#38
03/03/2007 (6:07 pm)
Alex, thanks for your advice, my problem was in fact not a bug at all with your kit but a need for me to update my video drivers. All works great now. Thanks.
#39
03/04/2007 (12:40 am)
Alex is there someway to disable the process that automatically generates the material mapping scripts each time the game is loaded. First let me say the fact that it automatically generates all of the normals and the script is awesone and makes this kit even more amazing. However, I was already using the material mapping script for other parts of my game and the recreating of the material scripts totally kills that.

It would be really nice to be able to turn off and on that functionality.
#40
03/04/2007 (12:49 am)
Huh, there used to be a #define MK_AUTOGEN_NMAP that would disable that if commented out, but it looks like that was removed at some point. I'll add it back in for build 0008. In the meantime, if you add a return NULL; at the very beginning of mkInterior::generateNormalMap() it should effectively disable normal map generation.