All purpose game engine possible?


Wrath Of Khan

Soul soother...
Joined
Dec 29, 2009
Messages
5,220
Age
46
Location
Ireland
What i was thinking was if we wanted to see some high quality 2d or some 3d games on the pandora a modifiable game engine could be made.


Basically instead of people just working on their own and thus not having the manpower would it be a good idea if a people formed teams.If a decent 3d engine and some useful software tools were made then anyone who wanted to make a game could use and modify the 3d engine.The game engines could be updated regularily with a core focus.This would maybe be a more efficient use of peoples time.Wouldnt this save alot of time in the long run.It would be interesting to see what the pandora was really capable of in terms of horsepower too.Would such a thing be possible. This was one of the strategies mentioned on the natami forum and it sounds sensible for a niche device.What do ye think? I don't have the skills so unfortunately i can only suggest ideas.
 
Last edited by a moderator:
The problem with everyone using the same game engine is games vary. A lot. What works well for a scrolling shooter can work terribly for a platformer, for instance.


Honestly, I think the reason not too many people use pre-made engines is because it's easier to just start each game from scratch (or a personal template) for each game.


A template is definitely a good thing to have, but I think it's easiest for each programmer to have his/her own, since we all have slightly different ways of doing things.
 
I have soon completed my 3D engine, that is a render system and an editor to model and animate content for that render system. My renderer is based on shaders though and I havent managed to compile it for Pandora yet... Without shaders I couldnt do normalmaps and only have a single lightsource produce shadows in a scene. I have yet to make a wavy water surface effect but that shouldnt be to hard, and my code is simplistic and small enough that most programming noobs hould be able to use it and modify some things themself, the most difficult stuff I would guess is the animation system and the texturing stuff in the editor, and that probably never have to be touched anyway. My collision detection system wich also remains to be programmed and tested is probably not good enough for any gametype, and that is the major thing as far as I can see, to make collision detection and possibly physics that suits a particular game design, the rendering part only does just that, render polygons, so that is same for all games.


My stuff isnt very proffesional obviously, the editor is pretty much a pain to use, you have to create polygons one at a time and there isnt any copy function, and textures and lots of things need to be entered manualy per polygon and all text entry and reading info goes through the terminal, and also it only runs on linux right now. I use SDL and GLEW only for editor plus renderer.


I plan to make commercial games with this now, but I wouldnt mind releasing the code and would love if people worked on it and mayby made stuff I could use also :p So I would need a license that forbids people from suing people who use their modifications if they even release them to public?


The renderer is heavy because I process multiple lights by drawing to textures, I dont think that would really work on Panda, that could either be changed to blend additive but personally I wouldnt do that, or by cutting down the amount of lightsources that can affect a single polygon to possibly even one. The rest should be ok.
 
I think an all purpose game engine is not feasible, it will be either no more specialised than the plain underlying library or just a huge nightmare... there's little point in having an engine that is at same time made for 2d games and for 3d including advanced physic system and all I'dd say.


the target people for this kind of engine would be the same as any gamemaker rather than real programmers
 
I dont think he meant a single engine to do both 2D and 3D games, a 2D engine should be simple and quick to do for many people I think. Advanced physics is something I dont know anything about, I would argue that many gametypes simply dont need any physics besides gravity wich is simple enough for anyone to do.


But you have a point in target audience, but then the question is if people can understand performance or not, if you can code some simple C programs that input/output text in a terminal that might be enough, without looking at my code here I cant think of any way someone could drag down the performance, unless they coded some physics that just wasnt good enough.


What doesnt come with my engine is physics and AI.
 
Well look at that: http://www.pandorawi...ts#Game_Engines


Reading this thread made me look at the wiki realizing that it was horrible outdated, so I went ahead and updated the table with the currently active projects. I am sorry in case I missed one, feel free to add it yourself (same goes for inaccurate or incorrect info).


Yes, making a general and all-purpose game engine is hard. Especially the more abstract and general it is, the more effort the game developer has to put into to get an actual game working. Think of creating a mod, which is rather easy and quickly gives you working results, but on the other hand is very limited to the engine and base game you are using (or horribly complicated if you want to deviate from that). Compared to something like Unity3D, which only gives you the basic structure, control elements, etc. for you to have much more freedom, yet more work towards a working result. Again compared to something like Penjin or sparrow, which is even more abstract and gives you even more control over what you can create, requires yet more work and makes prototyping games take more time.


I think Unity3d hit a certain sweet-spot there with a good balance of work required to amount of freedom (you will always have to compromise the one for the other), on the other hand open source engines tend to be more abstract. But this shows it's certainly possible to create such an all-purpose engine, even on the Pandora the examples linked to above give a good starting point (though most of them lack integrated Physics/Collision support through something like Box2D or Bullet. Although for most games simple physics suffice, which can be created rather quickly).
 
Last edited by a moderator:
As soon as we get the Linux cmakefile situation sorted in the MOAI framework, I will port MOAI to the Pandora and we'll have a great 2D game engine for use in building amazing apps on Pandora. I'm using MOAI professionally right now, and its fantastic.


Maratis3D could also be quickly ported to Pandora, and that would provide a 3D engine too .. so yes the idea is very feasible, in fact its almost a reality.
 
As soon as we get the Linux cmakefile situation sorted in the MOAI framework, I will port MOAI to the Pandora and we'll have a great 2D game engine for use in building amazing apps on Pandora. I'm using MOAI professionally right now, and its fantastic.


Maratis3D could also be quickly ported to Pandora, and that would provide a 3D engine too .. so yes the idea is very feasible, in fact its almost a reality.
Yeah torpor that sounds good.This could be very useful.I hope you might port these when you have time.
@mjohannson yes your right i meant a seperate game engine.One for 2d and one for 3d.
 
PenjinTwo is a general purpose game engine. And I'd appreciate anyone that wants to join in and help get it where it's supposed to be going.


What I wouldn't give to have limitless time, motivation and bills that paid themselves! ;)
 
Gosh, it seems everyone can code except me, I started making my own engine cos I realised I would never learn to code with billion trillion different files and polymorphyweirdy stuff, classes and just in general "object oriented" or high level style coding.


Thats why I think other people out there who desperatly wants to make games but arent exceptionally talented coders might have a chance with my code style, if I comment and perhaps write a guide, everything should be quite easy to follow and understand. Or is that not the case, I dont know, we will see.
 
Back
Top