Game Development Community

dev|Pro Game Development Curriculum

Checking in, telling a story.

by Luke Jones · 10/13/2015 (8:56 pm) · 10 comments

It seems I pop in here every few years or so. It's certainly been a very long time since I last posted a blog.

From a brief search of the blogs to see if I could spot some of the older, knowledge filled ones have been replaced with "delete delete delete", in an attempt to scrub out the existence of that person/teams content for any reason. Indeed I have done it myself, but have at least attempted to re-fill that blog post with half decent content.

So when will we get the ability to delete a blog? Probably never I bet. In an attempt to preserve useful content or such.

Torque3D and change
As I said in a previous blog, the biggest reason, and in-fact the only reason i quit the scene a decade ago, was because myself and my partner in crime had invested a fair bit of time in development and planning, concepts and proofs, all over the course of a year and a bit. We had to do most of this part time, and had many late-night sessions dev sessions.

We were also preparing to switch over to TGEA when it was to be released and started learning new techniques that could maybe take advantage of the tech. TGEA was released, and we stopped all development.

Why?

It was Windows and DirectX only. Neither of us had a Windows license. We used Linux exclusively for all development from testing, programming, graphics, scripting... We would have released any work on Windows as well of course, but Linux was our dev platform of choice because of the freedom, power, and control.

So we just lost the will to keep going at that point, and couldn't justify making a massive change to Windows when we shouldn't have had to.

Thinking back on it
We were naive, we were inexperienced. We refused to conform. And we always saw Linux as becoming something bigger.
What we should have done, if we refused to use a proprietary OS, was switched to an alternative engine. Except, there really weren't any around back then, much less AAA style engines that were within our price range.

Something that compounded this was that in New Zealand, it was quite difficult to get decent access to vital programming information. Sure there were some good websites, but nothing, and I mean nothing beats a well structured book or full course specifically related to programming. So while I gained the bare essentials of programming skills, I just couldn't grow them fast enough to help our situation back then.

So.....
Now here I am, in the present. What's different? Well, I'm still a hardcore Linux enthusiast, that will never change. But I'm also a full time Software Engineering student, while there were some University level degrees available where I am a decade ago, they focused on such languages as Pascal, Delphi, or even COBOL. Those were not what I wanted to learn then. Today it might be different because knowing what I know now, I see the immense value in the methods, theory, and practical side of it. Granted, I would now be ten years further ahead and sometimes I regret being such a "language snob".

Shit happens, eh.


I've got a bloody hard road ahead of me. As I have to learn Python (pretty damned easy, and already very good using it), Java (start next year, for class and mem management), Haskell (next year, for functional chops), C++ (for low level device programming), and also Rust (just because it is really appealing). And on top of that lot, I'm slowly learning OGL shaders, and will also learn the Vulkan ones when the spec drops, and trying to build my mathematics skills back up, plus gaining the essential knowledge of algorithms, design patterns, code patterns, theory etc.




I see that a lot of effort still goes into the DX side of Torque. And this frustrates the hell out of me as I see that the same effort could be getting used to maintain and improve the OpenGL and cross-platform abilities that Torque3D now has.
Or even better, jump on Vulkan as soon as possible. Given how hard Valve is going to be pushing Vulkan support soon, it'd be silly not to start getting a compatibility layer in asap. And even drop the DX stuff, focus purely on cross-platform.

Hopefully I'll soon get to a level where I can meaningfully contribute, but that will be a slow road. I like Torque, there's been some seriously amazing things happening in the last few years. But yeah... The Windows focus pissed me off.

GG|Interactive looks good. Great initiative. But seriously, come on, at least give people the building blocks to go cross-platform! C#??? At least use C and SDL. Hell, even Python and PyGame could be better.

About the author

Core developer using Rust lang at Sphere Identity.


#1
10/14/2015 (2:42 pm)
Delphi is just Pascal with objects....

GarageGames no longer works on Torque products - not since they released T2D and T3D under the MIT license. Sorry buddy, you're barking up the wrong tree. Head over to http://torque3d.org/ and check out the work that they're putting into getting OpenGL back into T3D - the community and the steering committee in particular have been on it steady for a while.
#2
10/14/2015 (3:03 pm)
What Richard said, in addition to:

* More than once we've released experimental builds of Torque with various non-Windows platform support

* The current community and steering committee are already making progress on non-DX rendering

* GG Interactive Dev|Pro have nothing to do with Torque
#4
10/14/2015 (6:43 pm)
As one of the guys that DOES work on T3D, as in, the Steering Committee, I'll go ahead and toss in a few pennies into the pot.

Firstly, I totally understand that as someone that uses Linux or Mac, the persistent Windows focus can come off as being annoying, not just Torque, but in the game engine scene as a whole.

The reality is that Linux and Mac still have a lot of hoops that one must jump through to support, either gimped drivers depending on what your running, or trying to track down lists of what is and isn't supported(Apple is particular bad about this part). It's getting better, especially with Valve putting a recent heavy focus on support, but it's not quite there yet.

As such, with Windows and DirectX being the pre-established platforms for T3D, it's definitely a whoooooooole lot easier to update and maintain that side, especially with how much resource gets dumped into them in regards to gamedev support.

However, as the others above have touched on, that hasn't stopped the interest in supporting the other 2 platforms. Not at all.

3.7 saw the introduction of linux support again, and the recent 3.8 release shored up a lot of the weak spots that were remaining. The linux side is actually half-respectable now.

Az has been working with JeffH to get OSX support in the past couple weeks too which has made amazing strides. But both are still buffeted by the issues mentioned above, so it's slow-but-steady progress rather than crazy sprints.

You mentioned supporting Vulkan, and dude, believe me, I'm super keen on looking into that when it comes out. I'd like to imagine that'd make supporting Linux a lot easier because there'd(supposedly) be less waffling with drivers to do.

The long and short of it is there's enough interest in Linux and Mac to try and get it working on those platforms, but there aren't enough people really intimate with them to be able to provide the insight needed to really push it to compete with the Windows side. We have excellent people helping out, but more angles of attack fills the gaps of knowledge.

If you're slowly working your way to being able to contribute to the Linux side?

AWESOME. Keep at it man.

I'd say grab the engine, give it a compile and poke through the guts of it and see what you think. Even if you don't feel you can contribute to the nity-grit of the development side, a life-long Unix user is sure to have some ideas and insights on how things are usually done that us passing users aren't aware of.

If you can't contribute, then critique and give feedback. BOTH are critical. Don't feel you need to be some divine-ascended Linux guru before you can start getting in the muck with everyone else ;)
#5
10/14/2015 (9:24 pm)
Hey thanks for the comments guys. I'm more than aware that the last little section of my post could be misconstrued.

I think essentially what I was trying to say, is that instead of massive effort on DX, if that had been focused on the cross platform API (OpenGL) instead, then the cross-platform support would have been a hell of a lot further ahead.

Also, I'm aware that GG no-longer works on T3D. :)
So it's absolutely fantastic that Linux and OSX support has been getting what it has.

And yes, I do plan to start contributing at some point soon. It's been a long time since I've had a poke around in the guts of the Torque engine, I think the last time I looked at that was when I tried to integrate ODE physics waaaaay back in the day (talking at least 8-10 years here).

Much praise for everyone who has contributed! I will probably climb in at some point soon. Maybe not coding, but critiquing, bug-reports, that sort of thing.
#6
10/15/2015 (5:26 am)
Perhaps it is also worth mentioning that while Linux and Mac support is a nice touch that shows T3D is a modern engine then the biggest market for PC gaming is still Windows. It would be wise to keep that in mind if we wish many people to keep using Torque 3D.

DX is also important as it makes everything work so much better on Windows systems(yup I know I know OpenGL also runs well on Windows).

I am especially happy to read that DX 11 support is to be seen in 3.9 as that tells me and everybody else using this engine that Torque 3D MIT actually has a future in this all free to use game engine market. DirectX 11 stands for modern just as well as Linux and Mac support do.

The steering community works for free on our engine. They do it in their free spare time.

See more here:
http://www.garagegames.com/community/blog/view/22603/2#comments

Hence a lot of people help out to give Torque 3D a strong Multi platform profile. Some would say that DirectX has seen too little support lately and as such that part of the engine has ended up being close to outdated with regard to DirectX...

Ogre3D MIT now uses DirectX 11 and we don't. We have a small port from this part:
http://www.garagegames.com/community/forums/viewthread/136513

Their is nothing to complain about when we talk focus on Multi-platform support for Torque 3D MIT.

We need strong support for all three platforms. Windows is not the enemy. It is a widely used platform that must be taken serious. Going Linux and Mac only is not going to benefit Torque 3D developers in any way ;O)

Note: I actually use Ubuntu/Linux and Windows. Hence I am no fanboy. I am just seeing the real world for what it is.
#7
10/15/2015 (6:15 am)
I'm pretty sure they're aware that cross-platform is a big target. Unfortunately, in order to make a "big push" one needs more staff. The SC is doing all they can and they're making progress. The guys who can work on the cross-platform stuff are, the ones who are better at working with DX are working on that. If that results in more work done in DX because the community is more familiar with it then that's just the way the cookie crumbles.

Many people dropped OpenGL some years back because the committee at the Kronos Group was waffling and indecisive, while DirectX forged ahead. While the OpenGL community was arguing over how to update the standard, DirectX was simply updating - they made mistakes, but they made progress. That's why OpenGL took a deep back seat on Windows PCs - "Yeah, OpenGL is nice, but DirectX now supports <feature> and <other feature> and OpenGL still doesn't...." So, now OpenGL support in drivers is frequently flaky and many people are not familiar with it.
#8
10/18/2015 (6:28 pm)
Quote:Dwarf King: It is a widely used platform that must be taken serious

Even much more than "taken seriously" ...

Steam Hardware & Software Survey: September 2015

95.71% Windows OS
3.23% Mac OS
0.94% Linux OS


Looking at these figures from Steam you can conclude Windows is THE most important platform for PC games.

IMO Mac and Linux support are nice but wouldn't spend too much budget/time on. The game it self (bug free, gameplay, looks, audio etc.) is far more important then the extra 4.19% of the PC-game market you could gain on Steam (for example)
#9
10/18/2015 (8:06 pm)
I'll simply reiterate what I said on the development forums: SDL was added in 3.7 and focused on a bit in 3.8 to see how much we can kill off in terms of the per-platform special-snowflake code. (Hint: that works on windows too)

Now if you'll excuse me, I'll get back to actively pitching in to sort shit instead of wasting time playing woulda coulda shoulda games and expecting some mythical 'them' to come along and do it for us.
#10
07/14/2018 (3:34 am)
3 years on and I really want to apologize to people. This blog post is laden with naivete, arrogance, bravado, and all-round terrible language.