IrrSolid 0.1.2 (+physics +tutorial+SDL+OpenGL)

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

IrrSolid 0.1.2 (+physics +tutorial+SDL+OpenGL)

Post by REDDemon »

News and updates are highlithed in red
There are no stable release for now. If you want to use just take freely the source code.

IrrSolid - GameFramework

This is a very simple game framework that provide a simple way to start your game. The rendering is always done by Irrlicht. It comes with several libraries in a preconfigured project file for a fast start. It is crossplatform and will be released soon also for Linux (i'm trying to cross-compile it). For now only the Win32 release is available.

There are 2 project files:
1) ISGF - Compile. Needed for recompile libraries when you change something.

2) MyGame with IrrSolid.

3) pay attention: release with SDL has only OpenGL driver and uses a recompiled version of Irrlicht.dll. The minimal release uses standard irrlicht stuff.


Features:
Configurable
Cross-Platform
simple XNA style (load, unload, update)
Global static variables
HelpMacros
Optimized Randomizer class
Task Scheduler
SPARK particle Engine
SDL support
OpenGL Support


Abstract Audio Manager:
  • irrKlang Audio Drivers
    cAudio Audio Drivers.
Code::blocks projects files:
  • Win32 build target (release/debug)
    Linux build target(release/debug, you still need to get libraries)
Physics libraries:
(note that there are no wrappers for now)
  • Bullet
    ODE (Open Dynamics Engine)

Any suggestion is wellcome for more features, or for improve the code style. IrrSolid want to be very simple in use and I removed lot of code in last times.

Some help is needed to get Linux static and dynamic linking stuff.

project homepage:
https://sourceforge.net/projects/agametemplate

downloads are not available until IrrSolid will be re-designed. Old release 0.1.1 continue to works correctly.

SVN browse directory(now source forge work correctly again):
http://agametemplate.svn.sourceforge.ne ... etemplate/

Tutorials about irrSolid usage(1 tutorial ITA/ENG):
http://italiangames.over-blog.it/pages/ ... 53730.html


----------------- tracker on the forum -------------------
Recent changes:
Added SDL support (recompile irrlicht with SDL)
Added OpenGL support (using irrlicht extension handler)
Added irrlicht recompile target (much easy to recompile using SDL)
Added few MACROS
Updated Randomizer according to the irrlicht 1.8 randomizer. (a bit more faster)
Edited IrrCompileConfig. you need only to change ISCompileConfig.h

Known Issues:
cAudio bug. Volume of mp3 sources is not updating with doppler or attenuation.
SDL/irrlicht. in debug mode: the screen is not shown until you move mouse.(i'm workin on it)
Blue screen on 64 bit systems (probably caused by OpenAL or SDL)

Fixed Issues:
"Device" defined twice in COpenGLdriver. I changed IrrCompileConfig.h for fix that.
Randomizer now prevent division by zero (you can remove the control if you are sure division by zero never appens)
irrklang stuff was depending on "ISGF_COMPILE_WITH_CAUDIO", now it depends on "ISGF_COMPILE_WITH_IRRKLANG" macro

Last edited by REDDemon on Wed Feb 23, 2011 8:41 am, edited 23 times in total.
mindrage
Posts: 6
Joined: Thu Apr 01, 2010 8:52 pm

Post by mindrage »

Great, Awesome, Bravissimo!
Saves alot of time if you are making games :).
Read many great things there (Spark Particle engine is one that i like alot).

But im suprised why you havent putten in the Bullet Physics engine?
There is two wrappers atm, Both works good.
There is also another good physics engine (irrNewt).
Murloc992
Posts: 272
Joined: Mon Apr 13, 2009 2:45 pm
Location: Utena,Lithuania

Post by Murloc992 »

If there only was an example on how to use it.. :D
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

thnks

Post by REDDemon »

thanks for comments.

the example for use irrSolid is coming, I will just rewrite some of the tutorials for simplicity. About phisics idk. I thinked about an abstract interface that let to integrate any phisics engine. But it is an hard task and i'm not experienced enough now for doing that (just writed simple 2D collisions for my game). If phisics comes in irrSolid, it will come fully abstracted with an example driver. Well why not. I can already add some phisics libraries(newton , ode ecc). This will save time importing libraries, but wrappers have to wait for now. I'm not going to write a game engine but a framework, and I want to keep things very simple and clear. A phisics wrapper is not what is called very simple and requires lot of works.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Murloc992
Posts: 272
Joined: Mon Apr 13, 2009 2:45 pm
Location: Utena,Lithuania

Re: thnks

Post by Murloc992 »

REDDemon wrote:thanks for comments.

the example for use irrSolid is coming, I will just rewrite some of the tutorials for simplicity. About phisics idk. I thinked about an abstract interface that let to integrate any phisics engine. But it is an hard task and i'm not experienced enough now for doing that (just writed simple 2D collisions for my game). If phisics comes in irrSolid, it will come fully abstracted with an example driver. Well why not. I can already add some phisics libraries(newton , ode ecc). This will save time importing libraries, but wrappers have to wait for now. I'm not going to write a game engine but a framework, and I want to keep things very simple and clear. A phisics wrapper is not what is called very simple and requires lot of works.
I think you should leave audio/physics/etc. initialisations for the user-decision. Maybe you should only keep SPARK and audio inits to show how to deal with them, of course irrODE can be easily implemented(I think). :) Waiting for the sample, really interested in that, since frameworks are my weak spot and this one looks promising. :3
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

thanks.
Audio is not initialized. You need to call
"createAudioManager(EAE_CAUDIO,true)".

so actually the choice is let to the users.

it is just the example that is missing :D.

I'm working on documentation now. After that i will add also Newton and ODE (bullet has no easy way for being imported in C::B, and it is not really crossplatform because there are lots of configuration problems. i spent the morning tryin to add bullet but i have been able to compile it only with visual studio)..
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

REDDemon wrote:thanks.
Audio is not initialized. You need to call
"createAudioManager(EAE_CAUDIO,true)".

so actually the choice is let to the users.

it is just the example that is missing :D.

I'm working on documentation now. After that i will add also Newton and ODE (bullet has no easy way for being imported in C::B, and it is not really crossplatform because there are lots of configuration problems. i spent the morning tryin to add bullet but i have been able to compile it only with visual studio)..
Bullet is very cross-platform.

Also, all you have to do is import the MSVC solution and project files into C::B.

File -> Import Project -> Microsoft Visual Studio Project

It compiles out-of-the-box for me.
Josiah Hartzell
Image
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Making abstract physics interface will be a lot of work, and hard to maintain I think, you would better implement the one thats the most friendly on multiple platforms.

I would go with bullet(You know that you can use makefile to build bullet? builds fine out of the box on linux, and I had it build on code::blocks on windows some time a go), but its up to you to decide which way to go about this.

EDIT: Oh and I miss one important thing - game states. Load and Unload would work fine if you were to load every single resource you will need in every level your game has and hope it won't eat up all the resources the pc has.

Looking forward to some new features, and maybe a working game sample, for those who are better at modding first to get a hang on the framework(not talking about myself, me has sh*t loads of things to do on my own framework :lol: ).
Last edited by serengeor on Sat Feb 05, 2011 8:02 am, edited 1 time in total.
Working on game: Marrbles (Currently stopped).
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

i tried with that. never known that codeblocks can import vs projects. thanks for the snippet. now I found that i was missing some include directory and defines

ok now i need only to run some simple example and see if it works than I'll update irrsolid
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

IrrSolid is updated to 0.1.1.

Ok i updated with an example, 1 tutorial and Bullet and ODE physics
libraries/headers. Added also the Linux build target (libraries are still missing).

Updated the first post and added more links. SVN browse is again available.

Thanks for the suggestion of adding physics libraries.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
toksn
Posts: 4
Joined: Tue Nov 23, 2010 9:44 am

Post by toksn »

first bug report on the new version i guess ;)

the binaries for win32(gcc) dont work... neither release nor degug.

"alcCaptureCloseDevice" not found in "OpenAL32.dll" (which is not in the directory at all)

winXP here
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

it is not a bug. somwhere in the branch /trunk folder it is written that you first need to install OpenAL on your machine before run cAudio.I forget to esplicity say that. I will update the tutorial thanks :)

(agh. AUdiere is GPL, cAudio need OpenAL, irrklang can be redistributed with dll but not with headers)

ok i updated the first post with the link to openAL installer.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

is there any plan to add in pathfinding as a feature?
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

No sorry to say that. Pathfinding is too specific and need a game engine with a suitable map format. IrrSolid is only a generic game framework. I've seen lots of good game engines you can try a search for them and I'v also seen somewhere in the irrlicht forum a project with a good waypoint system. You can use it for a wapypoint pathfinding algorithm.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

updated to 0.1.2

Now It is possible using OpenGL function calls (for example glBegin(GL_QUADS); )
(notice that you must continue to call OpenGL inside a "draw()" method.
if you change pipeline before calling "draw(), you don't need to call driver->setMaterial()... it is a good idea looking at opengl reference.


update method is not suited for drawings since it appens before beginScene().

SDL is integrated. you can use it. if you download the release with SDL the example is runned into a SDL device. For more info you should check SDL reference. (or any irr/SDL tutorial. I found some on the net).

Note:

When changin ISCompileConfig.h you need to recompile irrSolid (just run a build on the right target)
.If you change
ISGF_COMPILE_WITH_SDL
or
ISGF_COMPILE_WITH_OPENGL
you need also to recompile the irrlicht dll (there is a build target for that).
you don't need to change anything in IrrCompileConfig.h.

Note: the full release (SDL,GL,phys,irr) uses an already recompiled irrlicht.dll, so you don't need to recompile irrlicht if you have downloaded it.

The minimal release still uses the standard irrlicht.dll file.


Added macros:

instead of calling

Code: Select all

App::smgr->
App::audiom->
or
isgf::util::App::smgr->
isgf::util::App::audiom->

etc..
now you have only to call a macro (defined in IrrSolid.h)

Code: Select all

SMGR->
AUDIOM->
the macro change according to namespaces so you don't have to warry about them. if you change ISGF_COMPILE_WITH_NAMESPACES, the macro is always valid.

I have runned few drawings test with SDL and OpenGL. So i'm sure the tests at least run correctly.

Now downlad for minimal release is 2MB less big. the download with full stuff (now also SDL and irrlicht) is only 0,2 MB bigger.

if you need help for running under linux contact me. (This way I will definitely provide a working linux target for IrrSolid).

you are warned that the IrrCompileConfig.h is changed and you don't need to change it again.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Post Reply