Well, MegaTen more generally, as my first videogame I've ever played(the one on an us GB), and actually, I'm working for Ghostlight who is the editor which released more or less ALL MegaTens in Europe
Well, worked is a pretty big word actuially
It was just vocationnal training, like 7 weeks at the end of "university".
Basiclly I did it at Ubisoft, turned out I worked with him an afternoon, well, I didn't really do anything (well, fixed a minor bug o/ ), but I could talk with him and see him code a bit, that was pretty much all, but yeah it was for From Dust
Well hello there, this is me beachbum, figured this was as good of a place to peek my head out, and yes I do plan on using this great light little engine to make something fun.
Hi boxjar and welcome here The more you know it, the more you like it. And don't hesitate to ask any kind of questions, if you need any kind of help then someone is always here to help you out.
Hi everybody!
I've being checking ORX for a few days and I like it a lot I hope I get to use it in my next game, but I'll have to test it a bit more since my team is in a hurry and we need a smooth and fast developing cycle...
I'm glad you like what you've seen so far. If you have any questions that would help you doing a faster integration (or any questions at all, really), don't hesitate!
I am Gemberkoekje, and I'm still a student for a month or so XD
I'm from Holland, and I'm a (game) programmer. I've done a lot in C++, but I've also worked in enough other languages not to be daunted by new languages.
I've studied at the International Game Architecture and Design course at the NHTV, in Breda, the Netherlands, and there I've learned mostly to program games, but also design games, narratology, and of course general programming.
I enjoy prototyping, preferrably in 2D, and I've specialized in creating tools. Not that I've created really interesting tools just yet, but I know a thing or 2 about GUIs.
Most of my newer projects are in CinderLib (http://www.libcinder.org), a simple 3D library for prototyping I really like for it's simplicity. However, as there are some problems when porting to IOS, another thing I would like to do in the future, I'm looking for another library, and as I'm mostly working on 2D stuff (as you can see on my youtube channel) I decided to see what I can do in this thing.
I'm sure I've bored everyone to death now, but I hope to show you a thing or 2 in a few weeks or so, in Orx.
I've never tried Cinder myself but I remember stumbling upon it a few months ago.
I'm looking forward to seeing what you'll be making with orx in the future. Meanwhile, needless to say it as you've already posted in other parts of the forum, but don't hesitate if you have any questions.
What a wonderful engine and what a wonderful community
I've gone through Grey's tutorials and they work very smoothly, nice work. (Is this a proper place to point a minor issue BTW? I think his "orxObject_Delete( PickedObject );" needs to be replaced with "orxObject_SetLifeTime( PickedObject, orxFLOAT_0 );")
I'm working on two (Both 2D) hobby game projects right now. They also have a possible commercial prospect. One of them is a heavily physics based game (current state: http://pancarsoft.com/physics.zip) , and the other is a time-travel oriented game with a camera angle similar to Dungeons of Dredmor (current state: http://pancarsoft.com/ttproto.zip, needs MSVC 2010 redist).
If you trust me that they don't contain horrible viruses and try them out, you'll see that they're at a very early stage and they're both SDL based. I like SDL, but it's very bare-bones. It's also not that portable to the mobile phones (which I want).
That's why I ended up searching for a nice 2D game engine and ORX really seems like my final stop I'm curious about one thing though, before I dig deeply into the forum, the documentation and even the code itself, is it simple (or the intended use) to use low-level ORX services, like loading textures and getting OpenGL to draw them or simply the animation subsystem, without adhering to the framework? I mean, f.x., do I have to create an object just to draw a texture, or can I simply call some draw function?
Most people (including myself) would probably recommend that you make an object to draw a texture. If you really want to do it yourself, I forgot how to do it but I know it's possible (you have to catch some kind of event and call some weird function...)
ORX is pretty strict on using objects, and I can advise you to really do use those objects for drawing, it saves a lot of trouble.
I've been using CinderLib (http://www.LibCinder.org) for some of my own (2D) projects, I think what you want right now you may find quicker in Cinder. However, if you're willing to take a little longer fiddling with the objects of ORX, the extra functionality and ease-of-use is worth it.
I don't mind fiddling with objects, but is it flexible enough for any 2D drawing purpose? For instance, in my physics engine, I have deformable objects, so those objects are defined by a collection of many triangles mapped to texture coordinates at each corner. Am I right to assume that the ORX object model is around rectangles, or am I horribly wrong?
Well, for Cinder I know for a fact that that's possible, i've done it myself. For ORX, you're best off waiting for iarwain, he's the chief bitwizard around here, and the guy who made the framework.
Hmm, I wonder why I didn't receive a notification for your reply.
I hadn't heard of Cinder, really, that's probably because I always had Linux and Android portability in mind. They don't support them, do they? It still looks interesting though. From a commercial point of view, why would you care about Linux and Android I suppose, on the other hand, I don't feel good when my code doesn't run on these open platforms.
I'll reply here but don't hesitate to create a new topic if you have any questions, it'll be easier for other people to find it if they have similar inquiries.
So yes, orx is heavily object-oriented and a lot of effort has been made to make that model both convenient with very little code to write (using extensively the config system) and efficient (batching of updates, etc...)
You're also right about the default display model: rectangle are used for displaying objects, with the optional possibility of applying custom fragment shaders per object.
You also have access to the full underlying API, including low level render/display calls and, even lower level, OpenGL/OpenGL ES, depending on the target platform.
Instead of writing the whole rendering code from scratch amid your update loop, I'd suggest using a regular object (either placed in the world or as a child of the camera, for example) and replace its default rendering.
To do so, you need to listen to the events of type orxEVENT_TYPE_RENDER. For each object, you'll get notified of orxRENDER_EVENT_OBJECT_START. When handling that event you can then issue all your own rendering commands using OpenGL or orxDisplay, depending on your needs and then return orxSTATUS_FAILURE which will notify orx that you do not want the default rendering for this object.
A small caveat: don't forget to backup/push all the OpenGL states you're going to modify and restore/pop them afterwards or all hell is going to break loose.
If you have any troubles, let me know as they aren't many examples around but I know of a few people having done it in the past for either custom UI rendering or special rendering (like a spline-shaped object or tiled background).
It's a thin C++ layer built on top of orx that brings a few interesting features (such as an integrated level editor, C++ class-orx object bindings, convenience wrapper including ScrollObject::OnRender() that makes the whole custom rendering easier to integrate than listening to an event).
Lastly (damn sorry for the spam!) I'd recommend using the svn version of orx and not the precompiled packages available for download as they're getting very very old.
Orx compiles out of the box on all platforms. Simply choose the "embedded dynamic" configurations (debug, release and profile).
Thanks again for this nice library in general, and specifically for the answer.
That's way more input than I can handle at 11:50pm on a weekday I'll do the proper digging tomorrow. Scroll sounds very interesting, as does the access to the low-level API when needed.
I'll start a dedicated thread in the help section if I have any further questions related to this, and I'll try to submit back if I end up having an example worth sharing. I'd really appreciate a quick answer while you're around though When you say OpenGL/OpenGL ES drawing, how do I access the OpenGL functions in ORX, should I just include gl.h? Is there a way to keep this platform independent, or should I suffer the #ifdef's if I want that much freedom? If the answer's going to be much longer than yes/no, please tell me, so I can do this properly in a dedicated thread as soon as possible.
Thanks for the tip about svn, I had to do it anyway, since my stupid anti-virus (McAfee) kept thinking that the pre-compiled orx.exe contained a virus and deleting it. Instead of meddling with it, I've simply compiled from source.
As for the OGL includes I'm afraid you'll have to suffer through #ifdefs for now.
But depending on your needs, if you simply want to generically push vertices+attributes for an object I can probably wrap this on the orxDisplay API itself at some point.
Thanks for the tip about svn, I had to do it anyway, since my stupid anti-virus (McAfee) kept thinking that the pre-compiled orx.exe contained a virus and deleting it. Instead of meddling with it, I've simply compiled from source.
That was the best call on your end, for sure.
I compressed all the exe in the packages aggressively with upx and that triggers alarm for about 40% of the antivirus out there. Last time I do that to save some kb.
I'm afraid you'll have to suffer through #ifdefs for now.
I guess that's OK,
iarwain wrote:
But depending on your needs, if you simply want to generically push vertices+attributes for an object I can probably wrap this on the orxDisplay API itself at some point.
but this would be awesome! I've also browsed the forum a bit, and I can see that it would make a few more people happy too
After days of trying different Game engines I'm ennding up on ORX with my friend Numael.
We certainly will work on common projects while fully motivated for creating mobile games!
Hello!
I decided to join in this great community of awesome game engine. That's what I searched for few years!
Until this moment I used ZenGL game engine. (Writen in pascal, but all my main code I write in Object Pascal (FPC))
Some days ago I decided to find something, that will help me to make game prototypes very fast, and I find ORX. For now, of course, I developing my big project with ZenGL, but next My creation I plan to make with ORX .
Sorry for my bad English, I am from Ukraine, 17 years old. :P
Heh, so... There is my first noob question. About coordinates.
How to change center of coordinatescamera... So. I have A screen with main camera. When i create a object "OBJ1" with pos 0;0 it apears in center of screen. Ok. I need this. I'll create a OBJ2 as a child of OBJ1. It apears in center of OBJ1. But what if I need to place it in top left corner of OBJ1. Yes, I can always write -0.5 ; -0.5 pos, but it is not comfortable for me. So, how I can change a center of coordinates ?
Hey, good to see you asking. Its always better to start a new thread while asking help for a particular thing. Anyway, I am answering it, you have to set Pivot for you graphic object. Where you define your Texture for your object. For your need you have to set it the following way, if you are creating an object named MyObject, then
[MyObject]
Graphic = MyGraphic
[MyGraphic]
Pivot = top | left
Pivot value is default to center, but you can set it to any of bottom,left,right,top or mix of any two, e.g. bottom | left or bottom | right etc.
Been following Orx on the sidelines for the last 1-2 years. Recently started digging into it a bit more. Checked out the repository so I can always build the latest version. Currently going through the tutorials to familiarize myself with the basic usage.
Going to use Orx for some personal one-man projects re: procedural sound (synthesis) and music in games. Orx seems to be well-written and designed. I'm looking forward to playing around with it, and I hope I can get some help here when running into problems.
First of all, thank you for your kind appreciation so far.
The tutorials have been clearly lagging compared to the new features that have been added over the last couple of years. If you have any questions, don't hesitate, I'm sure there'll always be someone here to answer in a timely manner.
As for procedural sound synthesis, that reminds me that I have a WIP project of simple 8bit-oriented synthesizer based on orx that is doing synthesis/FXs in real time modifying packets on the fly when they're sent to OpenAL.
I should probably find the time to write something about that feature one day.
What a lovely little community this is. I've been lurking for a short while and I love how helpful and friendly everyone is here. Haven't had a chance to sink my teeth into orx yet, but I plan to start making games with it very soon.
Comments
So you've worked with Éric Chahi? Nice! On which project was it, From Dust or something older?
As usual, if you have any questions, don't hesitate, there should always be someone around to answer them.
It was just vocationnal training, like 7 weeks at the end of "university".
Basiclly I did it at Ubisoft, turned out I worked with him an afternoon, well, I didn't really do anything (well, fixed a minor bug o/ ), but I could talk with him and see him code a bit, that was pretty much all, but yeah it was for From Dust
As Iarwain said, any questions, feel free to ask, I and others are always happy to help answer any!
Nothing much I can add to what have been said beside welcoming you here myself too!
Btw, your avatar, is that from your game?
As said many times above in this thread, don't hesitate to ask questions if you have any!
I've being checking ORX for a few days and I like it a lot I hope I get to use it in my next game, but I'll have to test it a bit more since my team is in a hurry and we need a smooth and fast developing cycle...
Thanks and Congrats to the people behind ORX!
I'm glad you like what you've seen so far. If you have any questions that would help you doing a faster integration (or any questions at all, really), don't hesitate!
Thanks for the kind words, btw!
I try to search for the answers in the forum and the tutorials first, but as you have seen I've already start asking hehehe
I should introduce myself.
I am Gemberkoekje, and I'm still a student for a month or so XD
I'm from Holland, and I'm a (game) programmer. I've done a lot in C++, but I've also worked in enough other languages not to be daunted by new languages.
I've studied at the International Game Architecture and Design course at the NHTV, in Breda, the Netherlands, and there I've learned mostly to program games, but also design games, narratology, and of course general programming.
I enjoy prototyping, preferrably in 2D, and I've specialized in creating tools. Not that I've created really interesting tools just yet, but I know a thing or 2 about GUIs.
Anyway, there are a number of my projects on the web:
My older projects here: http://gemblog.nl/?page=projects
And my newer projects: http://www.youtube.com/user/gemberkoekje/videos
Most of my newer projects are in CinderLib (http://www.libcinder.org), a simple 3D library for prototyping I really like for it's simplicity. However, as there are some problems when porting to IOS, another thing I would like to do in the future, I'm looking for another library, and as I'm mostly working on 2D stuff (as you can see on my youtube channel) I decided to see what I can do in this thing.
I'm sure I've bored everyone to death now, but I hope to show you a thing or 2 in a few weeks or so, in Orx.
I've never tried Cinder myself but I remember stumbling upon it a few months ago.
I'm looking forward to seeing what you'll be making with orx in the future. Meanwhile, needless to say it as you've already posted in other parts of the forum, but don't hesitate if you have any questions.
What a wonderful engine and what a wonderful community
I've gone through Grey's tutorials and they work very smoothly, nice work. (Is this a proper place to point a minor issue BTW? I think his "orxObject_Delete( PickedObject );" needs to be replaced with "orxObject_SetLifeTime( PickedObject, orxFLOAT_0 );")
I'm working on two (Both 2D) hobby game projects right now. They also have a possible commercial prospect. One of them is a heavily physics based game (current state: http://pancarsoft.com/physics.zip) , and the other is a time-travel oriented game with a camera angle similar to Dungeons of Dredmor (current state: http://pancarsoft.com/ttproto.zip, needs MSVC 2010 redist).
If you trust me that they don't contain horrible viruses and try them out, you'll see that they're at a very early stage and they're both SDL based. I like SDL, but it's very bare-bones. It's also not that portable to the mobile phones (which I want).
That's why I ended up searching for a nice 2D game engine and ORX really seems like my final stop I'm curious about one thing though, before I dig deeply into the forum, the documentation and even the code itself, is it simple (or the intended use) to use low-level ORX services, like loading textures and getting OpenGL to draw them or simply the animation subsystem, without adhering to the framework? I mean, f.x., do I have to create an object just to draw a texture, or can I simply call some draw function?
Thanks a lot for ORX
[EDIT by iarwain: Fixed the ttproto link.]
ORX is pretty strict on using objects, and I can advise you to really do use those objects for drawing, it saves a lot of trouble.
I've been using CinderLib (http://www.LibCinder.org) for some of my own (2D) projects, I think what you want right now you may find quicker in Cinder. However, if you're willing to take a little longer fiddling with the objects of ORX, the extra functionality and ease-of-use is worth it.
Video done in Cinder:
http://www.youtube.com/user/gemberkoekje/videos
I don't mind fiddling with objects, but is it flexible enough for any 2D drawing purpose? For instance, in my physics engine, I have deformable objects, so those objects are defined by a collection of many triangles mapped to texture coordinates at each corner. Am I right to assume that the ORX object model is around rectangles, or am I horribly wrong?
I hadn't heard of Cinder, really, that's probably because I always had Linux and Android portability in mind. They don't support them, do they? It still looks interesting though. From a commercial point of view, why would you care about Linux and Android I suppose, on the other hand, I don't feel good when my code doesn't run on these open platforms.
Looking forward to hearing from iarwain.
I'll reply here but don't hesitate to create a new topic if you have any questions, it'll be easier for other people to find it if they have similar inquiries.
So yes, orx is heavily object-oriented and a lot of effort has been made to make that model both convenient with very little code to write (using extensively the config system) and efficient (batching of updates, etc...)
You're also right about the default display model: rectangle are used for displaying objects, with the optional possibility of applying custom fragment shaders per object.
You also have access to the full underlying API, including low level render/display calls and, even lower level, OpenGL/OpenGL ES, depending on the target platform.
Instead of writing the whole rendering code from scratch amid your update loop, I'd suggest using a regular object (either placed in the world or as a child of the camera, for example) and replace its default rendering.
To do so, you need to listen to the events of type orxEVENT_TYPE_RENDER. For each object, you'll get notified of orxRENDER_EVENT_OBJECT_START. When handling that event you can then issue all your own rendering commands using OpenGL or orxDisplay, depending on your needs and then return orxSTATUS_FAILURE which will notify orx that you do not want the default rendering for this object.
A small caveat: don't forget to backup/push all the OpenGL states you're going to modify and restore/pop them afterwards or all hell is going to break loose.
If you have any troubles, let me know as they aren't many examples around but I know of a few people having done it in the past for either custom UI rendering or special rendering (like a spline-shaped object or tiled background).
If you need to do compositing, orx supports it natively and there's a small example here: http://bitbucket.org/iarwain/compositing / http://orx-project.org/wiki/en/orx/tutorials/community/iarwain/compositing
Hope this helps!
It's a thin C++ layer built on top of orx that brings a few interesting features (such as an integrated level editor, C++ class-orx object bindings, convenience wrapper including ScrollObject::OnRender() that makes the whole custom rendering easier to integrate than listening to an event).
You can find more info in the wiki, in a tutorial section written by acksys: http://orx-project.org/wiki/en/orx/tutorials/community/acksys
Orx compiles out of the box on all platforms. Simply choose the "embedded dynamic" configurations (debug, release and profile).
Thanks again for this nice library in general, and specifically for the answer.
That's way more input than I can handle at 11:50pm on a weekday I'll do the proper digging tomorrow. Scroll sounds very interesting, as does the access to the low-level API when needed.
I'll start a dedicated thread in the help section if I have any further questions related to this, and I'll try to submit back if I end up having an example worth sharing. I'd really appreciate a quick answer while you're around though When you say OpenGL/OpenGL ES drawing, how do I access the OpenGL functions in ORX, should I just include gl.h? Is there a way to keep this platform independent, or should I suffer the #ifdef's if I want that much freedom? If the answer's going to be much longer than yes/no, please tell me, so I can do this properly in a dedicated thread as soon as possible.
Cheers
Thanks for your appreciation of orx!
As for the OGL includes I'm afraid you'll have to suffer through #ifdefs for now.
But depending on your needs, if you simply want to generically push vertices+attributes for an object I can probably wrap this on the orxDisplay API itself at some point.
Have a good night!
That was the best call on your end, for sure.
I compressed all the exe in the packages aggressively with upx and that triggers alarm for about 40% of the antivirus out there. Last time I do that to save some kb.
I guess that's OK,
iarwain wrote:
but this would be awesome! I've also browsed the forum a bit, and I can see that it would make a few more people happy too
Good night!
After days of trying different Game engines I'm ennding up on ORX with my friend Numael.
We certainly will work on common projects while fully motivated for creating mobile games!
Cya
As we've already told Numael don't hesitate if you have any questions.
I decided to join in this great community of awesome game engine. That's what I searched for few years!
Until this moment I used ZenGL game engine. (Writen in pascal, but all my main code I write in Object Pascal (FPC))
Some days ago I decided to find something, that will help me to make game prototypes very fast, and I find ORX. For now, of course, I developing my big project with ZenGL, but next My creation I plan to make with ORX .
Sorry for my bad English, I am from Ukraine, 17 years old. :P
How to change center of coordinatescamera... So. I have A screen with main camera. When i create a object "OBJ1" with pos 0;0 it apears in center of screen. Ok. I need this. I'll create a OBJ2 as a child of OBJ1. It apears in center of OBJ1. But what if I need to place it in top left corner of OBJ1. Yes, I can always write -0.5 ; -0.5 pos, but it is not comfortable for me. So, how I can change a center of coordinates ?
Pivot value is default to center, but you can set it to any of bottom,left,right,top or mix of any two, e.g. bottom | left or bottom | right etc.
Thanks for opening another thread, I'm going to chime in there.
Been following Orx on the sidelines for the last 1-2 years. Recently started digging into it a bit more. Checked out the repository so I can always build the latest version. Currently going through the tutorials to familiarize myself with the basic usage.
Going to use Orx for some personal one-man projects re: procedural sound (synthesis) and music in games. Orx seems to be well-written and designed. I'm looking forward to playing around with it, and I hope I can get some help here when running into problems.
/ LG
First of all, thank you for your kind appreciation so far.
The tutorials have been clearly lagging compared to the new features that have been added over the last couple of years. If you have any questions, don't hesitate, I'm sure there'll always be someone here to answer in a timely manner.
As for procedural sound synthesis, that reminds me that I have a WIP project of simple 8bit-oriented synthesizer based on orx that is doing synthesis/FXs in real time modifying packets on the fly when they're sent to OpenAL.
I should probably find the time to write something about that feature one day.
Cheers!