Sign in to follow this  
tebriel

Unity Commercial vs. "Other" Engine Productivity for a Single Developer

Recommended Posts

This is kind of yet another "which engine" post (so recommendations welcome), but not quite.  

I'm particularly interested in hearing what people have to say about productivity of modern commercial engines (ex. Unreal 4) vs that of popular open source engines for a single developer. That alone may be enough to rule out most or all commercial stuff, but maybe I'm wrong!  

 

I've always assumed that a commercial engine would require a ton of "bootstrapping", have a huge learning curve, would assume your requirements are all AAA (thus making my more trivial requirements actually harder, vs a simpler engine designed for the little guys), and that it'd be completely infeasible for a single dev to ever use.  But I've decided to re-visit that assumption.  

 

A few constraints to be aware of: 
-Not particularly interested in toolset-oriented engines (ex. Unity?)

-C++ should be a first class citizen - I don't want to spend my time learning tools, I'd rather spend my time learning a well documented, high quality API where I can stay in code world as much as possible.  

-"Tools" like static scene or level builders are okay I guess, but probably not very helpful since I'm interested in space-sim type projects centered around travel, "building" your own scenes/bases, and some procedural content.  
-Linux support (at least as a runtime platform)

 

Edit: 

I should probably state that by "commercial" I mean proprietary, AAA capable, corporate backed, and so on.  I guess that commercial/noncomm line is starting to blur a bit lately...

Edited by Tebriel

Share this post


Link to post
Share on other sites

I  say go with the requirements .. if you need AAA game use AAA engine .You are not going to make it better then the comercial engine simply because they have larger user base and are already tested.If not just pick a engine with features that you need , a decent resource and memory management or do it by yourself.Generally if you are not making FPS a simple pipeline with just texturing , basic shading and skeletal animation will do the work.

Share this post


Link to post
Share on other sites

The fact is, UE4 does have C++ as a first-class citizen but it is also heavily toolset-oriented. I would say that in my experience all major engines are toolset oriented these days. Programmer time is expensive so a lot of effort has been invested into the tools so that implementing features and integrating assets can be done with minimal or even zero coder intervention; that's what makes these engines worth the money.

 

Your productivity with such an engine is very context-dependent. Many tasks become easier - once you know how the system requires you to do it. Investing an evening to read the docs, watch some tutorials, and take notes will pay for itself within the first week.

 

Right now I wouldn't touch any of the basic open-source frameworks or engines unless it was mandatory. There are several interesting alternatives to Unity coming along, like the Godot engine and Polycode, but there you're talking about small communities and relatively untested code.

Share this post


Link to post
Share on other sites

commercial engines (ex. Unreal 4) vs that of popular open source engines for a single developer.

I find that with the open source engines it's easy to do basic things, when you start getting deeper into development and the closer you get to releasing the game the harder it gets to do things.

These smaller open source engines have a much lower learning curve in the beginning than a commercial engine however as you near the end of development the learning curve gets much worst than a commercial engine.

 

Unity I find suffers from a similar problem, although not as bad as a open source engine, once you load a 3D mesh into Unity the material is a fast setup but when you want to adjust a value that needs adjusting only once in a while- like Fresnel- you have to rewrite the shader. Unreal has you loading in a mesh then using the material editor to assign color and textures, however adjusting a value like Fresnel is the same as adjusting color.

 

The commercial engines have a much higher entry level, with a more constant learning curve. Also when you learn something new you get good feedback from the engine making you feel like you are progressing.

 

If you only plan on making simple puzzle games or games of low complexity a open source engine is a good choice. Unity is a good lightweight engine for most types of games, however making large games with it or just good looking games is much harder.

If you plan on making large or beautiful games then I will recommend Unreal, it can just do so much more, faster when you know how to use it. Lumberyard is also a option however it's still got a lot of work left before I will start recommending it.

Share this post


Link to post
Share on other sites

If I did try a commercial engine, UE4 is the one I'm probably most interested in.  I am concerned that it might be too constraining to always have to do it the "engine's way", as I tend to be interested in building stuff which doesn't usually fit into the typical cookie cutter pattern, but that issue seems to crop up even with smaller engines.  Only way to know is to try it out, I guess.  

 

I find that with the open source engines it's easy to do basic things, when you start getting deeper into development and the closer you get to releasing the game the harder it gets to do things.
 

I'd say I've noticed the same.  

Does anyone know how UE4 is with on the fly mesh generation and low level tasks like this?  Ex. manually filling vertex buffers, texture coords, and so on.  (Not for everything, just for say, terrain.)  Or is that kind of thing way too low level for an engine like this?  

Share this post


Link to post
Share on other sites

 I am concerned that it might be too constraining to always have to do it the "engine's way", as I tend to be interested in building stuff which doesn't usually fit into the typical cookie cutter pattern

No engine is perfect for this reason almost all of them allow you to extend or modify the core engine with extensions or plugins. All the engine is a bunch of really good pre-made tools there is no reason you cant do things your own way.

Engines are made in a way that you can get the most out of doing the least, with some research you will quickly learn that most of "engines way" is often the faster and most yielding workflow.

 

Does anyone know how UE4 is with on the fly mesh generation and low level tasks like this?  Ex. manually filling vertex buffers, texture coords, and so on.  (Not for everything, just for say, terrain.)  Or is that kind of thing way too low level for an engine like this?  

Unreal can and has it's own terrain tools that are easy to use, it also has a lot of pre-made tools for mesh generation.

Share this post


Link to post
Share on other sites

I find that with the open source engines it's easy to do basic things, when you start getting deeper into development and the closer you get to releasing the game the harder it gets to do things.

I would say my experience is similar.

With UE4 I have found that the massive community surrounding the engine helps to find solutions to problems of every size quickly, and in the rare cases (which I have had) that there isn't already a solution posted the developers scan the forums and make posts themselves. This fact is boosted by an actual company looking to make money from the product and can only do so if you make money, provides a great system of aid.

 

Hope this helps.

Share this post


Link to post
Share on other sites

Honestly, I can't claim that I've used a variety of engines, especially when you get in-depth enough to know how well they work out for a full and complete project.  But that being said, I've pretty much only worked solo, so I can make some comments about that.

Using UE4 is, I think, completely viable for a one-man operation.  First off, you don't *have* pursue a AAA visual design.  As a solo developer myself, I have to honestly look at what I can produce by myself.  What kind of code can I write?  What kind of of art can I produce?  Levels, sound, and so on down the line.
And while I don't have the art skill to make something that looks photo-realistic, I can still create something that looks stylized to a uniform direction.  And while I can't make extensive ground-breaking changes in my code, I can follow examples and make relatively simple games.
And you know what?  I can do both of those with UE4.  Their material system makes it MUCH easier to build something to a cartoony style or a painted style or etc, as opposed to having to actually write shaders myself.  And their blueprints system makes it easier to create basic programming changes; I can do a lot without having to actually compile code.  And beyond that, I have a large community that I can turn to when I get stuck and get help on their forums.
Epic does these showcases every so often, and they include a number of projects that don't look like some AAA team of 30-40 people, but just talented hobbyists doing stuff at home.  They don't get as much attention, but they are still there.

But I'm a bit confused as to why you would reject Unity for being a "toolset orientated engine" but not Unreal for the same reason.  Perhaps I'm just not sure as to what you mean with that term, but they both come with their own interface and their own set of tools that you have to use to produce anything.  And honestly, I'm not sure why you would want to avoid that.  All development requires tools.  All games are going to require you to use a variety of tools to create the game.  And personally I would much rather be using Unity to get a significant starting point in what I'm doing plus have my code easy to write and implement.  Being able to tweak variables in the game and instantly see the changed result without spending hours recompiling is a godsend.

Share this post


Link to post
Share on other sites

Since the main purpose here was to determine if using something the size of UE4 was feasible for a one person team, and nobody has claimed otherwise here, I think I have my answer. Thanks 

But I'm a bit confused as to why you would reject Unity for being a "toolset orientated engine" but not Unreal for the same reason.

 

Possibly just ignorance of these large engines (that's why I'm asking), but I was under the impression that Unity was more toolset oriented relatively.  The real issue for me with Unity is that I'd rather work in C++.  

Being able to tweak variables in the game and instantly see the changed result without spending hours recompiling is a godsend.


I wonder if this is this a big issue with UE4?  I know how valuable that is, since I'm used to it. 

Share this post


Link to post
Share on other sites

Possibly just ignorance of these large engines (that's why I'm asking), but I was under the impression that Unity was more toolset oriented relatively.  The real issue for me with Unity is that I'd rather work in C++.

Oh. Well in that case, yeah, Unity doesn't give you access to the source code.
You get to write scripts in C#, but you don't have full source control.
That being said, I never felt like I needed full source control; I have no need to re-write how the engine handles libraries or rendering control. I had to learn a few Unity-specific functions that I call within my scripts, but I never felt like there was anything I wanted to do that I couldn't in Unity. Except for creating custom shaders, which I could have but I would have had to learn a whole new language for that.
Oh yeah, and I believe you can write new dll's for the engine to use, I started to look into that while back but didn't get very far.

With that in mind, Unity and Unreal really give you the same experience. It's just that Unreal gives you an option for more control if you need it.
When describing the differences between Unity and Unreal to a layman, I said that if you are create a small and simple game, like most mobile games these days, it is easier in Unity, but you want something with a lot of content, it is easier in Unreal.


I wonder if this is this a big issue with UE4?  I know how valuable that is, since I'm used to it.


Unreal 4 give you two significant options for adjusting your code. One, if you have only made simple changes (like no new variables I think) you can actually recompile the code while the game runs, and it will begin executing the new code as soon as it finishes. The game never drops or stops, it just recompiles in the background.
The other option they give you is to be able to adjust variables via console commands; you have make some functions be able to be called via console commands so you can easily set up your code to have certain functions run different versions or tweak variables on the fly. (Actually I have personally never used this in UE4 yet, but I assume it is still there.)

By contrast, in Unity any public variable in your script can have its value changed within the editor while the game is running (or before the game runs.)

Share this post


Link to post
Share on other sites
Unity was more toolset oriented relatively

Both are tool-set oriented with Unreal having more tools than Unity has; does that mean Unreal is more tool-set oriented?

 

 

 

I wonder if this is this a big issue with UE4?  I know how valuable that is, since I'm used to it. 

No it isn't, what he meant (I think) is that a code based engine VS a tool-set engine. With a tool-set engine you load things in and they work, with a code engine you have to write the code and compile before it works.

 

With Unreal if you use C++ you create a small code and you only have to compile the new code -Unless you mod the source code- so it only takes a small amount of time to compile. The downside is that all C++ code is called using Unreal's blueprints, meaning you can make a game using only blueprints or by using both C++ and blueprint.

 

Once you understand how blueprint works, it quickly becomes apparent how useful such a system is. With the Blueprints you only need to program a thing like a door opening once and then you can just copy, paste and modify it as you want.

 

 

Changes in the Blueprint compiles as fast as the blueprint saves, you won't notice it's so quick variable changes will be made here instead of visual studio that takes longer to compile.

 

Since the main purpose here was to determine if using something the size of UE4 was feasible for a one person team, and nobody has claimed otherwise here, I think I have my answer. Thanks 

It is feasible, although many people will advice Unity over Unreal for a one man team. Unreal is a bit slower to start, making it hard on a single developer but once it's running it gathers momentum allowing you to make larger games in shorter time than other engines. 

 

Unity is much smaller than Unreal to download, it would be best if you tested both. Personally I feel Unreal is much better than Unity, but it's subjective.

Edited by Scouting Ninja

Share this post


Link to post
Share on other sites

Both are tool-set oriented with Unreal having more tools than Unity has

Unreal has eclipsed Unity in its tool-set by having most of the engine available without writing a single line of code. 

t is feasible, although many people will advice Unity over Unreal for a one man team. Unreal is a bit slower to start, making it hard on a single developer but once it's running it gathers momentum allowing you to make larger games in shorter time than other engines.    Unity is much smaller than Unreal to download, it would be best if you tested both. Personally I feel Unreal is much better than Unity, but it's subjective.
 

Agree with this 100%!

I started with Unity in the early 3.0 days and now find that UE4 has so much more raw and refined power.

There are some limitation to UE4 that I think Unity doesn't have like UE4 must be build on the platform they will run on. So if you want a Mac or iOS build you will need to have a Mac. Unity gets around this issue, I think by being more api call/script focused.

Share this post


Link to post
Share on other sites

There are some limitation to UE4 that I think Unity doesn't have like UE4 must be build on the platform they will run on.

 

Good to know, I'm usually working on Linux (which UE seems to support now), although I don't see why I couldn't toss stuff onto a Win machine if I ever want to distribute something.   

Share this post


Link to post
Share on other sites

Big engine - "You are not a big enough customer to get support about the missing documentation."

Free engine - "Don't bitch if it's free!"

Write your own - "What was it that I was supposed to do now that the engine is done?"

 

Pick your poison. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Announcements

  • Forum Statistics

    • Total Topics
      628394
    • Total Posts
      2982428
  • Similar Content

    • By toadvine
      I'd like to start building a 2D game, very small, just pixel art. I know python/javascript/tiny bit of HTML and I've started learning C++. I'm a long way from starting officially, I've just been making mini-projects to practice & drawing up concept art/gameplay storyboards. I'm just wondering if I'm off with the C++ for the game's programming, or if I should know certain things before starting.
      The game would be very small, I just want to get started trying out some actual work before college.
      Some other info: I'm working by myself on this, and going into game design/programming next year for college. I'm a high school student with a few years of experience just working by myself making small projects, drawing up stuff, so I really don't know much and I'd appreciate any tips.
      Thanks a bunch!
    • By Daerst

      SWARMED is a Zombie-themed RPG / RTS currently in development using Unity 3D. We love Dwarf Fortress (though we have no illusions that SWARMED will reach the same level of complexity), roguelikes, old-school point & click RPGs and real-time strategy games. We aim to cross genre-borders here and there and give some twists to the old Martinis every gamer has been drinking since the 1980s, metaphorically.
      Single player, 3D graphics and adjustable top-down camera - old-school RPG / RTS feeling Take control of a core group of survivors after the outbreak Encounter Zombies that are a real threat, no machine-gun massacre. Don't get swarmed! Build a safe zone anywhere with a highly flexible build system: campsite, lighthouse, school, or fence a whole village Grant asylum to other survivors that you meet and make them a part of your community Achieve sustainability in your safe zone and go on supply runs with your survivors
      Development
      The core team of recently founded indie studio Three Eyed Games currently consists of one writer, two artists and two programmers, based in Germany. We are in our mid-20s with professional experience in developing interactive 3D applications with Unity.
      SWARMED will feature both a 'free-play mode' and a campaign with mid-sized maps that leads the player through a story while explaining the gameplay and introducing him / her to the survivors: a core group a few 'hero' characters the player starts with (each one a detailed character with backstory, hopes and dreams), and more 'heroes' (total not more than 20, probably less) that the player can meet on the journey. In addition, randomly generated NPCs (less detailed and not directly controllable, similar to the way Dwarf Fortress handles its dwarves) can join your safe zone – if you let them.
      We plan to release a few 'Origin' prototypes that showcase individual gameplay systems and meanwhile give a gentle introduction to the characters you will meet in the game. Origin I, showcasing the build system and many fundamental elements like character controls and interactions, is finished and will be released soon. Next up, we're working on the dialog system to be presented in Origin II. Get in touch and we will provide more details and a playable version.
      We want you!
      We seriously think you should join the fun! We are looking for:
      Level Designers / Environment Artists, preferably with experience in Unity and procedural asset creation. Design and build maps with interesting visuals and proper pacing. 3D Artists. Our shacks, items and the dead guys' faces could use some plastic surgery. Can you do that? Writers. We have a bunch of characters to detail and a story to write ahead of us. Game Designers. We have a rough game design sketched out that needs improvement and completion. We need a balanced combat system, trees for constructions, workshops and character skills etc. PR & Community Managers, preferably with web development experience. We want to build a community around the game, and we need you to plan and manage this (with the help of the rest of the team, of course). 2D Artists / UX Designers, preferably with Unity UI experience. Our menus still look pretty dull, and we don't like that. We also need concept art for characters and iconic game moments to define their look and feel. Coders. If you know your way around Unity and C#, there are lots of challenging things to be done. You will work closely together with the two programmers already on the team to get going quickly. Please drop me a message or contact info@three-eyed-games.com
    • By sveta_itseez3D
      itSeez3D, a leading developer of mobile 3d scanning software, announced today a new SDK for its automatic 3D avatar generation technology, Avatar SDK for Unity. The Avatar SDK for Unity is a robust plug-n-play toolset which enables developers and creatives to integrate realistic user-generated 3D avatars into their Unity-based applications. SDK users can allow players to create their own avatars in the application or integrate the SDK into their own production processes for character design and animation.
      “Virtual avatars have recently become increasingly popular, especially in sports games and social VR apps. With the advance of VR and AR, the demand to get humans into the digital world is only increasing”, said Victor Erukhimov, itSeez3D CEO. “Our new Avatar SDK for Unity makes it super-easy to bring the avatar technology into any Unity-based game or VR/AR experience. With the Avatar SDK for Unity now every developer can bring face scanning technology into their games and allow players to create their own personalized in-game avatars, making the gameplay much more exciting and immersive.”
      Key features of the Avatar SDK for Unity:
      Automatic generation of a color 3D face model from a single selfie photo in 5-10 seconds (!). Works best with selfies, but can be used with any portrait photo.
      Shape and texture of the head model are unique for each person, synthesized with a deep learning algorithm crafted by computer vision experts
      Head models support runtime blendshape facial animations (45 different expressions)
      Generated 3D heads include eyes, mouth, and teeth
      Algorithms synthesize 3D meshes in mid-poly resolution, ~12k vertices, and ~24k triangles
      Six predefined hairstyles with hair-recoloring feature (many more available on request)
      Avatar generation API can be used in design-time and in run-time, which means you can allow users to create their own avatars in your game
      Cloud version is cross-platform, and offline version currently works on PCs with 64-bit Windows (support for more platforms is coming soon)
      Well-documented samples showcasing the functionality.
       
      Availability
      The Avatar SDK for Unity is offered in two modes - “Cloud” and “Offline”. The “Cloud” version is available at http://avatarsdk.com/ and the “Offline” version is available by request at support@itseez3d.com.
      ###
      About itSeez3D
      At itSeez3D, we are working on the computer vision technology that turns mobile devices into powerful 3D scanners. itSeez3D has developed the world's first mobile 3D scanning application that allows to create high-resolution photorealistic 3D models of people's' faces, bodies and objects. The application is available for iOS and Windows OS mobile devices powered with 3D cameras. In 2016 the company introduced Avatar SDK that creates a realistic 3D model of a face from a single selfie photo. To learn more about itSeez3D scanning software and 3D avatar creation technology, please visit www.itseez3d.com and www.avatarsdk.com.

      View full story
    • By sveta_itseez3D
      itSeez3D, a leading developer of mobile 3d scanning software, announced today a new SDK for its automatic 3D avatar generation technology, Avatar SDK for Unity. The Avatar SDK for Unity is a robust plug-n-play toolset which enables developers and creatives to integrate realistic user-generated 3D avatars into their Unity-based applications. SDK users can allow players to create their own avatars in the application or integrate the SDK into their own production processes for character design and animation.
      “Virtual avatars have recently become increasingly popular, especially in sports games and social VR apps. With the advance of VR and AR, the demand to get humans into the digital world is only increasing”, said Victor Erukhimov, itSeez3D CEO. “Our new Avatar SDK for Unity makes it super-easy to bring the avatar technology into any Unity-based game or VR/AR experience. With the Avatar SDK for Unity now every developer can bring face scanning technology into their games and allow players to create their own personalized in-game avatars, making the gameplay much more exciting and immersive.”
      Key features of the Avatar SDK for Unity:
      Automatic generation of a color 3D face model from a single selfie photo in 5-10 seconds (!). Works best with selfies, but can be used with any portrait photo.
      Shape and texture of the head model are unique for each person, synthesized with a deep learning algorithm crafted by computer vision experts
      Head models support runtime blendshape facial animations (45 different expressions)
      Generated 3D heads include eyes, mouth, and teeth
      Algorithms synthesize 3D meshes in mid-poly resolution, ~12k vertices, and ~24k triangles
      Six predefined hairstyles with hair-recoloring feature (many more available on request)
      Avatar generation API can be used in design-time and in run-time, which means you can allow users to create their own avatars in your game
      Cloud version is cross-platform, and offline version currently works on PCs with 64-bit Windows (support for more platforms is coming soon)
      Well-documented samples showcasing the functionality.
       
      Availability
      The Avatar SDK for Unity is offered in two modes - “Cloud” and “Offline”. The “Cloud” version is available at http://avatarsdk.com/ and the “Offline” version is available by request at support@itseez3d.com.
      ###
      About itSeez3D
      At itSeez3D, we are working on the computer vision technology that turns mobile devices into powerful 3D scanners. itSeez3D has developed the world's first mobile 3D scanning application that allows to create high-resolution photorealistic 3D models of people's' faces, bodies and objects. The application is available for iOS and Windows OS mobile devices powered with 3D cameras. In 2016 the company introduced Avatar SDK that creates a realistic 3D model of a face from a single selfie photo. To learn more about itSeez3D scanning software and 3D avatar creation technology, please visit www.itseez3d.com and www.avatarsdk.com.
    • By Canislupus54
      I'm looking for programmers for an rpg I want to make. If you're wondering what "semi-turn based" means, it means that you take turns, but instead of a rigid back and forth like Pokemon, a timer determines when you can act, a sort of modernization of the classic Final Fantasy Active Time Battle system. Right now, I'm looking for programmers to create a prototype of both the combat system and the movement outside of combat. Preferably for Unity C#. Concept artists, particularly for characters, and writers to help me flesh out the character and story aspects, would also be helpful.
      Here's a concept doc to fully explain things: https://docs.google.com/document/d/1ObDMAUWsndSAJ1EpQGRDxtR8Xl9xPotx89OZ0sgRaIw/edit?usp=sharing
      If you can fill another role and are interested, feel free to let me know as well.
      At the moment, this is purely a hobby project, with no payment planned. If we produce something we feel we can release, then of course we'll work out something for compensation. But, again, don't join this project counting on payment.
      If you're interested, contact me on here, or at jordestoj@yahoo.com . Thanks.
  • Popular Now