[gameprogrammer] Re: Rant on the Wind of Change (blitz -> Torque)

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śĦ ¢  ???)))© 

Other related posts: