Hi Sponk,
yes the logos are there is you want to support Maratis by adding a splash at some point in your game,
"made with Maratis" or something like that. Thanks.

552

(13 replies, posted in Scripting)

Thank you esodax, I'll try to study that when I find some time,
let us know how your experiment goes smile

553

(7 replies, posted in General)

Thanks for the feedback Underspecified,
I'll try to sort the freetype issue at some point,
there is this prebuild lib because I didn't find a good way to embed the code directly.

For info, the balls example is just a physics test (no interactivity)
you can play with lua and use "getTouchPosition" or "getAxis" :
http://wiki.maratis3d.org/index.php?title=Axis

554

(13 replies, posted in Scripting)

Thanks esodax, did the transition you did to luaJIT went without compatibility issues ?
and, how did you find the debug/error system compared to traditional lua ? (when error is found in the script).

Hi,

we don't have the long term capacity of managing image upload,
also the forum is attacked by spam a lot and it will unfortunately open an additional breach,
it's something I prefer to avoid, we don't have the budget of a comercial forum, in fact the donations
would not even cover the cost of Maratis web hosting if it was not sponsored by celeonet...

But yes it would be more convenient I agree.

Hi there,
thank you BitPuffin and Sponk it would be nice if you can try it.

You can find the logos and a possible icon (icon_logo.png) here : http://maratis3d.org/download/logo/

Tell me if you need a specific size,
Anaël.

557

(13 replies, posted in General)

Hi,

there is some recurring problems on windows which I don't fully understand,
most of it seems to be linked with Assimp and the new c++ standard (maybe).

What windows are you using ? and what compiler is installed ? (I know it works with visual studio 8, not sure about more recent versions)

558

(7 replies, posted in Scripting)

Hi,
in c++ you can delete yes, there is no restrictions as you get everything as-it.

- clone will get the position and parenting of reference object yes, it's an exact clone except for the name.
- you can modify the parenting in lua using "setParent" : http://wiki.maratis3d.org/index.php?title=SetParent

559

(7 replies, posted in Scripting)

Hi, there is no delete as it can be a bit unsafe to deal with memory from lua (as getObject handle pointers),
deactivate will totally disable the object.

If your initial need is to clone / delete lot of objects, try to see it as a buffer to reuse the same objects a maximum.
Even getClone should on maximum be used out of the update loop (for better performance).

are you using the last version of Maratis ?
can you describe more ?

561

(13 replies, posted in Scripting)

Thanks for the feedback,

I think the best will be something in-between, running multiple concurrent lua scripts is not safe,
but multiple "static" (non callable) scripts could be loaded like a plugin system to extend behaviors.

For the speed issue, we first need to find a performant way to define behaviors in lua,
and later add the option to use luajit (at least for publishing) : http://luajit.org/

562

(13 replies, posted in Scripting)

I have another question, you mentioned AngelScript as a good scripting langage,
and I just looked at it, AngleScript is using the same syntax as c++, so in theory using AngelScript to script would be the same as using the SDK in c++. For you, why is it more attractive ? Is it because you don't have to create a project setting, linking the libraries and having a compiler installed (like I said about the JIT thing) ?

563

(13 replies, posted in Scripting)

I understand why you feel attracted to multiple script files, but it poses some potential problems like the sequence of execution call (if there is multiple scripts, which one is called first, second etc ?).

Could you give me your view about why dofile is more messy than multiple scripts ?

About the scripting vs c++, I agree for prototyping, but not for production, even if lua is fast, it is 10 to 100 times slower than c or c++. I always have this first repulsion to go to c++ like you, but I try to code reusable behaviors in c++ and at the end it's a gain of time and it's optimal.

But yes, the lua binding is still missing some important functionalities only available in c++,
I would like to make it possible to prototype behaviors in lua, but I didn't find a good way to do it (too slow if the behavior is too complex).

My other taught is about JIT (just in time) compiling, to allow simple c++ "scripting" with an embedded compiler. (so you don't have to create a project file, have a compiler installed etc)

564

(2 replies, posted in Scripting)

There is no ready made feature right now, we'll try to do something in the future.

Right now you can :
- write and read a file in lua
- use a custom game plugin to handle it (best)

565

(1 replies, posted in Engine)

in the wiki

566

(1 replies, posted in Scripting)

getClone automatically add the clone to the scene, you might not see it as it creates at the same position as the source.

try :

ObjectToClone = getObject("MyObject")
Clone = getClone(ObjectToClone)

translate(Clone, vec3(10, 0, 0)) -- move the clone to see it

567

(13 replies, posted in Scripting)

It's a logic, you can link files into files with doFile and get the same result,
multiplying running scripts is not always very good, having one script per scene also makes users aware
that script is a high-level langage best for scene-specific game logic.

Ireheart > that's exactly the purpose of the behavior system, it just has to be written in c++ (faster)

At some point when a gameplay starts to reach some level of complexity, the best way is to implement a game plugin with custom behaviors. For example you will have a "Player" behavior, a "Enemy" behavior with variables like "Speed", "Power" etc.

Gameplay complexity unfortunately means code complexity and structure complexity, the question is not how to manage to do that in script but should I learn c++ and create custom behaviors/game plugin or should I find a developer to do it.

568

(15 replies, posted in Engine)

The patch is in the trunk, thank you Sponk !

I don't have access to linux to test it, is there a linux user that can help with this ?
> first by testing that the compilation is going without errors
> then by testing a controller

Thanks for the help.

569

(1 replies, posted in Engine)

Hi,

for now there is no immediate plan to provide a ready-made network solution,
but to link the networking library of your choice threw a game plugin in c++.

A lib like kNet for example seems to be easy to use : https://github.com/juj/kNet

570

(4 replies, posted in Scripting)

you probably need to specify a valid file :

file = assert(io.open("file.txt", "r"))
line = file:read()

tutorial found online : http://www.ac-web.org/forums/showthread … e-With-Lua

571

(2 replies, posted in General)

Hi smile

Your skinning is probably not perfectly clean,
the vertex in the bottom seem to not be skinned properly to a bone.

572

(59 replies, posted in General)

yes same textures are only once in memory, it is the same for mesh files, sounds, fonts...

573

(59 replies, posted in General)

The RBG blendmap is normally working good, you can use each component to mix different textures and you can use tiling.

Just to clarify, there is two ways to tile your texture :

- directly in the uv (by scaling your uv down)

- or/and by using the texture size (from the doc) :

http://www.maratis3d.com/wp-content/uploads/2011/01/10.jpg


Be also sure that your texture is in repeat mode :
http://www.maratis3d.com/wp-content/uploads/2011/01/09.jpg

574

(4 replies, posted in General)

Hi,

yes Maratis supports multi-texturing,
but there are limitations in the Blender exporter and Materials are simplified in 3 modes :
- Fixed (for old computer)
- Standard (for simple diffuse/spec/normalMap/emit)
- CustomShader (to do anything using shaders)

full doc here : http://www.maratis3d.org/?p=277

In your case, you can do this using the CustomShader mode and by writing a glsl shader.

The base of your fragment shader will be something like that :

uniform sampler2D Texture[8];
varying vec2 texCoord[3];
void main(void)
{
    vec4 texture0 = texture2D(Texture[0], texCoord[0]); // first textures (DirtGrass)           
    vec4 texture1 = texture2D(Texture[1], texCoord[1]); // second texture ("blend texture" or Stencil)
    vec4 texture2 = texture2D(Texture[2], texCoord[2]); // third texture (MossGrass)
   
    float interp = texture1.x; // use the red component of the "blend texture"
    float invInterp = 1.0 - interp;

    // interpolate the grass and moss textures
    gl_FragColor = texture0*invInterp + texture2*interp;
}

You can follow this topic about writing a shader for a terrain : http://forum.maratis3d.com/viewtopic.php?id=15

575

(2 replies, posted in Gossip)

Hi, welcome.
You might enjoy playing with lua, the script langage used in Maratis, it's very simple and direct.

I also started programming when I was 15/16 (15 years ago already...) I was playing with a library called Allegro in C, providing multimedia functions and software rendering (that was before 3d cards became popular).