Topic: Demo Project: Please come join us and make it fun!

HI all Maratis users, old and new,

Let me first welcome you all to Maratis, and proceed to tell you of the exciting news, that a few users have decided that a Maratis Demo, showing the capabilities of this wonderful engine, would be a great contribution to the project and a fun and challenging way to engage everyone !

We want to start with the basics , and let everyone build upon that and create something astounding over time. During the process of exploring all of this demo madness, you can chat with us for both help and moral support, at : irc.freenode.net : #maratis .

Maratis Demo has a name btw, and that is:

AquaGate !

AquaGate, at its early inception, is about the fun exploits of penguins in a challenging and fun underwater exploration environment.

We need you! wink

The date we are going for , is next weekend, starting August 4rd, 2012.

We have one coder ( Nistur) and one modeler so far( me: and we can certainly use more talent in all said areas) , so please ready your talents whether audio, coding, modeling, artistic, writing or whatever and hop on board this awesome AquaGate demo train !

Penguins, march! wink

cu
gamemaker

Re: Demo Project: Please come join us and make it fun!

I will be very happy, if I can contribute to this project by making textures,
Some examples of my work :

(all these textures are tileable)

GoudronDiffuse
http://img88.xooimage.com/files/a/b/c/bateaunorm-36b2f29.jpeg

GoudronSpecular
http://img87.xooimage.com/files/7/1/7/bateaunormspec-36b2f32.jpeg

***

wallDiffuse
http://img89.xooimage.com/files/0/9/8/murdiffuse-36b2f3b.jpeg

wallNorm
http://img86.xooimage.com/files/d/5/c/murnorm-36b2f46.jpeg

***

metalPlateDiffuse
http://img86.xooimage.com/files/d/9/8/plaquemetal-36b2f4e.jpeg

metalPlateNorm
http://img89.xooimage.com/files/c/b/4/plaquemetalnorm-36b2f54.jpeg

***

oceanGroundDiffuse
http://img86.xooimage.com/files/b/f/f/rocheoceandiffuse-36b2f60.jpeg

oceanGroundNorm
http://img89.xooimage.com/files/5/b/f/rocheoceannorm-36b2f6a.jpeg

Last edited by Alinor (2012-07-28 21:55:54)

Re: Demo Project: Please come join us and make it fun!

Nice initiative !
I'll be glad to take part, my best domain : Music & sound effects
I guess you discuss all this into your freenode channel ? if so, i'll be lurking there tomorrow

Re: Demo Project: Please come join us and make it fun!

Hey there all. This all looks great! smile

Would be good to get some little demos for Maratis running up and running.

I shall also be on IRC and providing as much code support as I'm able to smile

Re: Demo Project: Please come join us and make it fun!

Hi, that's very cool ! And nice theme !

the fun exploits of penguins in a challenging and fun underwater exploration

smile

You can count on my support and additional development. To start with, do you need a recent build ?

Re: Demo Project: Please come join us and make it fun!

That's great. I was talking to GameMaker about this before and I think the best way to demonstrate the engine is just to use the most recent publicly available build. For now, I can't see any real problems with using 3.02. If there are features which make sense to be demonstrated, then maybe a new build might be useful.

I guess it might be a good idea to spec out some design type stuff here, and let anyone contribute smile

The best engine demos focus on making things look pretty, rather than fancy gameplay, so I'm already looking at some post process shaders for over/under water effects.

With regards to the game design, the initial thoughts were Ecco the dolphin (Defender of the Future for 3D-ness) and having a sort of "sandbox" lagoon that you can explore around.

Last edited by Nistur (2012-07-29 15:42:37)

Re: Demo Project: Please come join us and make it fun!

good, I will prepare builds for windows, mac and linux.
It will also be a good testing process and a way to point features that you miss.

Re: Demo Project: Please come join us and make it fun!

I would also like to join and model some staff smile. Let me know what to model.

Regards.

Re: Demo Project: Please come join us and make it fun!

That's great! smile

GameMaker (neighborlee on IRC) is busy doing some of the modeling preparation, so I think it would be best if you discussed with him about what would you can take care of.

If you can make it on IRC, there's quite often someone online now smile

I've shared set up a dropbox folder for preliminary work, so if anyone needs access to see and/or dump stuff in there, give me a shout and I can set you up. For the actual game development, I'm thinking that we can put it on either google code, or github or something. I'm currently working on a couple of framework things (extending what I did in the tutorial series for a little more flexibility) and that's in a personal git repository, so for me, github would be easiest, but if people have a preference, I can put it anywhere.

I have no idea how much more preparation I can do this week, as I think I'm going to be working late... What I already have is a character (penguin "borrowed" from a CC blend on blendswap) which technically moves around, although you can't really tell much as there are no points of reference. I also have a post processor which can be enabled/disabled (and does so automatically if it's not supported) which currently just does fogging to blue. I think that's about it. I've done a little extension to the GameClock, allowing timefactors, and an easier interface for multiple clocks (so you can trigger things off a UI clock which you can keep running constantly, then have a main clock which we can slow down maybe?) and a couple other little tweaks which "might come in handy"

What I still want to do with the stuff for the weekend is make a generic statemachine which we can use for game states (assuming someone fancies making a menu... maybe a 3D menu with penguin going through "gates"?) player state for character etc. I also want to dump a couple of random objects into the world and try and get a very basic swim-control system going.

This weekend, which has been scheduled for the dev jam, what I intend to do is create a shader for the water (ideally above and below, potentially different shaders, not sure yet) and a post processor for the underwater view (maybe a bloom shader which fades for a few seconds after you stick your head above water?) Create more extensive control mechanics. Maybe make an interaction system.

I think with those few things I'll already have my work cut out for me, but it's a decent goal. If we get more people volunteering for code work, we can maybe add some more features smile

Re: Demo Project: Please come join us and make it fun!

I have already a dropbox account and I think that's a great way to share and organize our work.

I believe that a way to allow someone to have an access to the dropbox is to invite him by sending him an e-mail

Concerning an underwater-shader, maybe this can be useful to make fog wink
http://www.ozone3d.net/tutorials/glsl_f … php?lang=1
(but this tuto is in french ...)

EDIT : Ok, I got it wink

Last edited by Alinor (2012-07-31 16:58:33)

Re: Demo Project: Please come join us and make it fun!

Dropbox has the problem that you can't easily work on the same things, merging things isn't realistic, which is why I'd prefer to use svn, git, even cvs to dropbox tongue But for initial brain dumps and sharing, it's definitely useful.

Thanks for the link, I've done a little GLSL on a previous project (doing water on the Call of Duty Black Ops Zombies iOS, as it happens... although it was removed as it was a little too slow for what we got...:( ) but as I'm more than a little rusty, any tutorials are helpful, in any language tongue Thankfully I can just about understand enough French to mean that I can roughly work out what google translate fails at tongue I've already got some very very basic fog, but it's definitely something that will be in the final shader. I want to add things like rippling water, maybe god rays... and a couple other things, depending on how adventurous I get tongue We'll see smile

I'll add you to the shared folder after lunch
Edit: You should be added now

Last edited by Nistur (2012-07-31 13:10:20)

Re: Demo Project: Please come join us and make it fun!

I don't have irc. sorry. If there is no problem, just mail me the concept or description of the model or give me the link if there is a page for it or just post here(description or concept).

Regards.

Re: Demo Project: Please come join us and make it fun!

http://webchat.freenode.net/ wink

Not saying you have to join us, but you can smile

GameMaker, I'll allow you to answer about what Arclord can help with

Re: Demo Project: Please come join us and make it fun!

Ok, I have access to the AquaGate project DropBox , can I have just a list of which marterials are needed ? wink

Last edited by Alinor (2012-07-31 17:09:28)

Re: Demo Project: Please come join us and make it fun!

I've also just set up a google doc to split up the tasks. Should I add you to that with the same email address? (We haven't split anything yet, but it's there in order to do the task delegation)

Re: Demo Project: Please come join us and make it fun!

Yes, it's would be fine, thanks smile

Re: Demo Project: Please come join us and make it fun!

@Anael, I was just doing some quick work and it actually took me a while to realise that Maratis hadn't actually frozen/crashed, but it was just loading for a REALLY long time.

This is due to the fact that it seems to be incredibly slow on Linux for me. I have no idea why this is, I'm getting 2fps on my netbook on an entirely empty scene running one core to the max. My initial thoughts were that as it was using the whole core, it was spinning crazily and locking up, but that wouldn't explain the 2fps... no idea why that is, but even on my PC I'm getting terrible performance. I think I'm going to try and get that profiler stuff working properly (it was outputting valid data before, it was just that I had to paste scope markers at the beginning of every single function that got tedious tongue) Any idea  what might be causing this performance? Both my machines are running Archlinux and I can get package versions if you think they might be relevant...
EDIT: I tried again on my PC and I'm getting a much more reasonable framerate, I don't think I changed anything... weird :S Still using all of one core though, but I guess that's just the idle spinning

Also, you mentioned at some point that you would put a callback for data loading... would it be possible to squeeze this into the build? As we have MFile wrappers, I think I could probably implement loading callbacks fairly quickish if you want...?

Last edited by Nistur (2012-08-01 07:01:32)

Re: Demo Project: Please come join us and make it fun!

Hi,

I don't think it's a problem with file loading, if you are running at 2fps when Maratis is empty I would say that you are missing opengl drivers ? on linux, when there is no 3d drivers, the opengl rendering is done software, or with a generic open-source driver (both super slow). It's slow on my linux too because there is no ati drivers available (my card is too old).

Check that, if you are nvidia and if your card is not too old you should find a driver online.

Re: Demo Project: Please come join us and make it fun!

The file loading does seem to be an issue because I don't get any updates called until the scene is loaded, which takes a couple of minutes.

You're probably right about the 3D drivers though, my netbook has intel graphics (boo). Maratis comes up with saying that GL 1.4 is supported. Not sure if I can do any better than this with intel graphics then. Ah well, I guess I can code, compile and maybe even write unit tests on the tube, then make sure it works when I get home onto my PC tongue

(This is basically my netbook setup)

Re: Demo Project: Please come join us and make it fun!

Intel chipset on linux will probably not work with hardware acceleration... I'm not a linux pro, maybe check on intel website...

Is it also slow on windows ? if no, it's possible that the loading is extra slow because opengl normally send data to the 3d card (so if the driver is not good the sending of the information can be slower for the textures and stuff).

Are you using a Mesa driver on linux ?

Re: Demo Project: Please come join us and make it fun!

I will have to check, I should have time either tonight or tomorrow to have a fiddle smile

EDIT: It seems I have mesa, libgl and intel-dri installed, but I can't find anywhere that I've set which dri to use, so I have the sneaky suspicion that it's using the software dri from libgl... I'll try and get that fixed, but I guess it's likely to be the problem

Last edited by Nistur (2012-08-01 20:10:51)

Re: Demo Project: Please come join us and make it fun!

@Anael, I was having yet another fiddle during my commute, and I figured I would try and add support for something I've seen asked about before that I also thought would be useful for AquaGame... MScriptBehavior

I haven't got the actual behaviour quite working, but I was wondering if this patch could make it in for the build so I can create multiple MScriptContexts.

EDIT: it's just occured to me that I'd have to change the prototype of the functions passed to addFunction to: int(*function)(MScriptContext*) to allow for pushing stuff back to the script... I can do these modifications and send you a patch tomorrow with that, if you want

EDIT EDIT: Forget about that patch, when I woke up, I had a better idea. As MScript is in Common, can just add a behaviour directly into Common which can access it. Working on a script behaviour right now. Would still need the ability to get the current script context from a function call though.

Last edited by Nistur (2012-08-02 07:38:30)

Re: Demo Project: Please come join us and make it fun!

Hi Nistur,
wait, I don't understand, what is the final result you are seeking ?

Re: Demo Project: Please come join us and make it fun!

I'm trying to make an MBehavior which can have a separate script associated with it. I realise that it's possible to do everything with one big script (or several linked with doFile) but I figured it would be a bit nicer to be able to assign a script to an entity. The lua API can be exactly the same, just have one extra function, getParent, which returns (the id of) the entity it's attached to.

I've almost got this working how I want it, I have just hit a little bump, in that int MScript::function(lua_State * L) is a static function, which just looks up MEngine::getInstance()->getScriptContext(), which wouldn't allow for multiple scripts. I guess it would need a static std::map<lua_State*, MScript*> to do a lookup...

Also, I've tried on both Windows and Linux now, and I get an error when compiling in MFileTools.cpp:285:35: error: 'sort'' was not declared in this scope
Would you like me to sort the fix for this?

Re: Demo Project: Please come join us and make it fun!

Ok, I understand,
you can do exactly that by using : scriptContext->callFunction("myCustomFunction");
(that can be in a separate file linked with doFile)

Using multiple script context might be more expensive in memory and you won't be able to exchange script variable between the different behaviors or context.

Thank you for the error in MFileTools.cpp, if you can commit a fix on svn it's nice, it's working on my mac but it's probably missing an include in windows and linux, I didn't test it yet everywhere.