I wonder if game development work culture is different at the engine companies vs the game studios. My hypothesis is that less/no crunch leads to better productivity...
I wouldn't say it's different but rather improved. There's still a lot of passion and focus on the exciting things rather than reliability and the politics are much more befitting game companies than corporate IT (I've worked at both). That said there's much less crunch and is much more like corporate IT in that there's a regular schedule, more known goals, and more predictability in your paycheck.
Personally I love working on a game engine since it means I can help anyone who wants to build a game. At least at my company I'd say that's definitely the prevailing reason why many of us are here. The biggest drawback at a game company by comparison is that when if you have a great idea of how to fix something you're usually under NDA and cannot help any of your friends elsewhere in the industry. At the engine company your tools help thousands of studios do things better, and solving problems for one studio typically means bugfixes for problems other studios may have as well.
I dunno, that's just kinda what it's like in comparison.
Thanks! Amusing trivia - everyone on the development team got to be an NPC in the game, meaning the character looked like them. I joined late, so every character was taken except for a cyclops named Iskander.
So the cyclops looks like me, but with one big eye.
Ultima 7 (parts 1 and 2) are also my favorite games ever! I almost have "real" memories from the worlds and plotlines in those games, they were so vivid.
Out of curiosity, what was your role on Ultima 7? Do you know of any good articles or resources on the development of that game?
I was the lead scripting developer and general content fixer... I helped the world builders and hacked on their tools etc. I was 20 at the time so my title in the credits was "Wonderboy"
I haven't seen a lot of writing about that time but man it deserves it.
Wow you know I always knew that Ultima Online had its predecessors in the Ultima series but never really researched them until now. Its blowing my mind right now to see the evolution of the games leading up to UO!
Currently been working on my own FPS for 1.5 years in UE4 (hoping to release a trailer soon) and I owe a lot to Ultima for inspiring me to learn game dev at a young age. I know Richard Garriot has been working on what is effectively UO2 with Shroud of the Avatar but sadly have not had the time to check it out.
Interesting. I found PC 100x more frustrating than console. With console there's 1 target. With PC there's infinite targets. No matter what you ship it won't work on someone's GPU, OS version, with XYZ installed.
A company I worked at shipped one PC game and swore never again. Their support costs went through the roof relative to console.
An amazing feat for the time! The world simulation aspect of it was really cool (and something even now you don't see that often. Like a baker going to through process of baking bread everyday)
yeaaaah. I'm guessing they're a lot more in line with a traditional software company.
They're building tooling that's meant to stand the test of time instead of a ton of assets and scripts that'll be scrapped come release. We're talking about Xcode or Visual Studio.
The team has time to do organized sprints, suites of unit tests, maybe float betas to customers. Lots of goodness.
I work at a game company and over length of my career interacted with quite a few engine companies. The separation is at where you set the bar.
If a game company shipped a game in a state that an engine company does it could only fly on PC and would only take a little while before players would realize that this company ships half-done games and stopped buying them immediately after release.
I am not putting down the engine companies, it's just the different priorities that both have. A game ships to a consumer who has no way of working around its bugs, an engine ships to a developer who has likely already rewritten half of the engine anyway and, even if not, is able to get back with bugs and request fixes/workarounds. For an engine company's customers it's preferable to get the new features than a 99.99% bug-free build. Game company customers are of opposite preference.
I often wonder the same with their frequent release cylces and the amount of stuff they pack into a release, I pray they never change, or at-least pass on the tricks of the trade
I just downloaded Unreal Tournament a few days ago and have enjoyed playing it quite a bit (played lots of UT 2004, forgot how much I missed it!). If I want to get involved in development, what's the best way to get started?
Seems like grabbing the dependencies and being able to compile the source would be a great first step. After getting the project setup, I'd post on the forums or check the trello board! Otherwise I'd check out that IRC link and post in there, pretty responsive bunch.
I offered my skills (FE Web) on the forums, but it seems they don't need web work.
How is mobile support now? I noticed they've got a bunch of promising-sounding mobile upgrades. I'm interested in making simple mobile titles, but last time I checked it out Unreal seemed targeted at making super high performance games on high end mobile devices, rather than simple games that most devices can run. Tappy Chicken would make my phone get super hot and destroyed my battery-- and that's about as simple as a game can get. Is Unreal a good choice now for making straightforward mobile games? A year ago, I felt like Unity was a better choice for that, but wonder if that's still true today.
It is, but a lot of in-game object behaviors (and almost all modding) was done in "UnrealScript", a sort of java like language that compiles to bytecode.
UE4 seems to have more complex scripting capabilities:
> UE4 also includes new developer features to reduce iteration time, and allows updating of C++ code while the engine is running. The new "Blueprint" visual scripting system (a successor to UE3's "Kismet"[80]) allows for rapid development of game logic without using C++, and includes live debugging.[81][82]
>Another realization the team had was that the separation between the C++ code and UnrealScript in Unreal Engine 3 held things back for the engine and for programmers of games. "You end up with basically two different programming worlds," says Sweeney. "Each is nice in its own way, but the boundary between is a very messy place."
>"We removed UnrealScript, and went strictly to C++, and we have seen huge dividends from that," says Sweeney. "It would have been almost impossible to get to the point we were today, to release the whole codebase."
Blueprints does have some pure functional language influences. There is a control flow wire for imperative logic, but parameters feeding into that come through a graph of purely functional inputs and calculations that themselves have no side effects.
I was impressed by the number of pull requests from iOS developers, almost as many as from the Linux community. I had no idea iOS developers were so community oriented. Nice.
You have to sign up on UnrealEngine.com and add your Github account name to get an invite to the organization, which lets you access the repository. Instructions are here: https://www.unrealengine.com/ue4-on-github
Do you meant that the iOS community has been influenced by the Rails community due to overlap and has taken up the culture of OSS from the Rails community?
I mean, when iOS first came out, #macdev and #iphonedev were flooded with mostly Rails and Python devs. And since then, most of the people I've seen who are big names in iOS were first big names in Rails and/or Python.
Defold (http://www.defold.com/) is potentially a solid option for 2D. I always find it interesting that some of the biggest requests for primarily 3D engines (Unity, UE4) are better 2D tools, and that no one, outside of Gamemaker, has built a 2D engine that has gained as much adoption or has as strong of a toolset.
I think it's because people want the option to move to 3d later if they want. Without having to learn more tools and language. I never liked gamemaker because its game maker language not being useful in other areas. I like making 2d and 3d games and having it be in the same place makes it much easier. I do realize how awesome game maker is and what it does. But it has a few limitations that killed it for me
I don't like "engines" like Defold. Because to me that's not an engine. That's a framework. You have few methods exposed like draw/update, some convenience classes and that's about it. It's so comparable to LÖVE (https://love2d.org/) that literally the only difference seems to be a GUI to work with.
Meaning you have to write everything else, yourself.
I wonder if there are other actual 2D engines out there like Grid (http://www.planimeter.org/grid/), or Polycode (http://polycode.org/). Engines that actually take care of networking, predefined game callbacks, resource management, and multiplayer, like the big boys (Unreal, Unity, Source).
Have you built anything with it? I see that it's invite only at the moment. I signed up just to eventually tinker with it, as that's all I really do, but I like to try things out to see how they feel.
Seeing as you listed Game Maker there, I would throw in a recommendation for Construct 2 by Scirra: https://scirra.com
They have an excellent 2D HTML5 game engine and a very nice IDE to go with it. The event programming system they use is at least powerful as Game Maker's GML (if not more so) and you can also write your own plugins with JavaScript. Out of three mentioned programs, C2 is definitely my favorite for a couple reasons:
- It's built from ground up with 2D development in mind. Unity in comparison is primarily for 3D development, and while its 2D tools have improved over the years the difference is still really obvious.
- The overall user interface design of C2 is actually from this decade and makes good use of big screens of today. In comparison, you can still very much see the relatively ancient roots in Game Maker's UI when programs were designed with 640x480 screens in mind, not to mention how tons of features added over the years have just been slapped haphazardly into wherever there was room in the UI at the time. Game Maker's drag & drop coding is also just terrible, it's really either GML or go home with it.
- Pricing. You don't have to pay any extra for additional exporters or such with C2. Of course, there is the caveat of having to pay extra attention to mobile performance with C2 games being HTML5-powered on everything it exports to, but on actual computers you can cover the Windows/OSX/Linux combo very nicely.
Now, I mostly do game development as a hobby (which I've been doing on and off ever since I was ~9 years old), but if I wanted to do a commercial 2D indie game project for release on Steam (or similar) today, I'd definitely use Construct 2 for it. If I wanted to do same except for mobile, I'd probably evaluate C2 for it too (simply because I like it so much), but I might end up using something like Unity instead if performance proved to be too much of a headache with C2.
when i was using unity 2D the downside was that you cant really leverage the engine basics such as gravity for 2D top down games. is it still the case?
Unity has integrated a 2d physics solution that is very similar to their 3d solution. It has different strengths/weaknesses relative to the 3d solution.
Another option is simply using 3d physics volumes with your 2d sprites if you need features of the 3d physics systems. This works fine and you can constrain objects to a plane/rotation axis as needed.
Ah, I've been playing around with UE 4.9 this week and was missing the VS2015 support. Good to see it added. The blueprint graph node alignment feature is rather neat as well. I've found myself spending far too much time dragging nodes so they are all "just so."
It is weird, though it beats traditional closed source by a long shot.
At least this way developers can fix low-priority issues that are critical to their specific situation without having to wait, making the fix available to everyone else in the process.
A change pulled into the main codebase is a change that you don't have to merge every time you upgrade. Given the speed and scale of these releases the time saved adds up quick.
As long as the people submitting those pull requests understood the ramifications of contributing code gratis to a proprietary platform, there's nothing sad about it.
Correct. I think people do this when they need new features/fixes now. In some cases you gain the future benefit of the maintainers being more open to your issues/feature requests.
Just a small correction: I don't think anyone pays for UE nowadays. Epic used to charge a monthly fee, but they've done away with that. Now you only pay royalties if your game is commercially successful. Which is different from paying for the engine itself.
Additionally, they mention that you can still negotiate paying an out right fee to license the engine if you'd like to do that rather than pay royalties (though I suspect it's mostly AAA studios that are interested in this)
It's for AAA studios because for past versions of engine cost was something like 1 mio per project. There was several more like indie developers that has won license on contests, but it's just exceptions.
I agree with this sentiment, it's why I personally choose not to contribute to UE4.
I want to see a profit sharing or bug/feature bounties either from Epic with Unreal Engine, or from a competitor.
A side note: I thought it would make for a cool platform, where a website "hosted" products/projects and users put up bounties for things they want fixed or features they want. Alternatively, a platform for small companies/projects that sell software licenses but are otherwise open source, where it's open about what the company/project is making, and a share of the profits can be split among the community contributors.
> A side note: I thought it would make for a cool platform, where a website "hosted" products/projects and users put up bounties for things they want fixed or features they want.
How is it sad? Everyone is learning how to build a better game engine. Are you suggesting that the same pull requests should have been made against an open source game engine? No open source game engine comes close to UE4 in feature set.
That people are contributing free work for someone else (Epic) to make money off of. Yes, I think they're suggesting to put that effort towards an open source engine, or towards a company that will reward you in some way for doing said work.
How does this have anything to do with the new Microsoft? Unreal has always been a windows based engine. Of course it currently runs on many more platforms but Windows/Visual Studio is where its roots are.
A video of high def images in 60fps would require huge bandwidth. It may also add annoying codec artifacts. I am not an expert, but I think it is unrealistic.
This was less than two and a half months ago:
https://www.unrealengine.com/blog/unreal-engine-49-released