Game Development Community

dev|Pro Game Development Curriculum

Making THE game part one. Whats my engine need?

by Ron Kapaun · 03/17/2014 (6:21 pm) · 19 comments

Hi,

Well, it's been a little while (I am sure some of you do not feel it's been long enough but, that's fine.) I want to start this blog by working through a couple of things that you are probably wondering.

1. You removed ALL of my previous posts... Did you loose your mind?

Answer: No, I was never mad, pissed off, or interested in social perceptions. Most of you do not know me as a person. However, when I decide to do something I do it. I don't ask permission and I do not care about 'public' perception. I pulled all my old posts because 99% of the images and info in them was dated and I REALLY needed to redo my full website. See, I released EVERYTHING I have done over the last 2 years as public domain. (Yes, it is available at my site 3TDstudios.com). When I initially released it, I did NOT think of the existing licenses that were included or the text that was on my old site. So, I pulled everything, redid it and re-released it. This stuff is up and available now.

2. You stated you were leaving.

Answer: Yep, and I have. I am NOT developing for T3D and I have no personal interest in seeing T3D live or die. I am a hobby developer that shares his stuff! (thank the gods!). I do not care if T3D, Garage Games or whatever splinter group forms or dies out. (EDIT: Let me explain that last line, I mean my game will not DEPEND on Garage Games or any other team or project. I have been at this site and been with the community for a long long time, I am very happy that Garage Games found a model that works for them and I wish each of the them the best. However, I am interested in making MY game and that means I need to take full responsibility to make it happen.)

I am here to share some of my experiences with you because, well, honestly, I like to share. It's probably the college professor in me. I take pride in making most of what I do available for the next generation.

So, take my experience with this stuff or leave it. It matters not to me and I will not address old business further.

-------------------------------------------------------------------------

Let us begin on this new Project.

Building THE game: Part 1 - the Engine (WTF, I thought that would work!)

Obviously, I am still using Torque 3D. This is an engine that I like to think I know and understand (though if you read further on, I discovered more than a few things I was fooling myself about!) I can make models and add them to the engine with ease, I can script a bit, I can code a bit in C++ and I started out thinking my 'game' would be something I could pop out in a few weeks. Well, it's been a few weeks and WOW, I have learned a TON of new things and I now understand SO much more than I did when I made my initial plans.

THE ENGINE:

So, without revealing anything about my project, (NO it's not the undersea adventure for Rift that I was planning, and it will become clear as to why that project is on the back burner for now). I started out with TONS of experiments. Seriously, I have over 25 different T3D builds on my local hard drives (keep in mind, I have 2+ terrabytes local storage of which 100.2 gigs include T3D builds.) using TONS of features, both paid products and MIT resources that I created and combined to 'test and play' different 'game features'. I think this is probably a common thing for us as developers. We see a 'new' resource or we are interested how a resource will interact with a set of scripts and code we bought (yes, I have bought a number of things.... to include ART packs! GASP!!!) I can honestly say at this point that I am not an expert by any means. Even on the art side of T3D there are things that confound me. This is NOT a bad thing, it just means I have more to learn! Nothing wrong with that and I am happy to admit this.

However, I have 25+ builds and in each build ALL of the features I tested work (for the most part, OBVIOUSLY there are issues and tweaks to be made but, I can and have noted them and in the end I am thinking I have my 'perfect' build..... So, I start.... I add resources, I add scripts, I add in EVERYTHING I need!!! HA HA HA... 'F everyone' I have the perfect build.... but, wait.... WTF???? My build won't compile in visual studio???? Wait it compiles but hangs when loading data blocks! AAARRRGGGGHHHH! (to quote Charlie Brown!).

So, I have all of these builds, I have all the source changes and I have all of the info to make these products and systems work. Guess what??? EPIC FAIL! None of my builds worked on first compile!

Back in the day, I was a regular Torque worker, (I do not mean Torque DEVELOPER because I spent my days incorporating other people's resources into my personal build of TGE. I spent hours and hours and hours making builds of the Torque Game Engine (1.42 and even MORE in 1.5.2). I ran into the SAME FREAKING issue...

NO ONE IS BUILDING MY GAME ENGINE!

As the header says, there is not one developer or contributor (except me) who is building my 'perfect' engine. So, my builds crash, my scripts hang with the dreaded 'loading data blocks', forever error.... etc etc. This happened back in the day and I was really hoping that it was not an issue anymore. I was WRONG. The difference now.... PERSONAL GRIT.

WTF is PERSONAL GRIT?

Grit, in this instance, is the ability identify a problem or error, understand why the error is happening and come up with a way to make the error go away (aka, FIX IT!). Lastly, GRIT is NEVER giving up on the problem! Now, this is NO small task since in T3D I need to ID errors within both C++ and Torque Script or GOD FORBID... both! Lets not also add ART and ART scripting errors (of which there has been MANY!)

SO... WHY DO WE HAVE THESE ISSUES?

Honestly, I sat down one day and thought about this, I came to a simple conclusion, these problems are BOUND to happen. The graphics guys are working on the port to DX whatever or OpenGl version (include number stuff here), the AI and Path finding dudes are working their part as well as the sound guys. The modelers are trying to make their stuff work, etc etc etc. Issue is... none of these guys talk or know what the other is doing. This is where a GAME DEVELOPER comes in!!

SO, GAME DEV... WHAT?

Game developers are the guys that can look at all of these dis-jointed pieces of code and make them work in sync. THIS is our job.

Currently I am able to make these assorted functions work as an Engine:

T3D 3.5.1 (or whatever the current MIT version is...)
Verve port (thanks J0linar... with some 'adaptions by me')
DX9c Refactor - HUGE Pain in the Ass to get to work with all the other stuff but, MORE than worth it. (seriously, if this is NOT a part of the NEXT release, T3D may as well GIVE up. I can ACCURATELY account for nearly a DOUBLE the Frames per-second improvement. (I have SCREEN CAPTURE and Video Capture proof if needed.)

UAISK. Weapon Scripts were hosed. (Not due to TJ's efforts! Just my personal twists...)

Climbing Resource (90% ladders are now OK....)

Dark UI (thanks Nils Eikelenboom!) By the way... WTF I had to fix the readout for the metrics (fps) (gfx) stuff so I could see it :-) Just kidding! Yes, I had to fix it but it was not complicated at all. Good work!

IronSights. With tweeks and new animations... oh and I figured out a crappy hack for render to texture stuff.... for scopes.

Motion Blur 2.0 - running in reverse does not 'f' up the view now. I need to adapt this for object based movement before it's ready for public consumption.

Toon Shader - standard deal, Outline (you can assign the thickness) and poster effects combined in one shader.

Vignette - thanks J0linar. This is still better than my original solution.

TONS of PostFx crap... I am NOT going to name it all here (GI is GONE... IT KILLS THE Frame rate unless you have VERY controlled circumstances, (aka interiors ONLY). REMOVED!

UAISK with RECAST and a custom "cover object" system thanks (those that helped... there are MANY! Love the community!)

TONS of new animations (Thanks Mike! (he is my mo-cap model...More to follow on that.)

DSSDO... Thanks to Lukas for this lead. He did not share any code with me but, I understood where he went with it... based on his assorted posts. (no, I will NOT release anything public... gotta respect my 'commercial' T3D brothers.) I will leave out my WLE gripe for this post.

'Bullet time'... its a cheat but, it works for now and in my limited situations, it works.

So, I started out to make a 'cool' AAA diving adventure game. Well, I can't (not because of the engine, but because of my OWN limits in knowledge and prowess in script and c++ and hey, the stock SWIMMING animations STILL SUCK!) I will get back to it eventually. For now, I am working on another game.... Something I deem 'simpler' and 'easier' but, as par-for the course.... not true. I still have run into a large number of 'incompatible' engine changes and add-ons. So, will I quit? No.... I will figure these things out and make them play nice with each other.

In the end, there have been a GREAT number of improvements and public add-ons that are essential to making a 'modern' game lately (within the last month or so). They may not all play together well initially but, with some 'hacks' and some effort, you can make them all work as an engine. If you have the stick to it attitude and the never give up mindset.

This is the core of engine and game dev tools development. (really, I actually just finished an animations needed document for my 'simple game' it includes DOZENS of new animations that I need for about 12 or 14 characters. (needless to say, I am working on a pipeline for animation capture.)

SO WHAT ARE YOU TRYING TO SAY HERE?

It's pretty simple. Torque is NOT an 'out of the box' answer to your (or my!) needs. It was NEVER intended to be that. However, since we have the source code and are able to adapt the engine to our needs we CAN accomplish nearly anything. Assuming that we have the drive to FORCE the engine to our will. (Hell, two years as a 'game ready' artist and I can tell you this... I have come up with DOZENS of ways to do my first product better than I did and I can even IMPROVE on my LAST commercial product.) THAT is the nature of professional growth, that is the nature of Game Development.

As usual for me. There will be more info to follow. Hopefully, with some new screen shots and perhaps a dev video. The plan is to make this game development process as transparent as possible. I am not trying to make the next COD or WOW killer here. Just trying to make a decent FPS with SOLID game play and some solid game mechanic foundations. After that, who knows... I guess it's up to my imagination and willingness to force Torque (or whatever engine I choose) to do what I want. Alas, that is for all of us to decide. Compromise is NOT failure unless you totally give up! (you can quote me on that)

LASTLY, Hack Versus 'fix'.... at this point.. WTF? Who cares, I will hack a piece of programming till the end of time as long as it works.... On top of that. I HAVE hacked them. No idea if what I did was right, it just works so I move the 'F' on..... I know this seems stupid but, in the end, nobody gives two SHITS about HOW a product was shipped, they just want a shipped product. (YES I can back this statement up). SOOOO, hack away. Make it work. In the end, you can mess around with 'proper' code or you can ship a freaking game. (to me, this is a no brainier).

I hope you got something of value from this post. Like I said, I will continue to post these intermittently. I am also planning to video record some of this and post it. Again, take this or leave it. In game dev, the choice is (how grand!) yours!

#1
03/17/2014 (7:37 pm)
enjyoable to read and i agree 120%

hell when i touched T3D i was expecting it to play by my rules - guess what - fail.

However time passed and the stuff one learns in the process is of real value even if you abandon a project or it fails, as a gameDev "You have to fail to prevail!"

Now tbh if i would think the same way i did last year, i would have instantly jumped the gun to ask you how did you do this or that but now
well i have to admit to myself what i did wrong when working on my game.

The neverending want/ want this feature and that is what kicks us out off the saddle. Keeping it Simple and understanding that a One Man Army has to approach things in stealth mode.

Gonna quit my bla bla...
I get your point and i totally agree
and btw good to see you back here @Tor(cher)queland
#2
03/17/2014 (8:48 pm)
I've said it shorter, but it wasn't as entertaining - You've rather eloquently expressed my long-standing line on what Torque (in all of its incarnations) is: a game engine. Not a turn-key game creator. Well said.

Glad you're sticking around - we need someone to help field silly questions around here....
#3
03/18/2014 (5:20 am)
So it was just some kind of development crisis, I have that from time to time, too. When I gain some new knowledge, I sometimes think of my old ideas and works "This is all crap, start from scratch"

Good to see you back, it would have been sad, if you take your experience away from the community.
#4
03/18/2014 (5:29 am)
Great read Ron...I agree also. I have tons of builds with different things some run some don't, some I figured out other I gave up on..
Alot of the same stuff you gone through I have as well..I guess it's time for me to pull one of the builds and just put on my programmer hat.
Tho, I would love to know more about this animation artist ;)

#5
03/18/2014 (5:31 am)
@Ron,

I'm not sure what the gripe is, but dude email me.

If your holding SSDO from public because of WLE, shoot Lukas an email. I mean if he put his research in a public forum then it's public. I know he has been fighting a lot with it. To me it's simple, you got it working first, just give credit in the footnotes and move on.

Hope all goes well for ya, and welcome back!

Vince



#6
03/18/2014 (5:54 am)
Quote: I do not care if T3D, Garage Games or whatever splinter group forms or dies out.
=(

Regardless of tech decisions, career choices, or project refocusing, kinda stings when I hear people say they don't care about GG. Even if we are not developing Torque anymore, we're still helping out in the community and providing services to empower you all. Every single morning when I wake up, before coffee, every single day of the week (including weekends), I jump on this site to clean up the spam, look for threads that need answering, and check the blogs for new content. Scott, Eric (yes, the CEO), and I answer support e-mails all the time, even on inquiries about TGE, Marble Blast, Torsion, and current tech.

It goes without saying most of us at GG are family people too, so the company dying out would hurt a lot of people inside and outside of the company. Long story short, the impact of GarageGames dying will have a much bigger impact than people expect and many would regret seeing that happen.
#7
03/18/2014 (7:22 am)
Mich,

That line was NOT intended as a dig at Garage Games or any other project. It was a poorly written line by me stating that it is not ON Garage Games or other people/projects to support or help make MY game. I need to take personal responsibility for my own project and just accept when things like Garage Games grow and change. I should have worded that better. In fact, I will rewrite it because you are correct.

Please accept my apologies.
#8
03/18/2014 (7:24 am)
Ah, thanks for the clarification Ron. It's difficult for me to read between the lines early in the morning, so I'm glad you took the time to clear it up. Glad to know GG itself isn't the target for anything.
#9
03/18/2014 (7:30 am)
Mich, yeah sorry about that. I clarified in the blog text as well.

Thanks for catch. I am not here to dig or challenge anyone. I am just building a game or two :-)
#10
03/18/2014 (7:34 am)
Quote:I am just building a game or two :-)
Excellent. I look forward to your progress on game making =)
#11
03/18/2014 (8:46 am)
Hell Ron, don't hold anything back because of me! You made it, it's yours!
Not that I want to push you into releasing it, I just wanted to make clear that I don't feel any ownership over your work!

Also this sounds great! Thanks for your continued contribution to the game making community! And the best of luck with your game, you can always send me a mail if you need some help with an issue! And you know you are always welcome here at the forums!

(Btw you should begin formatting your text, it makes it a lot easier to read, and looks more calm and professional)
#12
03/18/2014 (9:39 am)
Interesting read Ron.

Quote:
Hack Versus 'fix'.... Who cares ...
It's only a hack if it breaks something else ;)

Bullet time hack? Do I detect the use of $timeScale? ;)

As for mocap, I found that investing in MrBones huge pack (I think it's 200 bucks) gave a vast library of motions ... including some really scary stripper stuff that is terrifying when played on my Steampunk Redcoats :S
It took a bit of faffing around to get it working nicely but that was mostly because I wanted the animations to work with my custom character rigs and not use the provided character rigs.
#13
03/18/2014 (10:10 am)
Good read Ron. Glad to see you still around doing stuff.
#14
03/18/2014 (12:34 pm)
Great read Ron, I'm happy to see ya around. Glad to see your going to be making a game as well. =)
#15
03/18/2014 (12:39 pm)
DJ: Ron Kapaun is in the room!!!
<start playing some be bop or something>

Now get busy damn it! ;)
#16
03/19/2014 (11:27 am)
Something you might really want to consider looking into:

Unreal 4 Home Page

In case you guys didn't notice, Epic Games is letting people have access to the Unreal Engine source code on github for only $19/mo.

Heck, I'd do that just to learn how they did some of that awesome stuff. Maybe give us a bit of insight on how we can "improve" T3D?

Just something to consider :)
#17
03/19/2014 (11:45 am)
Robert,

That is interesting indeed and the 5% (Gross income) charge per-title purchased is not terrible either. I will definitely be looking deeper into this.
#18
03/19/2014 (12:11 pm)
OH YEAH... @Vince and @Lukas... ???

No no, no conflict with your work guys! I just got some ideas from Lukas' outstanding efforts. That is all I meant. I was not holding off or anything because of that. He is just farther along and from what I have seen in his blogs and posts, he is getting better results. That is all I meant. And, Lukas, we both are working off the same exact whitepaper. Heck, go for it... at this point I am not focused on the shader stuff too much anyway. I have a crapload of game mechanics that I am working out first. (well, except a nifty little IBL (image based lighting thing).... but again, that is way out there. Sorry if it seemed that I was dissing you guys at WLE. NOT intended.
#19
03/19/2014 (6:46 pm)
I still believe there's a ton of talent on in this community just going to waste if only it were easier for people to get together on projects...

That said Glad you're still around Ron, if I may call you that and best of luck.

In video game creation often times an army of one is not enough but there are times that it works.

Could only imagine what you and a team of people like you could get out the door; the next halo perhaps?