Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Game Engine  RSS feed

 
Will Ashton
Greenhorn
Posts: 27
Firefox Browser Java Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello programmers,

I recently thought of making a larger game, than the ones I used to make before. To speed up development I wanted to use an Game Engine, but had to discover, that I have no idea of Engines and this kind of stuff at all. I don't even know, what an Engine exactly is.

"A game engine is a software framework designed for the creation and development of video games" -from Wikipedia-

How does this look like in real life? Is it a code library? Or a development environment like NetBeans, just for a special kind of game? I don't have the slightest idea, can anybody help me out with these basic questions?
Furthermore I would be interested either in tutorials how to write a game engine (in Java) or a good Freeware/OpenSource engine, which is suited for beginners. Google showed me libGDX, is this something I could take into consideration for making a Sidescroller?

Thank you for reading
 
Mich Robinson
Ranch Hand
Posts: 260
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I haven't tried any but these are the ones I know about:
  • Ardor3D
  • Java3D
  • LWJGL
  • JInput
  • jMonkeyEngine
  • jPCT
  • PulpCore
  • Slick2D
  • Xith3D

  • There's probably loads more. If you search for each one followed by the word tutorial it might give you an idea.

    Mike
     
    Chris Barrett
    Bartender
    Posts: 321
    24
    Eclipse IDE Firefox Browser
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Hi Will,

    Will Ashton wrote:Is it a code library? Or a development environment like NetBeans, just for a special kind of game?

    A Game Engine is both of those things and a lot more. Warning - generalizations a head:

    A typical IDE will allow you to program in multiple languages. For example, Eclipse can handle Java, C++, PHP, HTML, CSS, XML and others. An IDE will allow you to create many different types of programs. Again, using Eclipse, we can create simple Java programs, GUI interfaces in Swing, Servlets, JSP/JSF pages, etc...
    A Game Engine, however, is going to support only a few languages. All of it's development effort is going to be game centric. You won't be able to create a Servlet in a Game Engine, but the Game Engine will have a much more extensive library of methods and Classes specifically designed to speed up game development. A Game Engine will often have the ability to compile code for multiple platforms (PS4, Xbox, Mac, PC, HTML, etc..) - all from the same source code. If you have ever thought about converting a Swing Java program into Android Java, you know how hard that can be in a traditional IDE. With a Game Engine, it's single click.

    In Game Engines, most of the setup is done through drag and dropping of predefined Classes. Often, this means there is very little actual coding (and one of the reasons it can generate output for multiple platforms). I did this last week from Unity's first tutorial: http://chris-barrett.ca/unity/space_shooter/space_shooter.html I think the actual raw code I wrote was about 50 lines. Took about 8 hours, with most of that time being spent understanding how things like Light objects throw shadows, the interface, and the different syntax between Java and C#.

    Now, Unity only allows an input language of JavaScript or C#. One of the reasons I tried Unity was I wanted to get an understanding of the differences between Java and C#. I encourage you to check out the list Mich provided if you prefer Java, but you can also get some great value out of the Unity tutorials. In particular, if you are new to OOP design, they do a great job of explaining class structures: http://unity3d.com/learn/tutorials/modules

    Publicly available Game Engines, such as Unity or the ones Mich outlined, won't be tied to a particular game type. However, in big game companies, more specialized Game Engines will be developed n-house. Writing a Game Engine is a massive undertaking, as behind the scenes Game Engines are also converting code into the OpenGL or DirectX languages.

    Cheers!
    Chris
     
    Chris Barrett
    Bartender
    Posts: 321
    24
    Eclipse IDE Firefox Browser
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Mich Robinson, welcome to the Ranch!
    Sorry, I sometimes still find the forum interface odd... The reply screen dropping message counts threw me. Sorry.
     
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!