Game engine disadvantages

Member
Posts: 131
Joined: 2010.08
Post: #1
I want to learn to use Unity3D. However, there are some advantages to not using a third-party engine, which are summarized in http://www.idevgames.com/forums/newreply...&pid=67644:
(Oct 16, 2010 05:40 PM)AnotherJake Wrote:  
(Oct 16, 2010 02:57 PM)Miglu Wrote:  What are the advantages of persisting through problems and not using a 3rd party game engine?

Not many:
- you get to learn a whole bunch of stuff, if you're into learning stuff
- you have flexibility to explore different things, which may be outside the support range of a 3rd party solution. I am currently exploring time manipulation, which I doubt I would be able to do with a 3rd party engine.
- if there's a bug, you don't have to wait for them to fix it (of course, the converse is that you have to fix it yourself)
- you can potentially port your code over to whatever platform you please
- you could potentially license your own engine

About the second point: could not new things be explored outside of the engine and then added to it? I do not understand why some code that adds some new functionality could not be added to game code in the engine. For example, if a .m file has some amazing methods, could they not be used in the game by just adding the file to the project folder in the game engine?
About the fourth point: is porting not possible (or practical) for a game that has been made with Unity3D?
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #2
games made in unity deploy to a plethora of platforms including mac and windows http://unity3d.com/unity/publishing/
Quote this message in a reply
Moderator
Posts: 3,571
Joined: 2003.06
Post: #3
2) Some engines will allow you to customize them through various means, yes. However, something as tricky as time manipulation isn't likely going to be something you can easily "add on" to an engine which wasn't built to support it in the first place. Often times you wind up coming up with work-arounds and other little hacks to "make things fit". That said, with a good engine like Unity, you probably won't have any need to add anything on anyway.

4) As skyhawk pointed out, Unity supports a wide range of platforms. If there is a platform they don't support but you would like them to support, you will have to ask them to port it for you. If they port it, then great; otherwise, you're stuck with what they have to offer. Again, chances are they support most, if not all, of the platforms you'll want anyway.
Quote this message in a reply
Member
Posts: 131
Joined: 2010.08
Post: #4
Thanks. Could everyone who reads this write what game engine they use.
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #5
in the past:
unity3d
my own (built BOB2, Icarus, and Microbian:Fighter all off the same thing)
currently:
cocos2d
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #6
None, ever.
Quote this message in a reply
Moderator
Posts: 3,571
Joined: 2003.06
Post: #7
I'm using my own home-grown madness, of course. I seriously doubt I'd ever need to use a third-party 2D engine of any kind.

I haven't tried using a commercial 3D engine since Torque. If I did try a commercial 3D engine again it would either be Unity3D or Unreal.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #8
For 2D, I've never used an engine of any sort other than some home grown stuff. 2D tends to be easy to the point where I don't feel the need. You really just need some functions for loading images, drawing text, and a couple hundred lines of OpenGL code specific to the game I'm writing. I tried to like Cocos2D, but I feel it makes things overcomplicated and gets in the way. Compare Cocos2D's 30k lines of code and oodles of classes to the 300 lines of rendering code in Twilight Golf that did all the fun lighting and still got us 40+ fps on a 1G iPod touch. I don't see a world where Cocos2D would have made it easier to write or run faster.

For 3D, we've used Unity for anything that is non trivial. Loading and rendering 3D models complete with materials, textures, rigging, submeshes, etc is a huge PITA. Unity's toolchain to deal with all of the game content and resources is it's greatest strength, everything else is hard. Sometimes really hard... It probably doesn't mean much if you don't have experience but I often find myself swearing at Unity because I have to write a 50 line hack that mostly seems to work instead of the 5 lines of code that I know works if I wasn't.

In both the 2D and 3D cases I feel that using an engine greatly lowers the difficulty in starting out, but eventually you are going to find that the engine was built strongly around ideas that don't work well in general. Creating 3D games is a lot more difficult though, and you may never find yourself crossing the point where you care to leave Unity though.

Scott Lembcke - Howling Moon Software
Author of Chipmunk Physics - A fast and simple rigid body physics library in C.
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #9
(Oct 25, 2010 08:18 PM)Skorche Wrote:  For 2D, I've never used an engine of any sort other than some home grown stuff. 2D tends to be easy to the point where I don't feel the need. You really just need some functions for loading images, drawing text, and a couple hundred lines of OpenGL code specific to the game I'm writing. I tried to like Cocos2D, but I feel it makes things overcomplicated and gets in the way. Compare Cocos2D's 30k lines of code and oodles of classes to the 300 lines of rendering code in Twilight Golf that did all the fun lighting and still got us 40+ fps on a 1G iPod touch. I don't see a world where Cocos2D would have made it easier to write or run faster.

Except for the occasional (though sometimes it appears too often for my taste) bug in the engine, Cocos2D is really good at What It Does™. The entry point is pretty low, but I've seen people do amazing things with it (would toot my own horn, but my product isn't anywhere near ready to be done). That being said I've seen a lot of people use it for the bare minimum (stuff no challenging than the flash adds we see on the sides of annoying websites).

Yes I do admit that it has a LOT of functionality not every game needs, but that's generally what a framework has. It has to support a lot of different stuff.

Considering the problems that Miglu has had over these past few months (half dealing with the language, and half dealing with "how do I make opengl do my will"), I'm sure starting with something like cocos2d may have made it easier for him.
Quote this message in a reply
Moderator
Posts: 434
Joined: 2002.09
Post: #10
Unity. This is a spare time hobby for me, after work and family. I don't have time to write everything from scratch, and it's allowed me to make my games look and sound better.

Measure twice, cut once, curse three or four times.
Quote this message in a reply
Member
Posts: 27
Joined: 2009.07
Post: #11
When it comes to two-dimensional work, I only use third-party engines for prototyping, because it provides an easy and somewhat clean sandbox for me to work on and tweak the gameplay. Once I've got a solid plan and start working on actually building the game, I'll put the concept design down and work on in-house engines - mind you, I've only done so for PC development, and have hardly touched iDevice or Apple in general. I get the best of both worlds with this method, because I get rapid iterative development for the gameplay/concept (as well as a solid idea of what I'm going to need to implement - not so easy when everything's just written down on paper), then shift to a custom engine that is built specifically for the needs of the project, and cuts out all of the extraneous pieces that do me no good. In doing so, I cut the size of the final executable, and often improve how the game runs because I can cut out the extra processing for unused features.

The only "engine" that I really use when it comes to 2D development is Torque Game Builder. Cocos2D, Irrlicht, etc aren't really game engines so much as game development libraries, which offer various pieces of functionality. In order for them to classify as engines, they'd have to actually function as a game before you tie all of the pieces together.

On three-dimensional projects, though, I've used a number of engines (mind you, I haven't released any of my three-dimensional work, because I'm too picky with my lack of artistic capability). I personally love the Torque engine line - I use Torque3D Professional right now, and have used Torque Game Engine and Torque Game Engine Advanced in the past. I've also played around with Unity and UDK, but I really don't care for them as much - mostly because I have no source access to them. <.<

Goodbye.
Quote this message in a reply
Moderator
Posts: 3,571
Joined: 2003.06
Post: #12
(Oct 26, 2010 06:42 PM)Minalien Wrote:  When it comes to two-dimensional work, I only use third-party engines for prototyping, because it provides an easy and somewhat clean sandbox for me to work on and tweak the gameplay. Once I've got a solid plan and start working on actually building the game, I'll put the concept design down and work on in-house engines ...

That's a reasonable approach, actually. I've developed my own "in-house" tools to a level where I don't need to do that, but that's actually a pretty good idea if you don't have a full tool-chain already established.

[edit] duh, I just remembered we've used Flash to prototype 2D games, so yeah, it's a good idea!
Quote this message in a reply
Member
Posts: 27
Joined: 2009.07
Post: #13
(Oct 26, 2010 10:46 PM)AnotherJake Wrote:  
(Oct 26, 2010 06:42 PM)Minalien Wrote:  When it comes to two-dimensional work, I only use third-party engines for prototyping, because it provides an easy and somewhat clean sandbox for me to work on and tweak the gameplay. Once I've got a solid plan and start working on actually building the game, I'll put the concept design down and work on in-house engines ...

That's a reasonable approach, actually. I've developed my own "in-house" tools to a level where I don't need to do that, but that's actually a pretty good idea if you don't have a full tool-chain already established.

[edit] duh, I just remembered we've used Flash to prototype 2D games, so yeah, it's a good idea!

I've got a solid toolchain for some parts, such as graphics compression, resource files, et cetera, but most of the game-specific parts of engines I write are specific to that game and that engine. I don't like writing code that handles all possible solutions for the future - it's the exact reason I avoid using these general-purpose game engines. I try to avoid the bloat as much as possible.

Also, I'm too lazy to try to think about what I'll do in the future. I've long since given up on trying to predict my own future. <.<

Goodbye.
Quote this message in a reply
Moderator
Posts: 3,571
Joined: 2003.06
Post: #14
I can definitely understand that. I didn't used to be of the "let's make an engine" mindset. I finally got sick of re-writing the same stuff over and over and I got sick of copy-pasting, so I decided it made sense to put all my favorite reusable code in one big pile. I don't think of it so much as an engine as my trusty bag o' tools.
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #15
The problem with rolling-your-own is that you waste a lot of time trying to write reusable code, when for your next game, you'll probably write yet another engine because you didn't write the old one as clean/reusable/fullfeatured enough. I really suggest just using an already made engine or writing the game as a single entity. As for me, I've been working on a game engine for about a year because nearly all game engines I've seen suck for my purposes. (Also keeping me going is that a couple of guys seem to hate Unity's collaboration support, and want me to make an engine for them.)
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  My port of the HGE game engine for Mac OS X / iOS A_Pepper 2 5,486 Feb 11, 2012 07:36 AM
Last Post: A_Pepper
  Shiva3D Game Engine SubspaceGames 0 4,980 May 19, 2011 10:57 PM
Last Post: SubspaceGames
  Free Game Engine davbeck 3 4,182 Sep 5, 2009 12:56 PM
Last Post: Ingemar
  Port of an open source game engine iarwain 4 4,489 Aug 28, 2008 02:16 PM
Last Post: iarwain
  Ruby for scripting my game engine... djork 13 8,814 Aug 20, 2006 06:48 PM
Last Post: OneSadCookie