6 registered members (AndrewAMD, Ayumi, degenerate_762, 7th_zorro, VoroneTZ, HoopyDerFrood),
1,268
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: iSDGE (an Open Source iPhone Game Engine)
[Re: Pappenheimer]
#321242
04/27/10 18:47
04/27/10 18:47
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
OP
Expert
|
OP
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Thanks for your interest The api will really get a bit similar to gamestudios, with smaller and bigger differences. Which means that I will create something like those events in unity or also shiva and probably many other engines, as that is easy to create and works well to set and update entity behaviour. You currently there is only an object class, which is just for the rendering and will be part of an entity class later on, but to create a new one, you just have to call any objects createObject(filename) function and it will return you a new object, which is freed auomatically if you don´t destroy it calling destroy before game exit. The position can be changed by changing the position elements x, y and z values and so on. An object consists of one or more meshs and a material for each mesh. A mesh is just a collection of vertices and is usually loaded from a model file. A material has all kind of parameters, can handle one or more textures and can have a shader. Shaders are provided with the material data if you use the predefined variable names in a shader. Materials also allow to register custom variables for a shader, which you have to allocate yourself, but will be freed automatically. Textures and shaders are shared between materials and materials and meshs are shared between objects, but especially materials can of course be cloned. For 2D, there is a panel class, which is basicly just a container with addImage and addText functions, so that the images and text objects are rendered in the order they were created (I will also add some functionality to change the order of course). As the .3ds file format doesn´t really seem to support bones animations, I am currently writing some collada importer. Very minimalistic for now, but it is most probably going to be the file format for everything. The whole stuff is written in Objective-C++, I am trying to keep the Objective part out, but did some mistakes, which shouldn´t be very hard to correct and which I most probably will correct in the future, even though I doubt that the engine will be used for another platform than the iphone, I want to keep the possibility open and basicly have some wrappers around the iphone specific stuff. That means that many parts are platform independant, or at least as far as OpenGl ES is platform independant, but for iPhone dev you need a mac in any case, and at the current state of the engine anyways.
|
|
|
Re: iSDGE (an Open Source iPhone Game Engine)
[Re: Slin]
#321329
04/28/10 10:09
04/28/10 10:09
|
Joined: Sep 2003
Posts: 5,900 Bielefeld, Germany
Pappenheimer
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
|
... even though I doubt that the engine will be used for another platform than the iphone, I want to keep the possibility open and basicly have some wrappers around the iphone specific stuff. Is android too different? As the .3ds file format doesn´t really seem to support bones animations, I am currently writing some collada importer. Very minimalistic for now, but it is most probably going to be the file format for everything. Is bones animation really important, it requires quite a lot of performance(doesn't it?), and a few years ago vertex animation was sufficiant for pc, too.
|
|
|
Re: iSDGE (an Open Source iPhone Game Engine)
[Re: Pappenheimer]
#321391
04/28/10 20:28
04/28/10 20:28
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
OP
Expert
|
OP
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
I am not sure about the different mobile platforms and as long as they use opengl for rendering and offer a possibility to compile c++ code for them, big parts of my "engine" should work with them, after some small adjustements, as I wrote before. The only bigger (also not really) problem would be my xml parsing. My internet is slow, so that already is a reason to use bone animation instead of vertex animations. But as the polygon count is very restricted, that most probably wouldn´t be a problem, but also means that bone animations aren´t much behind in terms of performence. For now I want bones, but I may add a possibility for vertex animations as well, if bones turn out to not be very suited. Yesterday I worked the whole day on trying to import a collada file and gave up on loading the texcoords correctly somewhen today... I now wrote a converter using assimp to an own xml based format. That means, that I will provide a simple command line tool to convert all kind of file formats to the one of my engine. It also doesn´t have animations yet, but converting files and loading them already works well. I will now go on with the animation part finally .
|
|
|
Re: iSDGE (an Open Source iPhone Game Engine)
[Re: Slin]
#321838
05/02/10 19:48
05/02/10 19:48
|
Joined: Oct 2007
Posts: 5,210 Ä°stanbul, Turkey
Quad
Senior Expert
|
Senior Expert
Joined: Oct 2007
Posts: 5,210
Ä°stanbul, Turkey
|
is this all in objective-c? any chance for an android port?
3333333333
|
|
|
Re: iSDGE (an Open Source iPhone Game Engine)
[Re: Quad]
#321846
05/02/10 20:23
05/02/10 20:23
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
OP
Expert
|
OP
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Most parts are written in C++, the only xcode specific stuff I stupidly used everywhere is the #import semantic instead of include. The only Objective-C code is my view class, which is anyways very os specific (on windows, that is the part of creating the window and initializing the draw surface and handling events like touches on the iphone). There are also a few lines of objective-c to get the path of a file on the device and the whole file parsing uses an objective-c specific xml parser, but that should may be changed to tinyxml (only thing keeping me away from doing so is its licence, as it is a bit more restricted than MIT, even though I should may anyways change to that license as well...) or something. So it should be doable without many problems, but I don´t own an android phone and I also have no experience with developing for it . Edit 1: I just had a quick look at the android website and found out that it only supports OpenGL ES 1.0 and only partly 1.1, which could mean that one also has to write another renderer, as so far I have only something for OpenGL ES 1.1 and 2.0. But that also shouldn´t be hard. Edit 2: Not completely right There is also the NDK, which other than the SDK doesn´t have to be written in java, which would have been another problem, but which only supports OpenGL ES 1.1 and 2.0, so that it would fit again. But as you see, I am not into android at all.
Last edited by Slin; 05/02/10 20:39.
|
|
|
|