[gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- From: "Jason Zaphyr" <storm3@xxxxxxxxxxx>
- To: <gameprogrammer@xxxxxxxxxxxxx>
- Date: Tue, 25 Sep 2007 22:58:44 -0500
A good book for Torque engine is a 700+ Page Bible like book almost for the
torque engine called:
Game Programming All In One, I believe there are now two editions, I only have
the first edition, which comes with a CD containing several tools, a demo
version of torque, Ultra Edit shareware, Milkshape3d, and tons more, along with
example apps, and media from each of the chapters of the book. I recommend it
thoroughly to anyone needing to learn How to model, create textures, and UV Map
and apply the texture to models, and even level design, along with how to use
Torque Script, a C Like language which is typeless, and very easy to learn and
utilize to script your game. Also, Keep in mind you actually have the
sourcecode to Torque in C/C++ so you don't have to use Torque Script you could
code your game in C++ which is kinda advanced, I would recommend starting in
Torque Script first. Keep in mind Torque can be used for all kinds of games,
2D, 3D, First Person Shooters, 3rd Person, Racing, etc.. it contains physics
functions, even shaders, and a special lighting setup, and a great online
client server portion, allowing great online games, including even waiting
rooms, with chat capabilities, even make RPG or RTS Games, *NOTE* There is
actually a special version of Torque already setup to make RTS games, I
purchased the RTS Kit, which makes creating the next Supreme Commander or Total
Annihilation (copyright of Cavedog), also there is an adventure kit as well,
which has a Torque engine tailor made to create Action Adventure games in 3D,
using Torque.
The kewl thing, is Torque is a torture tested engine, which has been used in
several real commercial products, including Tribes II. Also, you create your
levels using the Quark Level editor, which is the Quake Swiss Army Knife Level
Editor. There are several other editors which you can use, such as 3DS Max
(expensive / hard to master), Maya (Same Problems), and require convertors. I
believe you should also be able to use Qoole or whatever Half Life team Valve
is calling their Hammer Product these days, as long as it makes a BSP Map file,
I'm sure it is useable, or there is most likely a convertor available, so you
can use what editor you feel comfortable with.
Also, if you can't afford Max or Maya, then I suggest IMHO the best 3D Modeling
tool in the world, I know, a huge / big statement, but you can't do better for
ease of use, maximum amount of features, including onion skin animation modes,
real Inverse Kinematics, Bone Animations, as well as being able to paint and
texture models right in the editor, and also one of the most important of any
editors out there, the slew of supported formats, including both import and
export support for virtually any file format you could need, basically IMHO if
this editor can't import or export to a format you need, you can use LUA
scripting engine built in to write your own custom made, but with torque, no
need, as it is already supported. Now I know alot of users swear by
Milkshape3D, and let me first say, I cut my teeth on it, and learned alot, but
then I found and helped beta test as well as suggest and test features for a
little program called Fragmotion, and I have never looked back. I still d/l
MS3D updates from time to time, to see how close they are from catching up to
Frag, and I'm sorry, but for both styles of modeling including #1) Solid
Generic Object Modeling using already made shapes, to make your stuff, or #2)
Using hand made Vertexes along with Face Connections, has made Fragmotion a
Weapon in the hands of those willing to put the time in, and play with it.
Also, virtually everything in the interface, and keybindings, and mouse, etc..
are all customizable, and saveable, so if you have to reload it, you can simply
load your previously saved bindings, and custom menus, which btw: I suggest
making a sub-menu item called General Purpose and include all the generic
shapes, and all the camera functions, and all the movement / rotation /
modification / extrusion functions, even all the way down to vertex level to
this sub menu, then dock the three main menu things I suggest that are only
needed while modeling to start with, such as: Tools, Model, Properties, then
turn off the others under the view menu, this way when you select tools, and
select your sub-menu of GenPurpose you will be able to see almost all items,
which will greatly speed up your modeling, as you will spend alot less time
scrolling the tools list back and forth, and spend more time actually creating
your model. Oh, and animation is a snap, using joints, bones, and vertex
weighting along with IK, creating realistic or even wild out of this world
animations are a piece of cake, then top it off, by painting your model right
inside Fragmotion, and then you can save your model to *.ugh which is the Frag
default file format, then you can export directly to several Torque friendly
formats, I think it even might do the terrains and levels, although that part I
have not tested, so don't quote me on that one, but I can tell you Frag is
awesome once you set it up to your liking, and play around learning it.
Okay, I'm off my soap box now, and BTW: I also use Frag for my 3D Game Studio
A7 development, I find it far superior to even the built in 3DGS A7 MED model
editor which is supposed to be made for 3DGS, sorry Frag is just sooooo Easy.
By the way I am in the process of writing a tutorial for modeling using
Fragmotion, including such things, as how to start, by setting up the editor
correctly for your liking, ease of use, saving your setup, then I go over
several tips about the editor items, such as key bindings, items to put in your
special GenPurpose Menu, and making your first simple model, made from using
several of the built in shapes, such as cube, sphere's, torus, etc.. then
modifying those objects, and combining them, morphing their shape, scaling,
moving verts etc.. Also, ensuring you get in the habit of saving your objects
as you make changes, and naming groups as you go, to ensure they make since
when animating them and / or painting them. Finally, I hope to show you just
how really easy it is to use the vertex / face advanced modeling feature, to
create models out of this world, stuff you didn't ever dream you could make
that fast. I learned several tricks to ensure you select the right verts,
while using the face tool to connect them, also how to ensure your faces have
double sided on by default so no holes in models and funky clear invisible
faces from the other side. I also cover tricks such as how to use inserting
verts in front or side view first, then connecting them in the 3D view, makes
it much easier to ensure you have the correct vert and not one behind the one
you want, if you rotate the verts / model in just the right way, you should be
able to ensure you select just the right verts as you make your faces, and it
also allows you to rotate your model around on the fly checking out your
progress as you go. Using this technique, along with extrusion, movement, face
edge turning, and you can make some eye catching, awesome models, and I am
going to create a begin to end tutorial and give it to everyone whom wants it
on the list, I just have to decide on the recording software to use, to record
my tutorial as I select objects, and do stuff in the editor, one that lets me
type in messages, or even speak the instructions into a microphone as I record
the tutorial. Once I find the tutorial / recorder / creation app, I will be
making several of these howto's and make several of them available free from my
website www.mirrovisionstudios.com which is my game / entertainment personal
company name.
Oh, a bit off topic, but did I mention that you can also use fragmotion to
generate Sprite images from your 3D Objects you create and animate, perfect for
2D game development systems as well as when you just want an object to be a 2D
billboard in your 3D game, to provide eyecandy, but NOT slow down your
gameplay. Think of making objects for a puzzle game in Frag, animate them
spinning, bouncing or exploding, and then click make sprites and specify the
filename, and directory, and viola, you have a very simple way to create all
your game content whether 2D or 3D, whoo, sorry to ramble on and on, but I love
this tool, and I am so happy you are making the jump from blitz3D to torque,
don't get me wrong I used Blitz3D for a few great projects, and still do make
use of it from time to time, such as one of the versions of my puzzle game
titled: Seeds of Time, the 3D version was made in Blitz3D, and worked out
really nicely, I just kept running into errors with the collision detection, as
I was trying to get all the fruit items to fall down onto the game board,
stopping when they collided with the game board, and bounce even, just some
simple eyecandy, and it frustrated me that sometimes it worked, others, the
fruit would fall through going forever. I'm sure it was my fault, with some
logic bug in my code, but I found it alot faster and easier to just throw it
together with Game Maker 5.x something at the time, but back then I didn't have
Frag and had to use MS3D and generate the sprites of the fruit with screen caps
done by hand, and then changing bg color to black, and alot of times had to
hand paint the fruit edges to get rid of jaggies, now with frag all that is a
great memory!
Phew, I hope this helps, and if you want to talk more private, get some help
with a project, whatever, let me know, I even think there is an E-Book of that
book I told you about The Game Programming All In One, By Luke Ahern I believe,
I found this after I bought the book, I believe in purchasing the book, it is
cheap and for all the info it teaches you, it is worth its weight in gold,
especially if just for the modeling / texturing / level editing and the torque
script help, it is an invaluable source. So buy the book and support the
developer, as you know us indie gamers are struggling artists ehhehe. Good
Luck with your programming projects in the future and I hope you find all the
info you need to make the next great game on the block, and somehow I helped
you in a way, that you will shoot me an email to say thanks at:
storm3@xxxxxxxxxxx
Jason Zaphyr aka Ken aka StOrM3 - Yes that StOrM3, the Total Annihilation Unit
Editor Author along with Kinboat, 3do format reverse engineered in 48 hours
straight no sleep, lots of coffee, then a dxf->3do file format conversion tool,
which spring boarded my game development interest. I have Four Completed Games
Under my belt, which is hard for alot of people to say, as alot start em' but
very few finish them.
PS. - Thanks for listening to my Rant / Tutorial / Testimonial / Product
Suggestions.
----- Original Message -----
From: ®£$ǖ"v@M$Ħ ¢© $...........
To: gameprogrammer@xxxxxxxxxxxxx
Sent: Tuesday, September 25, 2007 6:58 AM
Subject: [gameprogrammer] Re: Rant on the Wind of Change
have any of you heard of blitz basic. i use that right now but i want to move
onto the torque game engine. Is torque a good game engine and what would be a
good book for that.
On 9/24/07, kuon <kuon@xxxxxxxxxx> wrote:
This thread deserve to be in some guinness book, not for it's length, but
mostly for it's content.
When I read what people say, I can agree to nearly everything.
I'm a C coder, I always hated C++ because I think it add nothing needed to
C and it syntax is confusing (that is, more than C).
Obj-C on the other hand is nicer, but I don't think it's a replacement to C.
I think language should be used for what they were created. Maybe I'm
wrong, maybe people will start throwing things at me, but here is how I use
today's languages:
C
For example, currently, I'm writing a network 3d game.
In that game, everything is in C except the UI which is in lua. Lua is used
for the UI because it's way more flexible, I can give the job to some less
experimented programmers, it keeps the game logic clean, and lua syntax is more
adapted for this.
A little example of what lua do well is in defining the interface, like:
C[1] = {
UsernameLbl = Label:new {
x = -150,
y = 250,
a_h = LEFT,
size = 'Big',
text = L['Username:']
},
UsernameFld = TextField:new {
x = -150,
y = 200,
a_h = LEFT,
size = 'Big',
K = {TAB = Login_FocusPasswordField, RETURN = Login_DoLogin, ENTER =
Login_DoLogin}
}
}
This is straight lua, then I can do C[1].UsernameFld to access my username
field.
Ruby
Yea, I do some Ruby. Actually, I use it for Ruby on Rails. I think Ruby is
perfectly suited for it. Mapping the objects to the database is really well
done in RoR. I know, many will argue about the design decision of RoR and Ruby
itself, but I know it's not an universal solution. But for new project, it is
really well suited.
I love the Ruby syntax because it's very short to get the job done, and
when you are writing a little online tool to manage the timeline of the game
lore (like I did), you are very happy with Ruby and Rails.
Ruby is also nice for testing, if I had to test some algorithm, I would
surely do it in Ruby as it has many good tools for it.
Lua
I think lua is a very elegant and clean scripting language. I also think it
sucks at debugging and finding errors, that's why (in the game I'm working on)
all the C underlayer is responsible for errors (of course, you have to do the
error in our own C API).
Lua is also, in my opinion, the best language to add into a bigger
application, a couple of C files and there you go!
Java
I did a lot of Java coding, I did a couple of WebObjects application, I did
some embedded java, I used Faces and some other web technologies.
Now, I don't do any Java, I replaced web coding with Ruby and Rails and I
don't have any project concerning embedded devices.
One of the problem of Java is the memory usage, this is mostly because
nearly all types are long and in object programming, this can grow very large
very quickly. But java has a lot of advantages:
- Virtual Machine
- You can do a Windows/Mac/linux/Solaris app in a jar and just bundle this
with very few hassle.
- It has a huge set of libraries.
But it also has some drawbacks:
- Memory footprint
- Language is not elegant, it's just C with perhaps 3 added syntax.
- Many API are not high level enough, even for a "high level" language, but
I think this is because Java was not thought as high level, but on this I don't
know and I just say many API could be simpler. (OK they changed a lot now)
- It's sometime too easy to get the job done by copy pasting code. This is
an issue. Copy pasting is evil in coding, you can inspire yourself from some
code, but having to maintain code you do not understand is not good, in that
case, just use a lib.
Now, I'll say java is evolving to be better, java has a huge market and
it's becoming better every new release. If I have to make some logic that
quickly need to work on multi platforms (without any ifdef, and higher level
than just console, because C is very portable when you don't touch the GUI)
I'll use Java.
Objective-C
Ok, if you are still reading, there you go.
I think objc do things really well. It separate the object model from the
procedural model with:
for(i = 0; i < 10; i++) // Porcedural programming
[myObject doSomthing]; // OO programming
This is where it does things better than java and C++.
So, this is for the syntax. Then, I love the fact you can do plain C in it,
this is personal, I did C for quite some years now (about 14, but I'm 23yo, so
that's quite a lot for me).
I think, Obj-C is needed (I mean over C) exactly for what Apple uses it,
Application development.
Things like Notification center, autorelease pool, key value coding and key
value coding observation, nib files... Are juse in need of that language. Of
course, you could have made it simpler. But now I'm on 10.5 (yea, legally), and
even if I can't speak about it, I can say I'm amazed. I've been playing with
computers since I was 4yo (I did some super paint on an SE 30 back then,
nothing fancy like many of you who are far more experienced than me, but I
still remember it), I tested gazillion of user interfaces and I'm amazed. Apple
job on the UI is incredible. Many things just works (like drag and drop of
nearly everything everywhere)...
I realize the logic needed to make it work. And to make it maintainable by
human beings like us, you need a tool, and Obj-C is that tool. It's a bit like
lua in my game, it's to maintain the UI, use it's functions...
I know many of you are mad at Apple deprecating things like they do. But
it's legitimate. Of course, I agree it should continue working and just issue a
warning.
I encourage the change. Yea, I know I'm young and I hope I can still live
quite some time and it might be more than some of you. I have a really high
respect for the work you did and will do, you helped me a great lot in my life,
and I know you will continue. Your wisdom in coding is great and it's an honor
to have learned from many of you, even if you don't know you helped me. (I
speak to a wider audience than just that mailing list)
It's fun, I started many sentences with I and they as they are aligned,
it's a fancy effect:)
We all know that there is nothing more frustrating than a change we didn't
want. But that's what make use move forward. There are good and bad changes,
but they all put our adaptation capabilities under stress, and this is what
makes us evolve. At least, this is what I think. I know I sound like a crumpled
newspaper or some idiot on the TV, I wish I did not but I know I do.
Apple is doing great things, nobody can deny it, I agree with Zack and
other that it's at a cost which is too great sometimes. But I did the move to
10.5 and I was really happy to see I had to do nothing except hitting build to
have all my apps working. Ok, there is no carbon apps in the lot, there are
some really old C code, of course, the game (nearly 1mio of C code if you count
the math libs which is quite big because of ASM for multiple platforms) and a
couple of Cocoa apps. I spent 1h putting my cross compiler for windows back on
line and there we go.
I know the problem is really about Carbon, but Apple stated, you'll have to
move to Cocoa. Again, as a young person, I took the move, and I recoded all my
apps from Carbon to Cocoa as soon as I had my first Mac OS X CD. It was a pain,
it was frustrating, sometimes, I just started from scratch, my libs would not
compile... But I had time for it, I was discovering something new.
Now, many of you are older and "made" the computers as they are now. Again,
your work is incredible, it's with all of you that we are were we are now. All
the games you did, all of this.
But it's not because the game don't work anymore that it has been a lack of
time. I truly think all things should come an go, this includes myself. Now
it's time for Cocoa and OpenGL games. I encourage you to created new games
using those technologies. You can, as Zack did for dark castle, revamp the
game. I will feel immensely happy when the new dark castle comes out. I know
the old one passed away, and I keep it's good memories with me.
I'm a bit sorry for this message, it was a pain to read, my english is far
from perfect and I'm very bad at explaining things. I'm the kind of person
overwhelmed by it's feeling and I could write a book to explain all of it.
As a final note, I encourage all of you to continue the hard work. I really
hope we will all be together in the train and nobody will be left behind, I
know it's utopic, but if I stopped being utopic, I would die right away.
I wish you the best to all of you.
From a little rookie.
--
Kuon
"Don't press that button."
http://goyman.com/
Blog: http://kuon.goyman.com/
--
Reply,
®(((???£ Ŝǖ"v@ˉ˘MśĦ ¢ ???)))©
- Follow-Ups:
- [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- From: Ken Johnson
- [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- From: ®£$ǖ\"v@M$Ħ ¢© $...........
- References:
- [gameprogrammer] Re: Rant on the Wind of Change
- From: kuon
- [gameprogrammer] Re: Rant on the Wind of Change
- From: ®£$ǖ\"v@M$Ħ ¢© $...........
Other related posts:
- » [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- » [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- » [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- From: Ken Johnson
- [gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)
- From: ®£$ǖ\"v@M$Ħ ¢© $...........
- [gameprogrammer] Re: Rant on the Wind of Change
- From: kuon
- [gameprogrammer] Re: Rant on the Wind of Change
- From: ®£$ǖ\"v@M$Ħ ¢© $...........