Make Games, Not Engines!

Apr 24, 2014 23:25

OMFG what a load of garbage. I think I've seen this nonsense so many times in that past few months that I'm about to hurl... a big ass rant! (Cause y'know that's what I love to do... blame the caffeine.)

Okay so a lot of people think that this is some godly quote and if taken the right way, I can somewhat agree with this. However, people are stupid and lazy and hellbent on instant gratification. What they don't realize is what this concept does to your capability later on which typically ends in frustration and failure. The majority of script kiddies and wannabe devs take this motto as to be "don't bother trying to make an engine, it's so much easier and better to use an engine that already exists and make a game! It makes so much sense!" Yeah it does make a lot of sense, and I'm not gonna trash talk those super, awesome, badass engines like Unity3D, UDK/UE3/UE4, CE3... at least not too much. No offence guys, you make great products, I've tried and tested them all and then some.

The problem you find with these TOOLS (not actually engines but an application sitting on top of a game engine) really only comes up in certain aspects and you usually only see them towards about the last 90% of a completed project. These happen when you try to do something that the engine isn't technically built for or for optimization. I'll give you a few case examples that are easily definable.

CryEngine3: Probably the best dynamic GI I've ever seen. Breathtaking really. I like how a good grip of the libraries are available in the zip file. It's very full features and the anticipated everything you'd probably need in an FPS. Making it bend to your will can be a bit cumbersome when it comes to scripting which utilizes lua. Don't know it, it's a pretty decent scripting language that a lot of engines use surprisingly. I have two issues here... one being that even though my machines go over the system requirements, she is a downright resource hog. Tweaking the settings as low as I can, I still only get a MAX of 15 FPS. I've played around with it a lot and it just drive me nuts. Secondly and more importantly... no custom shaders. This bit is a complicated issue because they have a lot of shaders that you can tweak to your hearts content. And there are a lot of workarounds you can do to accomplish a similar affect. But it may not render exactly as you want. If you're willing to make that tradeoff then go for it. It's powerful enough to make some graphically insane games with huge maps. It'll take awhile but you'll get there.

UDK/UE3/UE4: I swear I hate hobbyist fanboys drooling over this software. If I see another fanatic preaching that is toolset is the industry standard that all the pros use, I'm gonna punch a baby. I admit they have an impressive library and is used in a LOT of games and promotional material. They have a really cool set up with educational facilities which I think is great for learning a lot about how everything is put together. In fact, we used this in my college program (but we also went beyond and made our own simple engines) and I think this is a big marketing ploy to infect the game development industry. Bravo Epic *claps* I like the structure that udk/ue4 provides. Really great documentation, a strong indie community when yer looking for tutorials or answers to questions which is even moreso inflated by the education factor, and fairly decent-ish customization. Oh lookie, custom shaders! My issue with this one is unless you have UE3 engine, you don't get to play with source code and the rendering process can be very tedious. Why would I want to have access to the source code when there are so many great tools? Well again it comes down to optimization. Say I want to take on the ungodly task of making an mmorpg. Well you can't really. The multiplayer user count last I looked was 64 players simultaneously. There's ways around this like say you change to a sandboxed pvp persistent dungeon crawler. Theoretically you can have a 32 vs 32 warfront going on times infinity (or server memory limitations, whichever comes first) I think that'd be a bit of a pain to figure out and does it really fit the vision of the game you wanted to make originally?
    UE4 from what I've seen makes me want to scream my confession of love across the rooftops. This probably comes closest to what I'd like in a game engine... cheap tools and omg open source (with a subscription) I just wish I had a machine that could handle it. I think I drooled a little (lot) when I surveyed the tech demos and whatnot. Suffice it to say, I may end up making the change at a later point in time and after I build a few insane machines. I also think that the license structure on this is smexy... $19 a month and 5% gross revenue (make sure you understand the difference between net and gross or yer accountants will slay you... or theirs will probably.)

Unity: Honestly I've had the least experience with this toolset. It's very promising for making small games, awesome mobile. Their mojo shines in the cross-platform capability. They're adding WebGL to Unity5 which will be a SaaS so be prepared for a subscription. This supposedly is the easiest to just get in and start scripting and playing with things. I've often read that developers can get a pretty decent playable concept going in 2 to 3 weeks which honestly, that's pretty darn amazing. The license is pretty far but make sure you read the fine print. There are a lot of addons that they don't advertise upfront. Overall this is one of the more customizable frameworks and I can't knock it if yer making a small game. This thing is great for web/mobile. Where it lacks is it's ability to handle larger scale projects. No source code access yet again and there appears to be some issue with their memory management where as the project gets progressively larger, the lower the performance... by a lot.

These are just the 3 major contenders, and there are others that I've surveyed a bit to see what they do and whatever. Of notable mention would be WorldForge and HeroEngine for MMORPG making, Esenthal which honestly looks pretty nice and versatile in 3D and possible mmos but I didn't look into their networking interfaces too much. RPG Maker VX Ace is nice if you wanna kick it old school and decent-ish ruby scripting. And yeah... that's about all I'm gonna put as far as that cause I don't like click and build at all since it goes against my dislikes in all the above content.

Now I'm not complaining too much about these. If you are a hobbyist, do NOT look at this discouragingly. Like I said, they're great tools, amazing and they're capable of doing just about anything you can think of. They're just not capable of doing everything. Plus you have to remember, they have to make their money too. Try them out see which you're more comfortable with and grow from there. This primarily is for those that want to break into the industry. It's a dog eat dog world and highly competitive these days. learning any of these tools would be great for learning different concepts and implementations. But unless you know for a fact that X company that you want to work for uses Y game engine tools and that's the only company you want to work for. Then you should be learning how any engine does what it does. What I mean is, learn the fundamentals of your chosen role. In the industry you will not be doing everything, there are multiple programming roles, multiple artist roles, multiple audio/sfx/music roles (though these are typically outsourced), etc. Usually the only people who have their hands in everything minimally is the designer/creative director/executive producers. Once you know what you want to do, then start picking up tools that will help you get to where you want to be.
    This isn't infallible... you could be someone who totally only wants to work for a company like saaaay, well we'll call them Liot and they make Reague of Regends. They use Unreal Engine, Maya, Photoshop, Mudbox, and umm... I forget what else, but I recognize a lot of the tools they use and whatnot just cause I'm that crazy. Then by all means, you know your path already. Go for it, learn it, be persistent, annoy the shit out of them, get on those forums and get noticed, prove your worth. They actually like to recruit players. I know, they say it in their job ads.

The point is... you have to take that quote and understand what it actually means. Yes, make games, a lot of them. When you make a game, you understand clearly what your requirements are which is difficult when you try to make a standalone engine. After you make a few games with a bunch of reusable code and tools, well you suddenly have a game engine. It's really simple. And your skills will be that much more valuable to X company when you know how to program and bend ANY engine to your will. Most of all, have fun! Otherwise what's the point?! DX

BTW, If you haven't noticed from my other posts, I don't like using premade tools of any sort because of the restrictive nature to them. I prefer to build my own scripting languages, frameworks, blah blah blah because in the end, it does exactly what I want, when I want, how I want and if I want to make it do something else, I know where to look and how to change it. This is the beauty of understanding the fundamentals of engineering software/electronics/life.

I'm gonna do a follow up post on what YOU can do to start making games from scratch and whatever. I like helping people and answering questions or whatever when possible but I'm a busy guy with a crazy head and life so don't expect it. Catch me if you can. =P

I honor anyone who could read this word for word! Here's a cookie! O

cryengine, ce3, game programming, udk, unreal, make games not engines, unity

Previous post Next post
Up