Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Open Game Engine  (Read 7410 times)

0 Members and 1 Guest are viewing this topic.

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« on: June 10, 2010, 02:46:40 am »
Hey everyone, I'm here today to talk about a project I've been working on for a while! It is called the Open Game Engine, and is, as the name says, a game engine that is open-source.

It is a very simple system, in my opinion. You have a basic engine class, a template main function in the Engine that is called from the program's main function, a base object class for describing objects in your game, and much more!

The template main function in the engine is meant to be a simple game loop which uses the event system to update things like key states, calls the update and draw functions of each object, and draws the window. It is very WIP, so suggestions are required.

Tutorials will be coming soon, as well. Doxygen documentation is included, and it is licensed under the zlib/libpng license, like SFML. It requires SFML2 to build.

The Mercurial repository is located at Bitbucket.

The engine is designed to make the programming of the average game a little easier, so I will not be adding systems that are only used in certain kinds of games, such as an accurate, real-time physics engine. I will only provide features which the average game will find useful.

PLEASE make suggestions! I really want to improve this!
I use the latest build of SFML2

Lokk

  • Full Member
  • ***
  • Posts: 228
    • View Profile
    • http://betadineproject.wordpress.com/
Open Game Engine
« Reply #1 on: June 10, 2010, 07:26:33 am »
Ok, but a project is already called OGE, a game engine based on Ogre3D
(http://sourceforge.net/apps/mediawiki/oge/index.php?title=Main_Page)...

LoopStan

  • Newbie
  • *
  • Posts: 5
    • MSN Messenger - loopstan@hotmail.com
    • View Profile
    • http://north-see.com/eyrion
Can't compile
« Reply #2 on: June 28, 2010, 05:50:02 am »
I can't seem to compile it.
http://pastebin.com/ctd0AkY1
Those are the errors i get.

visual C++ express 2008
I have sfml 2.0 all hooked up correctly, is there anything i'm missing?

Edit:
After looking through everything, it seems to me that you have a pretty good start.  Everything looks like it should work, but I didn't build this so I don't know.  Good work and keep it up.

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« Reply #3 on: June 29, 2010, 05:32:58 am »
Thanks for your response.
I just uploaded a new version, v10.6.28, which features all bugs fixed (at least on my end), and a new callback-based level system. It will definitely require explaining, so I will record a video tutorial soon to try and explain it. I'm hoping no errors come up like with the old version of this engine.
I use the latest build of SFML2

Svenstaro

  • Full Member
  • ***
  • Posts: 222
    • View Profile
Open Game Engine
« Reply #4 on: June 29, 2010, 05:51:59 am »
A few notes:

Do I read that right? You have a fixed number of entities (100)?
It appears your are using const-correctness inconsistently or is that one purpose? It would be preferable to have explicit setters and getters.

When storing game objects, put them into a Boost.Ptr_vector/list. This has a bunch of advantages (read Boost docs) over storing just their pointers in a regular STL list or vector. Use Boost foreach to iterate over this list.

Your engine doesn't really do a lot right now.

It could use some direction and documentation.

Either be explicitly minimalist or do not reinvent the wheel. If you want the game engine to be awesome and grow, use pre-existing libraries and don't reinvent the wheel for your subsystems (SFML, Boost, Box2D, etc). If you want to be minimalist, make this your mission statement.

You will probably need an entity and event system.

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« Reply #5 on: June 29, 2010, 09:15:13 pm »
Quote from: "Svenstaro"
A few notes:

Do I read that right? You have a fixed number of entities (100)?
It appears your are using const-correctness inconsistently or is that one purpose? It would be preferable to have explicit setters and getters.

When storing game objects, put them into a Boost.Ptr_vector/list. This has a bunch of advantages (read Boost docs) over storing just their pointers in a regular STL list or vector. Use Boost foreach to iterate over this list.

Your engine doesn't really do a lot right now.

It could use some direction and documentation.

Either be explicitly minimalist or do not reinvent the wheel. If you want the game engine to be awesome and grow, use pre-existing libraries and don't reinvent the wheel for your subsystems (SFML, Boost, Box2D, etc). If you want to be minimalist, make this your mission statement.

You will probably need an entity and event system.
It is not a fixed number of entities, it is a fixed number of layers to contain entities. I will be adding a macro soon to allow the programmer to modify the number of layers.

The only const correctness inconsistency I see is with the GetWindow function in the Core, which was on purpose. Please point out any others you see, and I will fix them so it is consistent.

I have looked over the boost pointer container library, and I honestly don't see what it can contribute to this project. It just seems like another way to contain pointers to me, but if you think otherwise, you can explain why it is better to me.

I know it doesn't do a lot. It's still WIP.

I am currently working on a tutorial to show how to use the engine.

I just added a section explaining the goal of the engine and a general idea of what will/will not be added to the first post.

The entity system is already there. I will be adding more event functions to the objects soon.
I use the latest build of SFML2

Juanxo

  • Newbie
  • *
  • Posts: 21
    • View Profile
Open Game Engine
« Reply #6 on: June 30, 2010, 08:18:00 pm »
why you dont use a vector of lists for layers?

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« Reply #7 on: July 03, 2010, 02:11:03 am »
Quote from: "Juanxo"
why you dont use a vector of lists for layers?
Yes, the engine is going through some more changes that will hopefully simplify it. This will be one of the new features.
I use the latest build of SFML2

Kalnos

  • Newbie
  • *
  • Posts: 8
    • View Profile
Open Game Engine
« Reply #8 on: July 04, 2010, 06:01:46 am »
Have you considered making a template using resources class?

Just a suggestion.

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« Reply #9 on: July 09, 2010, 06:36:06 am »
Quote from: "Kalnos"
Have you considered making a template using resources class?

Just a suggestion.
I will definitely consider it.
I use the latest build of SFML2

OniLinkPlus

  • Hero Member
  • *****
  • Posts: 500
    • View Profile
Open Game Engine
« Reply #10 on: July 31, 2010, 08:18:52 am »
Sorry about the long delay between updates. Just wanted to check in saying that the next build is still a ways off. Let's just say what I'm doing is extremely tedious, but it will pay off in the end.
I use the latest build of SFML2