Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Choosing the right engine

  1. #1

    Question Choosing the right engine

    I wasn't sure where to post my doubts, so I create a thread in the newcomers corner. What troubles me now, is how to choose the right engine to begin a new project (game related). There are many options, but also many questions. I think the most important question is: Which Engine is the better and easier to learn? my spider sense says it's SDL, maybe it's wrong, maybe not.

    I never take on game development before (at least using pascal), have some knowledge on game stuffs, a lot of experience building commercial apps, databases and SQL. For my first pascal game I choose to develop a 2D game, sort of block busting/shooter (more on this later, I promise ).

    Currently I'm using Delphi 2007, maybe my selection list will be little, I don't know. GDI+ is an option?

  2. #2
    SDL is good choice indeed, there's lots of documentation around.
    Also if you are willing to try, there's my game engine, I tried to make it as simple to use as possible, check www.pascalgameengine.com

  3. #3
    I wouldn't say that there's one engine which is better than all others. In the end, it comes down to personal preference. Try the one that caught your attention. If you like it, stick with it, if not, try another one. Trust me, knowing more than one engine/framework is definitely a plus. There are always different concepts and it's always good to learn new things

    Also: SDL is not an engine. And there's a difference between a graphics engine and a game engine.
    Freeze Development | Elysion Game Framework | Twitter: @Stoney_FD
    Check out my new book: Irrlicht 1.7.1 Realtime 3D Engine Beginner's Guide (It's C++ flavored though)

    Programmer: A device for converting coffein into software.

  4. #4
    Quote Originally Posted by Relfos View Post
    SDL is good choice indeed, there's lots of documentation around.
    Also if you are willing to try, there's my game engine, I tried to make it as simple to use as possible, check www.pascalgameengine.com
    Going to try SDL. I think it will be fine to start and learn.

    Quote Originally Posted by Stoney View Post
    I wouldn't say that there's one engine which is better than all others. In the end, it comes down to personal preference. Try the one that caught your attention. If you like it, stick with it, if not, try another one. Trust me, knowing more than one engine/framework is definitely a plus. There are always different concepts and it's always good to learn new things

    Also: SDL is not an engine. And there's a difference between a graphics engine and a game engine.
    I'm aware that graphics and game engine are not the same. I agree about learning to use more that one framework, but when you have no knowledge you must start with one, the easier and most complete in features maybe a good choice.

    That's why I asked for advice.

  5. #5
    In that case you might need to rephrase your question to "What are you expecting from a (game) framework?"

    SDL is very low level (but not as low-level as WinAPI), function-based (no class structure), you have to fiddle around with pointers, create a game loop by hand, there are no game logic helpers (i.e. no entity management, no scene management or any game design concepts whatsoever). All of that is not a bad thing of course.
    If that is what you were looking for, go for it.
    Freeze Development | Elysion Game Framework | Twitter: @Stoney_FD
    Check out my new book: Irrlicht 1.7.1 Realtime 3D Engine Beginner's Guide (It's C++ flavored though)

    Programmer: A device for converting coffein into software.

  6. #6
    PGD Staff code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    933
    Blog Entries
    45
    Thing with SDL is it has a nice progression, SDL is interoperable with OpenGL so when SDL becomes too restrictive or too slow, just throw in some GL code. And once you're comfortable with OpenGL you dont need SDL and you can write your own libs!
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  7. #7
    SDL is quite low level, is not an engine exactly. I 've worked in the past with (Un)DelphiX and GLScene, but you can also find other engines to start with, a lot of them can be found at http://www.pascalgamedevelopment.com...-Your-Projects
    Last edited by Jimmy Valavanis; 30-03-2012 at 04:21 PM.

  8. #8

  9. #9
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25
    Starting in on making games and working with graphics, I'd stay away from "engines" as they will teach you very little, or nothing at all about how the code needed works. An engine is designed to do all the work for you, which is great if it is designed well(fast and memory efficient) however when learning you need to code these things for yourself and be able to play with them to understand how this code effects performance and the effects generated by what you have put into the functions you wrote. Engines eliminate this for you as a convenience which makes them better suited to more experienced developers who want to cut time from a project than have to do what they already have done before and know well.

    As a first library you want to pick one that will give you the most control over your code. You ware looking for low-level functionality of the code yet simple enough so as to not make the learning process tedious. SDL based libraries, such as JEDI-SDL are great for this. There are some libraries or alternately called "frameworks" that go more towards the engine ideaology, but you want to avoid these too for now. They serve the best of both worlds, yet they still are designed to take away from those things you want to learn at the beginning.

    After you have done the basics with a good starter library you may want to move onto something (engine, framework, library) that will help speed development in a project that popped into your head and excites you. If you are using this project to learn something about a different concept of programming, make sure that you choose a library that doesn't take away from you being able to learn that concept for convenience or your efforts will be stunted. On the flip-side you may want to use such a library if the code is open source to see how they have implemented it. It is still best to try your hand at your new project without the assisting code before hand.

    Well there is my buck and a quarter. (inflation)
    Jason McMillen
    Pascal Game Development
    Co-Founder





  10. #10
    Quote Originally Posted by WILL View Post
    Starting in on making games and working with graphics, I'd stay away from "engines" as they will teach you very little, or nothing at all about how the code needed works. An engine is designed to do all the work for you, which is great if it is designed well(fast and memory efficient) however when learning you need to code these things for yourself and be able to play with them to understand how this code effects performance and the effects generated by what you have put into the functions you wrote. Engines eliminate this for you as a convenience which makes them better suited to more experienced developers who want to cut time from a project than have to do what they already have done before and know well.

    As a first library you want to pick one that will give you the most control over your code. You ware looking for low-level functionality of the code yet simple enough so as to not make the learning process tedious. SDL based libraries, such as JEDI-SDL are great for this. There are some libraries or alternately called "frameworks" that go more towards the engine ideaology, but you want to avoid these too for now. They serve the best of both worlds, yet they still are designed to take away from those things you want to learn at the beginning.

    After you have done the basics with a good starter library you may want to move onto something (engine, framework, library) that will help speed development in a project that popped into your head and excites you. If you are using this project to learn something about a different concept of programming, make sure that you choose a library that doesn't take away from you being able to learn that concept for convenience or your efforts will be stunted. On the flip-side you may want to use such a library if the code is open source to see how they have implemented it. It is still best to try your hand at your new project without the assisting code before hand.

    Well there is my buck and a quarter. (inflation)
    Thanks for the advice. Learning is a step-by-step process (this is not an industrial secret), and I'm commited to go all the way from basics, then I'll embrace a 3th party framework or mine if I'll ever make one (chances are high).

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •