[quote name='joeparrilla' timestamp='1305396127' post='4810781']
[quote name='Serapth' timestamp='1305395613' post='4810777']
[quote name='joeparrilla' timestamp='1305394976' post='4810772']
[quote name='Serapth' timestamp='1305392486' post='4810742']
[quote name='joeparrilla' timestamp='1305391979' post='4810738']
[quote name='Serapth' timestamp='1305388062' post='4810708']
Pure hobbyist work I say it depends on what you want to get out of it. Learning is never a waste of time, and trying to write your one engine will ultimately give you a better perspective of how things work. Just don't expect to ever actually finish it, or for that matter, expect to spend as much or more time on your engine than your game. Again though, this experience is an invaluable one, so when you do use an engine down the road, you will have a better time understanding things and can probably better deal with one of those .1% issues that sneak through the cracks.
Creating a simple 2D game in something like XNA? This is one could go either way, but rolling your own is probably as efficient as learning someone else's engine.
Want to actually ship a product? Use an engine, end of story. Just look at something like OGRE 3d, which literally has 10s of thousands of man hours invested in it... and it's just a renderer. There are almost no valid economic arguments for rolling your own engine. Hell even when you look outside of Indy games, where licensing costs are in the 100K-1M range, it's still probably economical to buy off the shelf.
Well I dont exactly want to write my own engine. A long time goal of mine was to write a diablo-ish RPG. For something like this, is an engine necessary? I mean isnt it possible to create the tile maps and levels and all that with more of a game programming API such as SDL or Allegro? I mean, I know people make pretty awesome stuff with LWJGL and Java (Minecraft), and thats nothing more than a game api, its not a game engine.
[/quote]
No, you dont HAVE to use an engine and in some cases a viable engine may simply not be available for the type of game you are trying to create. That said, even in a 2D Diablo clone you could do just as well piecemealing various libraries together. All situations are different. You can use tile based engines, or you can roll your own. A 2D tile based game is going to be substantially less work than a full blown 3D game engine, but it is still a lot of work. You will have to create the tiling system, a level editor or an importer from an existing editor, collision detection, AI/pathing, sound, lighting, etc... It's less work, but still a lot of work.
[/quote]
So an engine would do ALL of those things for me, including collision detection and AI? Or does it depend on the complexity of the engine?
Well Im starting to see why an engine would be a good idea, so what are some of the most general purpose engines that really dont get in the way of the programmer? I want something that allows me to actually create something in a reasonable amount of time(I dont want to work one one project for years), but also doesnt do too much for me. I do have a very solid programming background, so I feel like I am capable of implementing certain things pretty well, and I would like to be able to use my skills in my game, not just have the engine do everything.
[/quote]
It really depends on the engine, but in many cases yes. If they don't do them completely, they make them a hell of a lot easier. As to recommending an Engine to you, you need to answer some questions. 2D/3D? What platforms are you targeting ( Windows, Mac, Linux, iOS, Android? ), what Language do you want to work in? Whats your budget? Going to sell it commercially? What tools are you going to use for graphic creation?
If you are making your game art in a 3D application like 3D Studio Max or Blender, I would give Unity a try. It may be overkill, but it is a full featured engine that is pretty accessible and is free for non-profit work. Check out this sample
http://unity3d.com/s...meplay-tutorial and see if it looks like a good fit.
If Unity doesn't fit your fancy or you want to stay pure 2D, there are literally hundreds of other options and probably hundreds of threads on this forum specifically about 2D engines.
[/quote]
Well right now I wanna stick with 2d, and then move onto isometric 2d (diablo like). My main interests are action rpgs, strategy games, etc. Im sure I will want to go to 3D eventually, but not yet. I really prefer not to learn a new language, Im most comfortable with C/C++ or Java. I used java for game programming before, but decided to try to move to C++, which is why I thought SDL/OpenGL was the way to go. Some what are some 2D engines for C++ that really allow a programmer to get into the source code and do what he wants. To me, the ideal engine would do what it is supposed to do, but allow you to get into the source code for the engine and change things as you need to. Does anything like this exist. That seems like it would be the best fit for me. For example if the engine had a tiling system that I liked, but I wanted to tweak it, I would want to be able to get into the actual code for how it deals with tiling and change it to fit my needs. So basically an editable engine.
[/quote]
I've not had much experience lately in the 2D space so I am not really the one to make a recommendation ( now 3D engines... damn I've evaluated too many! ). But I would definetly take a look at
Root's work. I only just looked at it, but for an open source game project, it seems to be coming along exceedingly well. If you were willing to spend money, I would consider
Torque2D, it's scripting is C++ based and can link to C++ sources, tools seem very polished and has a good community. 99$ bucks though.
[/quote]
I know this is still in the lower level of API's, but what have you heard about SFML? It seems to be a more modern SDL that supports more features and uses more advanced graphic techniques (no blitting like SDL). Would something like SFML with C++ compare to XNA/C#? So many people seem to be using XNA these days, and its not an engine. Ive heard of people being quite productive with it, it seems to be sort of in between a game engine and a multimedia library. From what Ive understood it does alot more than something like SDL, but less than something like Ogre or Unity
Never, ever stop learning.
- Me