Game engine disadvantages

Moderator
Posts: 3,570
Joined: 2003.06
Post: #16
(Oct 27, 2010 05:15 PM)Oddity007 Wrote:  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 think that depends greatly on your level of experience. I have been doing this for so long now that I know when I am writing something which would benefit me in the future by generalizing it or creating a specialized tool for it. I almost always write code for my library only when I need it. I don't like writing code which I only *anticipate* I might use in the future. Rewriting "an engine" is just a fact of life as far as I'm concerned. The more you do it, the more code follows along from one version to the next.

There aren't many clear arguments that I can offer one way or another on this. I always suggest to others that they should start with an existing engine if they can find one that works for them. On the other hand, I am the biggest hypocrite there is on that particular advice. The only factual datapoint that I have to back that advice up with is that gaining the necessary skills can take a very long time.
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #17
(Oct 27, 2010 05:39 PM)AnotherJake Wrote:  There aren't many clear arguments that I can offer one way or another on this. I always suggest to others that they should start with an existing engine if they can find one that works for them. On the other hand, I am the biggest hypocrite there is on that particular advice. The only factual datapoint that I have to back that advice up with is that gaining the necessary skills can take a very long time.

I'm pretty sure that time is the only reason, what I do is that I use the time spent creating the engine to work on other things like music/storywriting that I'll often rush over when I use an already made engine. However, other people may just quit. So, I guess it could be said that even the argument of time can be incorrect depending on the type of person.

And then, the learning experience of writing an engine can be excellent as well.
Quote this message in a reply
Nibbie
Posts: 1
Joined: 2010.10
Post: #18
Thanks for the information. I need some more game engines to be identified here. So i request the members to do so.Good job.
Quote this message in a reply
Moderator
Posts: 1,560
Joined: 2003.10
Post: #19
(Oct 29, 2010 06:10 AM)chrisjohn Wrote:  Thanks for the information. I need some more game engines to be identified here. So i request the members to do so.Good job.

Here's a list.
Quote this message in a reply
ccsdu2004
Unregistered
 
Post: #20
game engine == code reuse!
do you know that´╝č
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #21
Yes and no. The game engine itself is the sort of code that you would normally reuse between projects. The code that you write on top of it is generally quite game specific and often pretty hard to use. Especially true when you have to write a bunch of ugly code to work around the way a game engine wants you to do things when you are trying to do something "different".

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
Member
Posts: 260
Joined: 2005.05
Post: #22
I feel very much split in this question.

I consider myself a game/graphics engine writer, I have much experience with that so it feels like my work to make the engine the way I like it. Also, I find most engines out there totally wrong for me. Most are written in languages that disagree with me, and are usually locked to that single language. I don't want to be locked to one language. (But I know that the interface code to other languages can be tedious to write too.) Finally, I have bad experiences with game engines. They can do what their demos show, but you should not expect them to do anything beyond that. False assumptions based on hot demos can make you waste much time on the wrong tools.

But rolling my own has gotten harder, even for 2D. I have a modernized version of my old engine (SAT) running, but even though I don't have to work on assembly-level blitters any more, there are so many new problems that must go into it to make it up-to-date, like a full-fledged physics engine, top-notch collision detection etc. I made a stripped-down version for a lab in my game programming course (yes, I run one of those) and that was very small and simple. So making a simple one is really easy, but form there to a "serious" one is a long way.

Besides writing my own engine and using someone else's, there is alternative three: Skipping engines altogether and write all the code directly in the game code. For simple games, this is no problem, just like the simple one-or-two-page lab engine mentioned above. You don't need a game engine to write a Snake or Tetris. For bigger games, you might get messy code if you don't isolate reusable code over time. And that leads me to alternative four: You can make a "toolbox", a collection of reusable code, without really making an engine of it. And that is a pretty nice approach.

Maybe one should have a relaxed and dynamic view to the problem. Use whatever solves the problem. If it feels right to write it all yourself, then it is. If that feels too hard, and an engine will help, then you go that way. Experiment, test more than one way.
Quote this message in a reply
Member
Posts: 131
Joined: 2010.08
Post: #23
Is it better to use Python or Objective-C files when using Cocos2D? In other words, is it better to do an Objective-C project with Python used in some places, or a Python project with Objective-C used?
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #24
What's the difference?
Quote this message in a reply
Member
Posts: 131
Joined: 2010.08
Post: #25
Doing a Python project requires much more Python knowledge than doing an Objective-C project where Python is only used when it is necessary because it is Cocos2D's language.
Quote this message in a reply
Moderator
Posts: 770
Joined: 2003.04
Post: #26
(Nov 14, 2010 04:34 AM)Miglu Wrote:  Doing a Python project requires much more Python knowledge than doing an Objective-C project where Python is only used when it is necessary because it is Cocos2D's language.

First link on a Google search for "cocos2d objective c"
http://code.google.com/p/cocos2d-iphone/

Quote:cocos2d for iPhone is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on the cocos2d design: it uses the same API, but instead of using python it uses objective-c.
Quote this message in a reply
Member
Posts: 131
Joined: 2010.08
Post: #27
(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.

It is very difficult to make animations and complex levels with only those functions.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #28
Animations tend to need fairly tight integration with the game. Generic code only gets you so far (and for 2D, generic code is pretty trivial).

Complex levels are always tied completely to the game.
Quote this message in a reply
Member
Posts: 131
Joined: 2010.08
Post: #29
A game engine includes a generic level editor into which the level's objects can be placed visually. That is not possible with the functions that are described in the quote. It is difficult to create complex levels, and animations, programmatically.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #30
An animation is just a sequence of pictures and maybe a little timing information (usually not more than "10FPS").

A basic tile editor in-game is about 25 lines of code (just counting up the one I made the other day). Anything much more than a basic tile editor will be game-specific anyway.
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,288 Feb 11, 2012 07:36 AM
Last Post: A_Pepper
  Shiva3D Game Engine SubspaceGames 0 4,847 May 19, 2011 10:57 PM
Last Post: SubspaceGames
  Free Game Engine davbeck 3 4,072 Sep 5, 2009 12:56 PM
Last Post: Ingemar
  Port of an open source game engine iarwain 4 4,362 Aug 28, 2008 02:16 PM
Last Post: iarwain
  Ruby for scripting my game engine... djork 13 8,597 Aug 20, 2006 06:48 PM
Last Post: OneSadCookie