Switching Game Engines Halfway Through Development 127
An anonymous reader writes: Third-party game engines are wonderful creations, allowing developers to skip a lengthy and complicated part of the development process and spend more time on content creation. But each engine has its own strengths and weaknesses, and they may not be apparent at the beginning of a project. If you realize halfway through that your game doesn't work well on the engine you picked, what do you do? Jeff LaMarche describes how he and his team made the difficult decision to throw out all their work with Unity and start over with Unreal. He describes some technical limitations, like Unity's 32-bit nature, and some economic ones, like needing to pay $500 per person for effective version control. He notes that Unreal Engine 4 has its problems, too, but the biggest reason to switch was this: "Our team just wasn't finding it easy to collaborate. We weren't gelling as a cohesive team and we often felt like the tools were working against us."
Re: (Score:3)
$500 per developer doesn't seem particularly absurd, nor have I heard of any particularly onerous restrictions on using these engines.
What's $500 work out to? A day's pay?
Re:Rise of the middlemen (Score:5, Funny)
Re: (Score:3)
Games development is one of those fields where everyone wants to do it*, so the games companies can afford to pay peanuts. Get them in, burn them out, get a fresh batch in. EA is notorious as a meat grinder: fresh faced college grads go in, meat comes out, jaded, exhausted, and relegated to working on ancient VB apps for the rest of their careers (I jest). Granted, it's not like they're getting paid minimum wage; from a pure numbers standpoint they do okay for themselves. But those numbers are eroded wh
Re: (Score:2)
New grads might make half of even that amount, in my experience.
Admittedly, I've never worked for EA, so I've never seen anything resembling 120 hour work weeks. I have seen 60 hour work weeks, however... as a matter of regular course.
Ãs Free Career Advice/Pet Theory (Score:2)
Principle 1. Create something you own
Spend time and energy making something that: (1) you own fully (2) is of value to others (3) you can exchange for value
This is because you can only ever give what you own. Examples: a mobile app, personal skills, bookshelf. Even raising poultry/vegetables in your backyard counts - you exchange these with yourself for money (a.k.a. 'saving cash').
Note, 'Writing code for cash' fails on point (1), but 'Honing C++ skills' ticks all three points. A life devoted tohelping o
Paying one's dues by working in the industry (Score:2)
This is because you can only ever give what you own. Examples: a mobile app, personal skills, bookshelf. Even raising poultry/vegetables in your backyard counts - you exchange these with yourself for money (a.k.a. 'saving cash').
Until the city threatens imprisonment for growing a victory garden [wealthdaily.com], or until the federal government steps in and seizes your crop under the legal theory that it competes with commerce among the states (see Wickard v. Filburn).
If you cannot work for yourself, search for a workplace like how long term investors search for stock.
For example, after having invested in your skills at a four-year college, you might have to "pay your dues" by working for a recognized video game studio in order to gain experience so that once you do start your own video game studio, you have 1. knowledge about how to get a project d
Re: (Score:3)
Entirely serious. I've worked as a game dev for 6 years, and I know of what I speak. Okay, it might not work out to be *FOUR* whole days pay, but very easily three to three and a half. Salary ranges in my experience range from about $36k/year to $52k/year... but even with the latter, $500 still works out to 2 and a half days of pay. Also, usually with the higher pay grades comes a greater expectation on the part of those above you that you would be willing to work extended hours on projects, and proba
Re: Rise of the middlemen (Score:2)
52/235 = 221
Just saying...
And there are other costs associated to a salary than the pay, benefit costs and structuring costs.
For salary of 52k, 500 is the cost of two days at most.
Re: (Score:2)
Fair point, I didn't actually sit down and do the math... I just typed what I had estimated to be about right without actually doing the calculations.
However, 221+221=442, not 500. So that's not 2 and a half days, but still (just) more than 2 and a quarter, and technically closer to 2 and a half than it is to 2.
Re: (Score:2)
I also told you about other costs than the pay.
It usually costs two times the pay to the employer.
Re: (Score:2)
....and you're back to a day's pay.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
And if you have a hundred, it's like a whole year, man!
Re: (Score:2)
That sounds unlikely...at 3 days, that comes out to under $42k, and at 4 days it comes out to just over $31k. 42k would be low for an entry-level video game developer in a low cost of living area even as just a salary. But a common rule of thumb is to take salary * 2 as an employee's total cost. $31k would be nearly unheard of -- only an indie title.
This particular team has membership in the US, Canada, and the UK, and is done by remote work, so it might not actually cost them salary * 2 since office spa
Re: (Score:2)
You're thinking in US terms. It's pretty good in the UK (25k GBP, which is the top end of what the main UK graduate careers site [prospects.ac.uk] thinks an entry-level game programmer might get).
Re: (Score:2)
Having worked as a game developer myself, for three different game studios in the past 6 years, I can confidently say that I am not talking out of my ass, to use your turn of phrase.
These days, if you work in a game studio, you do it because you love programming games, not because the pay is anything great.
Re: Rise of the middlemen (Score:2)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
That's a ludicrous "version control" fee. Given that you have to set procedures anyway, for effective work flow and creating production releases, it sounds like someone made a mistake in the licensing. What feature could it possibly be adding when you can do robust software management and collaboration at github.com, bitbucket.com, or any of the git repositories with commercial support services?
Re: (Score:2)
I don't understand the issue.
You can use git with Unity - that costs nothing (except time/admin/etc)
I use it every day - never had an issue.
Re: (Score:1)
Well, considering unity is a real piece of shit as well, $500 feels like gauging. For the quality, I'd expect a product that doesn't have all kind of strange idiosyncracies and incompreshensible behavior. In several instances, Unity broke so badly that a reinstall did not fix the problem, and an OS restore was required. $500 for a revision control system written by those same morons? No fucking way.
We've got it working decently with git. Content is a bit trickier, but we manage.
There's Unity and then there's Unity (Score:2)
unity is a real piece of shit [...] I'd expect a product that doesn't have all kind of strange idiosyncracies and incompreshensible behavior. In several instances, Unity broke so badly that a reinstall did not fix the problem, and an OS restore was required.
Are you sure you aren't confusing Unity the game engine with Unity the Ubuntu desktop environment?
Re: (Score:2)
If you read the article, the $500 fee isn't really the primary issue. It's only particularly galling because it appears that the fee is used to license a product that's more or less a workaround for an abysmally poor-performing editor. That fee is in *addition* to everything else, if I understand correctly. I mean, 45-minutes to load a project? Are you kidding me? How do you even manage that on modern hardware? There's nothing more frustrating than a clunky workflow or limited tools that you have no w
Re: (Score:1)
Re: (Score:2)
If your project has a significant 'switch platform' overhead, you'l simply have more that one working folder for each, and then no switching necessary.
It's totally a non issue.
Re: (Score:2)
That makes a lot more sense. I couldn't even imagine how load times could be 45 minutes. Those are build times, not load times.
Still, that wasn't their only complaint. Whatever their technical merits, the team ended up unhappy with Unity, and seemed much more happy with Unreal, apparently. In the end, we'll probably find out if the real problem was the tools or the developers who couldn't use them properly when we see the final game - the proof of the pudding, if you will.
Re: (Score:2)
Re: (Score:1)
Its 1500$ a seat, plus $1500 for iOS plus $1500 for Android, PER PERSON. Then another $500 if you want the cache asset server.
So, it could easily be 5k per seat. Now, is that alot? To me no, but I am used to bootstrapping CG workstations that are 3k a pop with 10k worth of software on them.
But when these are things that should not really cause problems i.e. versioning? and that you can't work around with an easy solution like git/hg/perforce, that makes pipeline a little awkward.
Reasons not to switch? One word: (Score:3)
Re: (Score:2)
Re: (Score:2)
HL2: Episode 3
Re: (Score:2)
Not applicable, Duke Nuken Forever is what happens if you swap out the game engine half a dozen times during development.
Re: (Score:2)
Switch engines, switch engines again, sell control of the company, switch engines again, back burner it, defund it, fire the developers, tie it up in court, sell it to a new shop, and then release it.
Did I miss anything? :)
Re:Reasons not to switch? One word: (Score:4, Interesting)
Prey and Duke Nukem Forever fall into the exact same category. Games which were pitched as "we will make the content on somebody else's engine", but which felt they had to play catch-up on engine tech.
When id released Quake 2, they caused an absolute cataclysm for many developers. In terms of looks, it was way ahead of the Quake 1 engine, particularly for people with new-fangled 3d video cards. Lots of people were out there making games on the Quake 1 engine, with contracts that gave them cheap access to the Quake 2 engine once available. The assumption had always been that porting from one to the other would be easy.
It wasn't.
So several studios, including those making Daikatana, Prey, Half-Life and Duke Nukem Forever had a choice between putting out a game on the old engine or restarting a lot of their work from scratch on the new one.
The ones who went for the latter option ended up in engine hell. Only Valve came through it reasonably well. They took a hit on Half-Life's release date, but basically hacked around the Quake 1 engine to replicate some Q2 features and to make the (highly successful) bastardisation that became known as the Half-Life engine.
Duke Nukem Forever (Score:1)
Sometimes a switch may be warranted if you're running into a physical limitation. One issue I could see is that - if upgrading just for the "looks better" factor - you might end up in the realm of Dude3d/DNF, where constant changes push your end date so far out it never reaches a realistic/satisfactory completion.
That said, I see the issue of switching as one of the weakness of graphical toolkits. The underlying code could be fairly engine-agnostic in many ways, so a full rewrite shouldn't be necessary depe
Is it really about the species war? (Score:2)
On top of that, the subject matter is questionable. It's a "furry's vs human's" game
Would it be any better if it were a "furries vs. dwarfs vs. congenital amputees" game like RHDE [pineight.com]?
Look in Unity = Look in Unreal (Score:1)
This managing partner has no idea how look dev works. Shaders are essentially written using the libraries from the GPU language. The GPU capabilities determine the look far more than the Engine.
I can attest that Unity can look as good as any Unreal game and have the assets to prove it.
Re: (Score:2, Insightful)
Woosh
Did you read the article at all? It has nothing to do about quality of graphics, the article is about 2 things tools and collaboration. I've used both game engines for development and even though Unity is easy to pickup and build for, as already mentioned, collaboration is right out the window along with its tools. Unreal isn't great either but at least it offer a hell of lot better collaboration compared to Unity and this is the most important part of any team based development.
Being a Unity fanboy is
Re: (Score:2)
What's the issue with collaboration?
I use Unity every day with git, never had an issue (Unity saves meta data as text these days).
Can we rid the word of "Gelling"? (Score:1, Troll)
Re: (Score:2)
Just wait 'til they start touching your bases. I could do without that.
AYBABTU (Score:2)
Just wait 'til they start touching your bases. I could do without that.
They're not going to stop touching your bases. First they see them. Then they touch them. Then they take them by force. Then all your base are belong to them.
Re:Can we rid the word of "Gelling"? (Score:5, Insightful)
One function of special vocabulary is for specialists to easily communicate. But another, important, social function is as a badge of in-group membership. If you use the words correctly (from the point of view of the group) you show that you belong, and that you probably know and understand all the other explicit and implicit rules of the group. If the word use spreads too far it loses this function and the group needs to find new words and expressions instead.
You dislike "gelling". You dislike "paradigm shifts". It would probably be a fairly risk-free bet on what you think of expressions like "optics" (as in "the optics of this decision is good") and the like. You dislike these words and refuse to use them. Which signals to management people that you are not management and should not be treated as part of their in-group. "gelling" works exactly as intended, in other words.
Asking for words to not be used like this is futile. It would be like asking people to no longer care about fashion (another in-group signal) or to not form groups of like-minded people at all.
Re: (Score:3)
You dislike these words and refuse to use them. Which signals to management people that you are not management and should not be treated as part of their in-group. "gelling" works exactly as intended, in other words.
You have a valid point. However, slashdot is not intended as a forum for middle management to trade buzzwords. Slashdot is supposed to be for technical discussions. Arguably even if we can't permanently strike "gelling" from the English Language it should be reasonable to present an argument against using it here.
Re: (Score:2)
We could run that idea up the flagpole, to the cloud, to have a meeting of the minds. Then we could do lunch. Have your people call my people, and we'll set up a thing.
I think I just made myself nauseous writing that.
Re: (Score:3)
Re: (Score:2)
You have great management potential. :)
I have a true question. (Score:2)
Yes (Score:5, Insightful)
A game engine is a very, VERY big enterprise to make, particularity if you are talking one with modern 3D graphics. It is a big undertaking even for a company who's done it before and has a decent team of people. You will spend a lot of time and effort on it, and it still might not end up being very good.
Game engines get a lot of that low level hard work out of the way. That's why they are so used. You see even large development studios with big budgets license an engine because the cost of doing so is far less than the cost of properly developing their own.
If you want to build a game engine, that's great, but make that your goal. Build an engine for its own sake then, if you have one that seems to work well, think about using it for a game. Don't set off to make a game form the ground up, it isn't likely to happen.
Re: (Score:2)
UnrealEngine gives you complete source access. You can do whatever you want to the engine. If you want to spend a lot of time on access to the raw data at the lowest level instead of game design, then you can do so.
Unity is 64 bit now (Score:5, Interesting)
Kerbal Space Program (a bleeding edge physics sandbox game built in Unity that includes orbital space travel) had unofficial 64 bit support back in... February '14? And now has official 64-bit support.
$500/developer is pretty cheap, did you buy the developers $250 Chromebook "workstations", too?
Anonymous poster slamming Unity and praising Unreal 4 right after the Unreal team announces huge cuts due to lack of engine uptake, and Unity flying high right now reeks of ad-placement.
Re: (Score:2)
Which sounds like their using unit on Windows Mobile devices or they've done something entirely retarded with their asset management workflow.
Re: (Score:1)
If you look at his twitter hes pushing Unreal pretty hard. Considering unity has had 64 bit since February I wonder how much epic payed him to switch.
Re:Unity is 64 bit now (Score:5, Informative)
Unity has had the ability to create 64bit executables for a while but the editor is still a 32bit program, which can be very limiting if you are developing a large game. A 64bit editor is scheduled for Unity5 and indeed one of the biggest selling points of the new version. There's no release date for Unity5 yet though and I imagine it is at least 6 months out, considering there is at least one more big update to 4.x coming (4.6, which will include the new GUI tools).
Re: (Score:2)
KSP, a game created by people who have never made a game before, that pushes both Unity and the best processors to their max. A game actually written to take advantage of a premium system instead of being written to a console level and ported.
I find it amusing that an Xbox One and PS4 would rank as low end computers for this game.
So much for Next-Gen.
Re: Unity is 64 bit now (Score:3)
That is just a fact of life, no matter how it upsets fanbois.
What amuses me is the angst over "why does Skyrim run at only 30FPS and make me motion sick?" and "why aren't there 64 player maps like on PC?" Well duh.
Re: (Score:2)
I never expected them to compete with a full on gaming PC, Just more capable than they turned out to be.
On the plus side, I shouldn't have to upgrade for quite a while,
Yea, I fanboid (is
Cost of the operating system (Score:2)
Another difference is that the majority of desktop PCs include a Windows operating system. On a traditional video game console, the operating system is paid for by licensed game publishers, not by the end user.
I wonder how Steam OS will approach this. It uses a proprietary store on top of the free GNU/Linux operating system. Yet because it runs GNOME apps, developers can skip paying a 30 percent cut to Valve by offering sideloadable copies for sale outside the store. How has Valve planned for the possibi
Re: (Score:2)
Well, given the purpose of the game is e
Re: (Score:2)
And KSP is full of weird engine based bugs, and the "official" 64 bit version is even buggier and (per the dev team) essentially use-at-your-own-risk.
So no, it's not *quite* as simple as you would have it. (And yes, I do play KSP.)
Version control (Score:2)
Re: (Score:1)
Based on TFA, it seems like they are using version control but pulling down changes can/will trigger Unity to rebuild its cache, which can take 45 minutes or longer on a dev machine for a sufficiently complicated game. The solution is a $500/seat asset cache server.
The summary says effective version control, not version control.. It got me too!
Re: (Score:2)
I've never experienced this - perhaps I've been lucky.
The only time I've had a cache rebuild is when:
a) Switching platforms (alleviated by having a working folder for each platform)
b) Upgrading to a new release of Unity (not all new releases, only some require a cache rebuild)
Neither of which are issues I'd consider changing game engines for.
Re:Version control (Score:5, Insightful)
Because the author is calling asset management 'version control'.
The author really doesn't know what he's talking about and if you look at the full article, it shows.
Another example would be that they basically rewrote the game, with no art and assets ... and then claim it looks better because of the Unreal engine, and not the fact that they changed the textures.
Unity isn't the problem. The project management and developers are.
Re: (Score:2)
Unity isn't the problem. The project management and developers are.
This is generally the case, tools do matter, but people matter much more.
Give a brilliant team a conference room and a supply of paper, pencils and food and they will turn the world on it's head. Give a team of idiots the best tools that money can buy and all you'll get is a steam pile of fertilizer.
(Give the brilliant team the best tools... though, even if it only makes them 1% more efficient it's still cheaper than the tools.)
Re: (Score:1)
You're talking out of your asshole. Unity's version control is pure garbage and broken. Asset management has to through their broken asset manager tool or Unity itself won't see the charges. Unity is a single person tool that has grown, but they have no understanding of team collaboration. It's been a massive Achilles heel, which they refuse to address.
They don't fix bugs, and expect their customer to find workarounds.
They pust the asset store to fill the void of missing functionality, except the asset stor
Re: (Score:1)
"Because the author is calling asset management 'version control'."
Can I ask, as someone who has never worked in games and probably never will, what asset management is if it isn't VC?
TIA
Re: (Score:2)
I'd assume it's 'version control' of assets (Textures, Audio, etc - the binary elements of the game)
Re: (Score:1)
If you RTFA, it's $500 per user for their fancy caching server which is significantly faster bringing in changes.
As a 17 year veteran of the gaming industry I can tell you that git and subversion are jokes. They would fall apart with the quantity and rate of change of game-sized datasets. The only industrial-strength source control I've used is perforce. It still has its issues, but it doesn;t fall apart when the datasets are large.
Re: (Score:3)
I've used all of them, quite effectively. Sorry, but Perforce's overly centralized control and the administrative expense of error prone Perforce management makes it unusable for long projects. The centralized control is too vulnerable to central administrator errors, such as having to delete content and accidentally deleting the only copy. Subversion has some similar issues, and relatively poor performance and very confusing upgrade cycles to deal with.
Git is working out _extremely_ well for small and larg
Re: (Score:3)
Git is used to maintain the Linux kernel; I don't think any game has a rate of commits that comes even close to that. The problem you're referring to is probably that Git is not designed to handle large binary data efficiently. That doesn't make it a joke, but it could disqualify it for a particular use.
Re: (Score:2)
Re: (Score:1)
For the last game I worked on (out of the industry for a few years) a MINIMAL dataset to build the game was around 50gb, which didn't include movies or multi-lingual audio. I checked today, the kernel is a little over a gig of source code which is small potatos. Before that game shipped there were well over 300K commits over the three years of development. I have no idea how many terabytes the history database was, but the bluearc storage wasn't cheap to store it.
Re: (Score:1)
They are talking about 3d models, texture maps, sound, music, world maps, animation, rendered movies.
These need to be version controlled as well and the disk requirements are a lot higher. Some of the assets such as movies can be rebuild, but the movies themselves you want to also keep on version control as cache.
Poor planning? (Score:3)
Switching game engines halfway through development says more to me about a lack of proper requirements analysis and planning than it does about the benefits of one engine over another.
Re: (Score:2)
The problem is that game design is art, and game engines follow hardware developments. It becomes pretty difficult to figure out what the prevailing technology will be past a year; thus the decision of game engine to adopt becomes a crapshoot as well. It gets even more difficult when a gaming group "knows" the engine they're using will be out of date in two years, and have to cobble their own hacks into the old game engine, to have some feature available in two years. What happens when the "new" engine t
DayZ just did this (Score:2)
Re: (Score:1)
Yep, like the time I was aiming for your mom's vag and ended up in her anus. Shouldn't have rushed but "in the end" she enjoyed it anyway.
Unreal doesn't work well on iOS (Score:1)
He claims that Unreal engine works well on iOS, but this is not really true. Basic features like dynamic shadows are not supported at all and performance is pretty poor - you really need a A6 based device to run it well.
Hesitation kills (Score:1)
Not a planning issue in this case. (Score:2)
There are several comments suggesting that they had simply planned badly at the start of the project, which had resulted in a bad engine choice.
He actually mentions it in the article; Unreal Engine 4 only became available at a feasible price when they had started the project.
This guy doesn't know Unity (Score:5, Insightful)
I hate to say it, but this Jeff guy is fairly cluesless when it comes to Unity. And is, therefore, in a poor position to give any useful insight into Unity vs. UE4.
My studio (of roughly 27 years) has used a lot of tech in its time. We even developed our own engine, HeroEngine (used in games like Star Wars The Old Republic MMO). We've made lots of games and have lots of experience with Unity. I used Unity to do the Android port of Temple Run, and we've made a lot other titles with it too. We're currently working on a marquee franchise for a major publisher... using Unity.
Unity is not just for small teams. Jeff didn't do his homework on this one. Our team is 27 strong, using git for version control. We use a deep feature-branch approach and it works well not only for our developers, but our non-techies: artists, designers, sound guys, etc. Sure there are issues with Unity and version control, but you find ways to make it work through convention and approach. Same thing happens in all Engines. They all have their issues. The only engine that put collaboration at the forefront was our HeroEngine, but even that has issues. Though we sold off that tech, you can still check it yourself... just Google.
The 32 bit editor limit is true, but is it really an issue? It never has been for us. His problems smell strongly of bad development practices... they can't seem to manage their memory resources well and that suggests other major issues in their group. Just reads a bit amateur to me. No engine will save you from bad practices. The game builds are 64 bit, and the Editor will be also in Unity 5 (how did he not know this?).
It is notable that the guy is fascinated with a lot of things in UE4 that, as it turns out, you can also do as well or even better in Unity. He loves, for instance, Blueprint visual scripting... did he bother to check out uScript for Unity? He loves the node-based Shader in UE4.... well there is ShaderForge in Unity. He loves Physically Based Rendering in UE4 but doesn't mention Alloy in Unity. Sure some of these things are add on costs (usually pretty tiny) and there are also lower cost or sometimes even free alternatives to many of them. The best part is you can mix and match which pieces work best for you. If you don't like UE4's node-based shader... tough! But in Unity you have a few to pick form..... .... or better yet, you can make your own! The best part of Unity is how seamlessly extensible the editor is. This is a huge productivity booster. Every game we do we create custom tools that enhance the efficiency of the designers and artists. It's so easy to do, you just naturally create augmenting tools as the need comes up. Our designers and artists can do amazing things without ever having worry about writing any code... much less even a visual scripting system. This is because we made the tools specific to the game that let them express what they need all from the inspectors and the scene tools.
Another cool thing: make a great addon that is generally useful... then wrap it up and sell it in the Asset Store. Monetize that sucker! Or give it away for free if you like.
Is Unity perfect? Nope. But it is insanely efficient for developing games. Works with any sized team well enough, and creates titles that run across tons of platforms. And the Asset Store is a treasure trove of extensions that just make it better and better all the time.
The places where it falls behind a tad are either addresseable from add ons, and ultimately in Unity 5.
I am not advocating that one choose Unity over UE4... but if you are going to make an argument, at least make a balanced one with all the facts. I would take his critique with a grain of salt. Try each engine yourself, but make sure you take the time to fully understand both the tool and its eco-system and how it applies to what you are doing. And above all, make sure you have sharp developers on your team who understand the fundamentals. Like I said, no tool will get you out of a jam of your own making.
Re: (Score:1)
I'm sure he can address your concerns if there's some type of Q&A but if you read the article it seems like a general overview on why they switch and the amount of work it needs for the switch.