A few questions
by Lars Nilsson · in Torque 3D Beginner · 03/22/2013 (6:13 pm) · 13 replies
Hello everyone,
Having a few questions regarding Torque. Trying to convince myself to use it in my game project.
So first off, you start with a menu screen when you created a new project that says "Play", "Join" etc. Can you customize this? Change it to your own?
Second, can you change splash screens and customize that aswell?
Third, If I somehow complete my game. Can I disable the F11 that brings up the World Editor before publishing it?
And last, fourth, is there anything else I need to think about before publishing?
Sorry if this was alot of questions, but I am new to this and really want to get in to game development in Torque (Previous user of Unity3D).
Thanks,
Having a few questions regarding Torque. Trying to convince myself to use it in my game project.
So first off, you start with a menu screen when you created a new project that says "Play", "Join" etc. Can you customize this? Change it to your own?
Second, can you change splash screens and customize that aswell?
Third, If I somehow complete my game. Can I disable the F11 that brings up the World Editor before publishing it?
And last, fourth, is there anything else I need to think about before publishing?
Sorry if this was alot of questions, but I am new to this and really want to get in to game development in Torque (Previous user of Unity3D).
Thanks,
About the author
#2
Use the GUI editor to edit GUIs.
Splash screens are a little troublesome to set up, but there are plenty of examples so no big deal.
All keybindings are modifiable. So you can disable any keys you like.
There are a million things to think about before publishing. Foremost is probably ensuring that you only ship precompiled scripts so the source scripts are unavailable to the end user. However, it will be a few minutes before you're ready to publish, so you might have a little time to reflect on this before the time comes.....
03/22/2013 (11:58 pm)
You have the full source code - you can do anything you like.Use the GUI editor to edit GUIs.
Splash screens are a little troublesome to set up, but there are plenty of examples so no big deal.
All keybindings are modifiable. So you can disable any keys you like.
There are a million things to think about before publishing. Foremost is probably ensuring that you only ship precompiled scripts so the source scripts are unavailable to the end user. However, it will be a few minutes before you're ready to publish, so you might have a little time to reflect on this before the time comes.....
#3
03/23/2013 (2:32 am)
You say you used Unity3D. Why would you say you are a "previous" user of Unity3D? Is there something you did not like about Unity?
#4
Regarding that last part, I am using Notepad++ as script editor since, well, my bank is kind of sketchy when I want to insert money online. Therefor, I always end up with some issue in shopping online. In this case im talking about Torsion or similar. How does one make the scripts unavailable for the user?
I should of added that yesterday, but as soon as I went to bed I thought of it.
Pretty excited to start learning Torque 3D and I find it to be a great alternative for my commercial game.
@Frank: Unity3D is great. But I need to use some things of which is restricted in the "Indie" version. These include Bloom effects etc. Also, I like to work with an engine that is open sourced and cannot deal well with royality based license agreements. Not that I wont fill them up, more that I am new to this and don't want to risk getting into any troubles.
03/23/2013 (2:33 am)
Hello Richard and thanks for the reply!Regarding that last part, I am using Notepad++ as script editor since, well, my bank is kind of sketchy when I want to insert money online. Therefor, I always end up with some issue in shopping online. In this case im talking about Torsion or similar. How does one make the scripts unavailable for the user?
I should of added that yesterday, but as soon as I went to bed I thought of it.
Pretty excited to start learning Torque 3D and I find it to be a great alternative for my commercial game.
@Frank: Unity3D is great. But I need to use some things of which is restricted in the "Indie" version. These include Bloom effects etc. Also, I like to work with an engine that is open sourced and cannot deal well with royality based license agreements. Not that I wont fill them up, more that I am new to this and don't want to risk getting into any troubles.
#5
I completely understand. I was just worried this might be a "Unity was too hard." scenario. Because T3D will be just as hard and I don't want to give anyone the perception that T3D solves every issue Unity does not. Glad to see it is a requirements basis decision and not an emotional one.
For precompiled scripts search the GG website. I think it requires some changes to the engine. Also, you can implement code in C++ so it is not available as TS (TorqueScript). The extension after compile is DSO. I think someone may have looked into doing a "what to do to ship a title" type tutorial, but I am not sure how far that got. Your best bet is to just search the GG website. There is a TON of information hidden in the forums, resources, and blogs.
We are excited to have you. I think this community excels at being a learning/professional organization. People are knowledgeable, experienced, and friendly. I know I have learned a ton about game development here over the years.
03/23/2013 (3:05 am)
@Lars,I completely understand. I was just worried this might be a "Unity was too hard." scenario. Because T3D will be just as hard and I don't want to give anyone the perception that T3D solves every issue Unity does not. Glad to see it is a requirements basis decision and not an emotional one.
For precompiled scripts search the GG website. I think it requires some changes to the engine. Also, you can implement code in C++ so it is not available as TS (TorqueScript). The extension after compile is DSO. I think someone may have looked into doing a "what to do to ship a title" type tutorial, but I am not sure how far that got. Your best bet is to just search the GG website. There is a TON of information hidden in the forums, resources, and blogs.
We are excited to have you. I think this community excels at being a learning/professional organization. People are knowledgeable, experienced, and friendly. I know I have learned a ton about game development here over the years.
#6
Thanks for your reply. Well, as I know it, Unity3D isn't really hard. Before Unity3D I was only setting up libraries in C++ manually and going from there. So Unity3D was a great delight for me when I started to use it.
I am not worried about learning Torque3D to it's very fullest and precompiling them in C++ or whatever. I am using Visual C++ 2010 Express Edition. The only thought how the structure would be. I have the Torque3D source along with my game code, so I need to seperate them two. If everything works well, I hope I can have seperate C++ sources for my game, if precompiling Torque3D scripts wont end up well.
Slightly off-topic but yet relevant to my additional questions;
In the scripts folder I noticed "Client" and "Server" scripts. I naturally referenced this to multiplayer functionality, but my game will not use multiplayer. Can I strip that out somehow so I wont be confused about editing / adding scripts to "Client" or "Server" folders respectively?
If not, is there a singleplayer template for me to use in the Project Manager?
Adding another last question to my the list, is "Missions" in Torque3D really "Levels"?
03/23/2013 (3:20 am)
@Frank:Thanks for your reply. Well, as I know it, Unity3D isn't really hard. Before Unity3D I was only setting up libraries in C++ manually and going from there. So Unity3D was a great delight for me when I started to use it.
I am not worried about learning Torque3D to it's very fullest and precompiling them in C++ or whatever. I am using Visual C++ 2010 Express Edition. The only thought how the structure would be. I have the Torque3D source along with my game code, so I need to seperate them two. If everything works well, I hope I can have seperate C++ sources for my game, if precompiling Torque3D scripts wont end up well.
Slightly off-topic but yet relevant to my additional questions;
In the scripts folder I noticed "Client" and "Server" scripts. I naturally referenced this to multiplayer functionality, but my game will not use multiplayer. Can I strip that out somehow so I wont be confused about editing / adding scripts to "Client" or "Server" folders respectively?
If not, is there a singleplayer template for me to use in the Project Manager?
Adding another last question to my the list, is "Missions" in Torque3D really "Levels"?
#7
The splash sequence is easily customized. You can have a series of images or even multiple (logos) images on one splash screen -- all with just a few lines of changed/added code.
Remove the tools before release if that is your wish.
To makes scripts unavailable you have a couple of options:
The client and server separation of scripts is aesthetic only. It was done for organizational purposes. It takes a bit of setup and reorganization to have a true client-only package, or server-only package -- but is possible. Torque by it's nature is technically a multiplayer game even when you're playing a single player game. You could "hide" this by reorganizing the scripts however you wish, removing any join/create-server dialogs, etc.
Yes, "missions" and "levels" mean the same thing.
03/23/2013 (7:49 am)
Every GUI element, whether menu, buttons, etc can easily be changed.The splash sequence is easily customized. You can have a series of images or even multiple (logos) images on one splash screen -- all with just a few lines of changed/added code.
Remove the tools before release if that is your wish.
To makes scripts unavailable you have a couple of options:
- From the console type compileFiles("*.cs"); This will compile all script files to their .dso (byte code) counterparts.
- Set $compileAll to true in the main.cs. Run the game and it will open, then close a few seconds later having compiled all scripts to .dso.
- Enable automatic generation of DSO files by commenting out #define TORQUE_NO_DSO_GENERATION in torqueConfig.h and recompiling. This method will always export .dso for each and every run.
The client and server separation of scripts is aesthetic only. It was done for organizational purposes. It takes a bit of setup and reorganization to have a true client-only package, or server-only package -- but is possible. Torque by it's nature is technically a multiplayer game even when you're playing a single player game. You could "hide" this by reorganizing the scripts however you wish, removing any join/create-server dialogs, etc.
Yes, "missions" and "levels" mean the same thing.
#8
03/23/2013 (8:26 am)
Oh, hi Michael. $compileAll is most certainly a bool variable, but I cannot set it to true since it is not defined in main.cs. How do you mean by writing "compileFiles("*.cs");" in the console. From which console do you refer?
#9
From within the game you can press the ` key, sometimes mistakenly called the tilde ~ key. This is the console interface. It lets you view warnings and other messages, and allows input letting you modify global variables, call script functions as well as engine console methods. I'm certain that the documentation covers some of the things you can do with it.
03/23/2013 (9:01 am)
Just add it:$compileAll = true;
From within the game you can press the ` key, sometimes mistakenly called the tilde ~ key. This is the console interface. It lets you view warnings and other messages, and allows input letting you modify global variables, call script functions as well as engine console methods. I'm certain that the documentation covers some of the things you can do with it.
#10
"compile: invalid script file scripts/server/banlist.cs"
Is this a common error? I did not mess around with it beforehand.
03/23/2013 (10:38 am)
Tried to add "compileFiles("*.cs");" without quotes to the console and got the following error:"compile: invalid script file scripts/server/banlist.cs"
Is this a common error? I did not mess around with it beforehand.
#11
03/23/2013 (10:46 am)
It's harmless, all of your scripts will have compiled to dso regardless of the warning/error. It reports that simply because banlist.cs is a 0 byte file -- there's nothing there for it to compile. The server will output that file with a list of banned player names as part of the example admin options. You can drop a one-line comment in there and the warning will disappear and the "empty" file will be compiled.
#12
So to get it straight, all I have to do upon publishing now is to delete the .cs files since it might use the .dso files instead?
Tried to open the dso files with Notepad++ and right you are, the files made zero sense and was just a mish mash of text. That is great!
That's it and all, cannot recall any more questions to come to mind now. I guess upon distribution I will just copy the compiled .exe with it's referenced .dll files and generated .dso's?
Overall, great community! Now I will head back to the dark corners of tinkering with my game. Thank you all! :-)
03/23/2013 (11:01 am)
Oh yeah, I am sorry. All files has been compiled to .dso files now.So to get it straight, all I have to do upon publishing now is to delete the .cs files since it might use the .dso files instead?
Tried to open the dso files with Notepad++ and right you are, the files made zero sense and was just a mish mash of text. That is great!
That's it and all, cannot recall any more questions to come to mind now. I guess upon distribution I will just copy the compiled .exe with it's referenced .dll files and generated .dso's?
Overall, great community! Now I will head back to the dark corners of tinkering with my game. Thank you all! :-)
#13
Thanks for the mini-tutorial on DSO creation. I had no idea that was now built in like that. That is awesome. I thought option 3 was the only option. I am glad it is not.
@Lars,
I would learn how to use some tools to build a release copy of the code. Something that will build up the directory structure with the art, dso files, executables, etc. That way you have a development and release file structures. I am not sure what the best tools are, but something that checks the CRC of the file and only copies if a file changes would be good.
The dso file is the actual bytecode for the interpreter built into the game engine. It is similar to what a Java compiler or Python compiler creates when it compiles to bytecode. Even if you don't enable DSO file creation it is doing this compile into memory and running the bytecode from memory.
03/23/2013 (1:28 pm)
@Michael,Thanks for the mini-tutorial on DSO creation. I had no idea that was now built in like that. That is awesome. I thought option 3 was the only option. I am glad it is not.
@Lars,
I would learn how to use some tools to build a release copy of the code. Something that will build up the directory structure with the art, dso files, executables, etc. That way you have a development and release file structures. I am not sure what the best tools are, but something that checks the CRC of the file and only copies if a file changes would be good.
The dso file is the actual bytecode for the interpreter built into the game engine. It is similar to what a Java compiler or Python compiler creates when it compiles to bytecode. Even if you don't enable DSO file creation it is doing this compile into memory and running the bytecode from memory.
Duion