PDA

View Full Version : Beginner quick questions



bullno1
07-31-2008, 03:43 PM
I just grabbed the engine yesterday and i'm quite impressed. I choose to abandon the idea of creating my own engine(with OpenGL+GameMonkey+PhoenixGL ...).
I have some question before really dropping my plan:
1) Is there a particle system? How good is it? I have checked the examples and the docs but I cannot find much info on it.
2) How to deploy a created game? What is the minimum file requirement? The game.exe is only 3mb , did you static link every lib (sound,physic,input ...) into it?
3) I like the brain concept, which is quite similar to component-based entity. But I cannot find any information on how to create custom brains from script. I'm planning on making a rpg, and those complex "behaviours"(like boost stats, gain resistance, gain skill...) of differents items should be handled by different "brains"
4) How to use the built-in GUI system? Is it skinnable?
5) Can I create lua module dll with C++ and load it with require()? I'm quite good with C++, I prefer to do core logic with C++ since it has better editor/debugger. Lua is only for specific behaviour.
6)About fonts. They looks blurry on my Intel 945GM(yeah, laugh at me) . I guess this was because of the NPOT textures. Your engine has a quite wierd way of handling font :p. Can I just use 64x64 textures and put characters on multiple lines?

Sorry for a lot of question :D . I swear I did RTFM before posting this.
Again, nice engine. For advanced user, it has the potential to beat GameMaker and Torque Game Builder.

Seth
08-02-2008, 05:06 AM
1) Is there a particle system? How good is it? I have checked the examples and the docs but I cannot find much info on it.

It's decent, it's based on LinearParticle (http://www.galaxist.net/linearparticle.html) and has a reasonably modular setup so you can combine effects and things. (There is a demo there you can check out as well)

I will eventually add some more effects/emitters for it, for instance, there is no easy way to use it to make 'rain' or 'snow' over the whole screen right now I believe...


2) How to deploy a created game? What is the minimum file requirement? The game.exe is only 3mb , did you static link every lib (sound,physic,input ...) into it?

It's totally self-sufficient on Windows and OSX, nothing is needed accept OpenGL drivers.


3) I like the brain concept, which is quite similar to component-based entity. But I cannot find any information on how to create custom brains from script. I'm planning on making a rpg, and those complex "behaviours"(like boost stats, gain resistance, gain skill...) of differents items should be handled by different "brains"

New brains must be written in C++ and compiled into your .exe.

It's not like you have to write them, but they are not limited in the way that scripts are.

A brain is made up of an .h and .cpp file and if you take a simple one, like "BrainShake.h/BrainShake.cpp" you can see they are very simple. The nice thing about them is they automatically add themselves to the brainmanager and can be initialized by name from lua without any extra work.

The only thing missing from brains is they can't draw or override the draw commands. If they could, then you could add a "3D Rendered Background" brain or "Snow brain" that could handle visuals or whatever.. so I'll probably add this when I need it.

The other way is to create a totally new C++ entity like I do with the ChooseMenu entity, but I think brains are more attractive because they would be easier to share.


4) How to use the built-in GUI system? Is it skinnable?

There is an .xml where you can specify the fonts/etc for the GUI, but what is currently made available to the game (ChooseMenu is basically it) is very basic... not so useful for like, an RPG...


5) Can I create lua module dll with C++ and load it with require()? I'm quite good with C++, I prefer to do core logic with C++ since it has better editor/debugger. Lua is only for specific behaviour.

I would suggest C++ Brains for this, it does mean you have to recompile the .exe, but you avoid the complexities of needing to support .dll's across different kinds of systems which can get ugly.



6)About fonts. They looks blurry on my Intel 945GM(yeah, laugh at me) . I guess this was because of the NPOT textures. Your engine has a quite wierd way of handling font . Can I just use 64x64 textures and put characters on multiple lines?

NPOT textures should be internally padded by Clanlib if needed (?) and not cause any problems.

Blurry? Hmm, anti aliasing should be off in Novashell, maybe the graphics card is compressing them by itself or something? Not sure about how to add fonts in a different format or if Clanlib supports that.. :/

In any case, welcome to the forums :)

bullno1
08-02-2008, 02:09 PM
Thanks for your answer. I looked through the code. It's quite easy to understand and extend.
Some more questions:
Is it ok to put the registration code(if( no parent) then registerBrain) in Brain::Brain(MovingEntity* pParent)? It will be faster to create new brains since there is no need to copy+paste that code, the registration interface will be more "transparent". It's nothing big but I'm lazy :p .


I will eventually add some more effects/emitters for it, for instance, there is no easy way to use it to make 'rain' or 'snow' over the whole screen right now I believe...
Take your time. I know you have more important stuffs. I might contribute patches at the end of this year when my exams are over.


In any case, welcome to the forums
Thanks

(talks to self why is tgb more famous than this?)