• Advertisement
Sign in to follow this  

Unity I'm considering engine switch after current project is done. Which one should I choose?

This topic is 543 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

After my current project is done, I am considering an engine switch. I'm currently using Unity and kinda like it, but I really need something else, that's also easy to use.

 

I am not good at C++ (more of C#/Lua/Java/other managed or scripting langs guy), so UE4 is most likely off the table (Blueprints looks like my earphones when I decide to take them out of my pocket after whole day, i.e. clumped, unmaintainable mess). How any of the following compares to Unity, mostly in terms of import pipeline and ease of use?

 

- CryEngine. I'm really not sure here... On the other hand it uses C#, but on the other, I've heard bad things about its import pipeline and also that their C# api is both undocumented for the most part and terrible. Also it seems to be locked to one or two genres (FPS or walking sim, which is actually FPS without guns).

 

- JMonkeyEngine. It's Java-based and I've actually learned Java long before I've started using Unity. I've used it in the past, but the community was really caustic. It also had no editor last time I've used it.

 

- UE4 with free version of SkookumScript. Not sure how powerful free tier of it is, but since my main problem with UE4 is that it either you have to use C++ or Blueprints, with no middle ground, it could work.

 

I don't have time nor will to evaluate all of them (since proper evaluation can take months). Can someone help me there? Should I go into one of these or do you know of any other easy engines that I could use and which are powerful enough?

 

Also, before you propose, I know of Banshee3D which essentially aims to be open-source Unity, however at this stage it's not good enough (it may be though by the time I finish my game) and I simply don't consider it a viable alternative at this point.

Share this post


Link to post
Share on other sites
Advertisement

In my mind the only serious contenders for an indie working in the 3D world are Unity and UE4. I wouldn't recommend CryEngine to anybody, having known people who worked for Crytek. So if you're not keen on C++ I'd normally suggest you stick with Unity. You might also be interested in the Godot project but I can't vouch for it personally.

Share this post


Link to post
Share on other sites

I've Only Been Able To Get Results (1st) With XNA And (2nd) With Unity (2D And 3D) Only Ever Been Indie.
C# Born And Raised. Just Go With The Flow, You Should Be Able To Port A Solid Game Concept Across Platforms And Languages.
Game Concept First, Technical BS Second. Break-A-Leg.

Edited by EscondidoZombieFactory

Share this post


Link to post
Share on other sites

I'd be curious to know what it is that you are trying to do that you say you "need" to use something else for.  Unless you need to do something specialized, like massive RTS, Unity should be able to handle it, and if the case is that you need something specialized, you are going to have to code your own(maybe on top of something if you are lucky) or find a pre-made engine specific for the game type(good luck unless you have a nice budget).  The only "general usage" engine that I know of that beats Unity is some things is UE4, but you've already stated you aren't interested in using C++.  I can tell you though, many other engines also work with C++, or some other language that you may not know.

 

But yeah, a better way to get a better recommendation would be to know exactly what you are trying to do that Unity can't handle for you.

Share this post


Link to post
Share on other sites

I wouldn't recommend CryEngine to anybody, having known people who worked for Crytek.

 

Can you tell any 'tellable' explanations about this ? Is the API/SDK/code bad in some ways ? Code spaghetti maybe ?

Share this post


Link to post
Share on other sites

I wouldn't recommend CryEngine to anybody, having known people who worked for Crytek.

 
Can you tell any 'tellable' explanations about this ? Is the API/SDK/code bad in some ways ? Code spaghetti maybe ?

My only experience with CryEngine was that I took a small job to add PSVR support to it one time... I thought, "this should be easy, they already have Oculus support!".
Oh was I wrong.
For starters, their Oculus support was added by someone who had no idea what they were doing, or alternatively, simply didn't care what they were doing -- they took the head-tracking data and converted it into mouse input events, and fed it into a massively complicated, XML-routed event system, which eventually ended up modifying the camera rotation somehow. I found the part of the code that generated this message fairly quickly, but it took hours of wading through spaghetti before I found the part of the code that received the message... Backing up for a second though, mouse inputs are two dimensional, but head-tracking is 6 dimensional, so positional offsets and "roll" of the rotation were simply ignored!
What I thought would've been a simple half a day task turned into a multi-week epic task, because of the unnecessary complexity in their code-base. In the end, this game simply gave up on supporting PSVR, because adding actually decent VR support into Cry (and hitting their performance targets) was too much effort.
Another example -- every engine at some level has a cross-platform wrapper around D3D/etc (e.g. RHI), so that you can port your graphics code to multiple platforms easily... I was very confused when I found PS4-specific code that was calling D3D11 functions! It turns out that their cross-platform graphics layer was such a mess, that part of it is a portable Cry API (like RHI) and other parts just use D3D11 directly... Of course you can't run D3D11 code on PS4... so some bright spark has decided that rather than clean up their code base, they'll just add another layer of complexity to it by emulating select parts of the D3D11 API as GNM (PS4) wrappers :o
 
You can really, really tell that it's written by 100 different people who simply do not get along with each other at all... and having known a bunch of people who have worked there, apparently this makes sense, because internal cliques, egos and office-politics are a big problem apparently.

 

tl;dr, it does produce some pretty pictures, but the quality of the engineering is embarrassing.

Edited by Hodgman

Share this post


Link to post
Share on other sites

Thanks for your feedback Hodgman. I must also deplore that this kind of practice (we are a team but everyone is doing it himself the way it should not be) is more and more common. I can remember that in a previous company, almost everyone involved in 3D had its own version of matrix...

Share this post


Link to post
Share on other sites

In my mind the only serious contenders for an indie working in the 3D world are Unity and UE4. I wouldn't recommend CryEngine to anybody, having known people who worked for Crytek. So if you're not keen on C++ I'd normally suggest you stick with Unity. You might also be interested in the Godot project but I can't vouch for it personally.

 

I was just running Star Citizen yesterday ... /sadpanda

But I agree, Unity and UE4 are the main contenders right now for a full kit and if you don't want C++ then Unity comes to the top pretty quickly.

I'll add Gamebryo to the list which, like CryEngine, primarily uses Lua for its scripting though it's a bit dated.

Edited by Shannon Barber

Share this post


Link to post
Share on other sites

 

I wouldn't recommend CryEngine to anybody, having known people who worked for Crytek.

 

Can you tell any 'tellable' explanations about this ? Is the API/SDK/code bad in some ways ? Code spaghetti maybe ?

 

 

I would recommend downloading the Lumberyard Engine from Amazon* ( see what some of the CryEngine code looks like. Lumberayrd is based on a recent version of CryEngine but has also been modified by Amazon as well. The download contains the source code for the entire engine, hence how it provides a view into what some of the CryEngine code looks like.

 

* disclaimer, I work for Amazon and on the Lumberyard Engine but what I write is my personal opinion and does not represent Amazon in any way, shape, or form. :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By Manuel Berger
      Hello fellow devs!
      Once again I started working on an 2D adventure game and right now I'm doing the character-movement/animation. I'm not a big math guy and I was happy about my solution, but soon I realized that it's flawed.
      My player has 5 walking-animations, mirrored for the left side: up, upright, right, downright, down. With the atan2 function I get the angle between player and destination. To get an index from 0 to 4, I divide PI by 5 and see how many times it goes into the player-destination angle.

      In Pseudo-Code:
      angle = atan2(destination.x - player.x, destination.y - player.y) //swapped y and x to get mirrored angle around the y axis
      index = (int) (angle / (PI / 5));
      PlayAnimation(index); //0 = up, 1 = up_right, 2 = right, 3 = down_right, 4 = down

      Besides the fact that when angle is equal to PI it produces an index of 5, this works like a charm. Or at least I thought so at first. When I tested it, I realized that the up and down animation is playing more often than the others, which is pretty logical, since they have double the angle.

      What I'm trying to achieve is something like this, but with equal angles, so that up and down has the same range as all other directions.

      I can't get my head around it. Any suggestions? Is the whole approach doomed?

      Thank you in advance for any input!
       
    • By devbyskc
      Hi Everyone,
      Like most here, I'm a newbie but have been dabbling with game development for a few years. I am currently working full-time overseas and learning the craft in my spare time. It's been a long but highly rewarding adventure. Much of my time has been spent working through tutorials. In all of them, as well as my own attempts at development, I used the audio files supplied by the tutorial author, or obtained from one of the numerous sites online. I am working solo, and will be for a while, so I don't want to get too wrapped up with any one skill set. Regarding audio, the files I've found and used are good for what I was doing at the time. However I would now like to try my hand at customizing the audio more. My game engine of choice is Unity and it has an audio mixer built in that I have experimented with following their tutorials. I have obtained a great book called Game Audio Development with Unity 5.x that I am working through. Half way through the book it introduces using FMOD to supplement the Unity Audio Mixer. Later in the book, the author introduces Reaper (a very popular DAW) as an external program to compose and mix music to be integrated with Unity. I did some research on DAWs and quickly became overwhelmed. Much of what I found was geared toward professional sound engineers and sound designers. I am in no way trying or even thinking about getting to that level. All I want to be able to do is take a music file, and tweak it some to get the sound I want for my game. I've played with Audacity as well, but it didn't seem to fit the bill. So that is why I am looking at a better quality DAW. Since being solo, I am also under a budget contraint. So of all the DAW software out there, I am considering Reaper or Presonus Studio One due to their pricing. My question is, is investing the time to learn about using a DAW to tweak a sound file worth it? Are there any solo developers currently using a DAW as part of their overall workflow? If so, which one? I've also come across Fabric which is a Unity plug-in that enhances the built-in audio mixer. Would that be a better alternative?
      I know this is long, and maybe I haven't communicated well in trying to be brief. But any advice from the gurus/vets would be greatly appreciated. I've leaned so much and had a lot of fun in the process. BTW, I am also a senior citizen (I cut my programming teeth back using punch cards and Structured Basic when it first came out). If anyone needs more clarification of what I am trying to accomplish please let me know.  Thanks in advance for any assistance/advice.
    • By Yosef BenSadon
      Hi , I was considering this start up http://adshir.com/, for investment and i would like a little bit of feedback on what the developers community think about the technology.
      So far what they have is a demo that runs in real time on a Tablet at over 60FPS, it runs locally on the  integrated GPU of the i7 . They have a 20 000 triangles  dinosaur that looks impressive,  better than anything i saw on a mobile device, with reflections and shadows looking very close to what they would look in the real world. They achieved this thanks to a  new algorithm of a rendering technique called Path tracing/Ray tracing, that  is very demanding and so far it is done mostly for static images.
      From what i checked around there is no real option for real time ray tracing (60 FPS on consumer devices). There was imagination technologies that were supposed to release a chip that supports real time ray tracing, but i did not found they had a product in the market or even if the technology is finished as their last demo  i found was with a PC.  The other one is OTOY with their brigade engine that is still not released and if i understand well is more a cloud solution than in hardware solution .
      Would there  be a sizable  interest in the developers community in having such a product as a plug-in for existing game engines?  How important  is Ray tracing to the  future of high end real time graphics?
    • By bryandalo
      Good day,

      I just wanted to share our casual game that is available for android.

      Description: Fight your way from the ravenous plant monster for survival through flips. The rules are simple, drag and release your phone screen. Improve your skills and show it to your friends with the games quirky ranks. Select an array of characters using the orb you acquire throughout the game.

      Download: https://play.google.com/store/apps/details?id=com.HellmodeGames.FlipEscape&hl=en
       
      Trailer: 
       
    • By khawk
      Watch the latest from Unity.
       
  • Advertisement