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

Author Topic: ParabolaEngine - 2D Game Framework  (Read 17178 times)

0 Members and 1 Guest are viewing this topic.

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #15 on: March 30, 2011, 09:01:20 pm »
Time is short, i hadnt much time to work these days, university exams and stuff :)

Still, from what ive been able to do, the engine is getting better gradually.

The way of using the engine is now a little improved. The engine works as a game environment, where multiple games are easily plugged in, run parallel, and changing between the active game, like the windows explorer, somehow

I think this design is clean enough, and promotes an object-oriented design when you make games :)

Something like this would make that engine environment run:
Code: [Select]
ParabolaEngine *Engine = new ParabolaEngine(argc, argv);
Engine->InitializeEngine()

while(Engine->Running()){
Engine->UpdateCore();
}

Engine->Shutdown();
return 0;


Then, you would need to add a game with a line such as:
Code: [Select]
Engine->GetGameManager()->AddGame(Game, true, true);

...where Game is an object from the user's class inheriting from GameCore. That class already provides draw callbacks, update callbacks, event handling and more :)

The environment will be fetching the events directly, and dispatching them to running games, making them update in a fixed step, while allowing arbitrary FPS for drawing :)

More news soon, there is more things to say :)

heishe, if you are interested in using the engine, why not add me in msn, i will use all information from you to improve the engine, and make a better release, while allowing you to begin using it right away(or almost) :)

gsaurus

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
    • Evolution Engine
ParabolaEngine - 2D Game Framework
« Reply #16 on: April 01, 2011, 10:01:27 am »
This is looking good.
I have planned an engine a bit like that myself, but didn't had the opportunity to start it yet. I will definitely have a look at your code sometime and consider using it and eventually contribute.

Good work!
Pluma - Plug-in Management Framework

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #17 on: October 16, 2011, 01:16:45 am »
Bump, check first post please! :)

heishe

  • Full Member
  • ***
  • Posts: 121
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #18 on: October 17, 2011, 09:55:47 pm »
I can't find anything new in the first post, what's going on? :_)

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #19 on: October 18, 2011, 01:19:15 am »
What do you mean? its completely different : )

Anyway, i am developing the engine actively, trying to fix stuff and improve the rest. The current package available has a lot of things working, but it is in a state for testing features, discussing its design and building demonstrations, rather than already make full games.

I will keep working and publishing new releases, specially if someone is taking a look at it! I know it is not mature yet, but a part of it becoming that is exactly a community to help out :)

Thanks anyway, for the support :)

sbroadfoot90

  • Jr. Member
  • **
  • Posts: 77
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #20 on: October 18, 2011, 02:22:27 am »
Why not open source? Can you compile for mac?

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #21 on: October 18, 2011, 10:32:55 am »
It will be open-source my friend, i just packed the minimum this time :)

It is not tested for mac at all right now, i dont have the means to do that yet, but im sure it can be made with a few changes, all libraries are cross-platform, if im not mistaken :)

sbroadfoot90

  • Jr. Member
  • **
  • Posts: 77
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #22 on: October 18, 2011, 11:29:11 am »
Excellent, I was just making a game engine because I couldn't find anything I liked. However, your library looks quite promising and will save me a lot of effort (I'm just a hobbyist and really don't have too much time to spend on developing stuffs :) ). Will you put it on github? downloading archive from mediafire made me a sad panda.

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #23 on: October 18, 2011, 11:52:48 am »
I will definitely put it in github, as soon as i can, just need to learn a little how to manage it :)

Regarding the previous issue, i will only be able to support Windows for now, but i don't have a problem with fixing the code wherever it needs to, so someone can do the mac build properly.

I am at the moment working in the level editor for the side-view maps, part of the engine's toolset. Building up feature by feature.

MrHello

  • Newbie
  • *
  • Posts: 4
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #24 on: October 18, 2011, 12:02:15 pm »
Can I ask, how did you handle your series of objects within the engine. Such as derived types?

I assume you used a pointer array (which is how I did it in my engine), to a pre-created list of objects, which get put into an "activeArray" pointer array, rather than using new or delete.

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #25 on: October 18, 2011, 12:21:09 pm »
As for the game logic stuff, it is designed to be all kept in a scene graph.

Every object of your game can and should be integrated in the scene graph, either as a proper node, or as a node's member variable.

This way, you keep a high level of flexibility and logic,and when something needs to be closed, when nothing is using it anymore, it will be able to destroy itself, with custom destruction code for your nodes.

For example, you have your game like this:

SceneRoot -> CustomNodeToHoldStuff
                -> WorldMap1 -> Layer1
                                     -> Layer2

There are nodes which have a clear purpose, while you can create other nodes that you use as placeholders for organization purposes.

An example of employing the power of such structure.. Imagine that WorldMap1 is a full featured side view map, with physics and so on, it is normally rendered full screen (as the default sfml view). If you suddenly feel like you want your map rendered in a little frame somewhere in your screen, you just add a SceneCamera configured for that frame, as the WorldMap1 parent, and it imediatly becomes affected, so that all children to the camera suffer from that view, and then it returns back to the previous view.

This concepts are still under progress, the engine base is there, but now I need to prove the design i have planned with demonstrations etc, improving along the way, and even adding stuff (not all of this is 100% working yet)

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
ParabolaEngine - 2D Game Framework
« Reply #26 on: October 30, 2011, 04:42:12 pm »
Hello,

I've compiled a little sample showing Kinesis in action, the physics system on top of Box2D, natively implemented in ParabolaEngine.

http://www.mediafire.com/?p9ct4sa8ycpqp39

Not a big deal, but should be fun to play with and give you a little taste of what can be done in the engine :)

Press R to spawn a randomly sized circle or box at the mouse position. You can drag the objects with the mouse.

Feedback always appreciated :)