Topic: Game plugin creation on Linux

Hey community,

Currently I am trying to create a game plugin for my current project but I ran into one serious issue: Maratis does not recognize the game plugin
(i.e. The custom behaviour does not show up in the editor).
I used the code from the game plugin example (Here ==> http://www.maratis3d.org/?p=500) and compiled it into a *.so
and copied that to my game project directory.

My OS currently is openSUSE 12.3 64bit.
I was able to compile use the plugin on Windows so my question is: Are game plugins implemented for Linux?
If yes: Any ideas what I can try to get it work?

Thanks for all answers/comments

Sponk

PS: This is the makefile used to compile the plugin: http://pastebin.com/VbmUccWV

Edit: I finally found the error. I forgot to link the files together in the makefile. Everything is working now. By the way: Maratis should report why it could not load the plugin for better debugging smile.

Last edited by Sponk (2013-03-28 18:24:41)

Re: Game plugin creation on Linux

Hi,
thanks for the feedback.

You said you are working on openSUSE, just to know, is the build from Maratis website working by default ?
or did you have to compile maratis yourself for this distribution ?

Hope to hear more about your project smile
Anaël.

Re: Game plugin creation on Linux

I can report today that when downloading Maratis for openSUSE 12.3 it worked fine out of the box after installing some 32 bit versions of dependencies for maratis via the package manager.

Cheers!

Re: Game plugin creation on Linux

BitPuffin is completely right. It works without any hassle.
I will eventually create an openSUSE rpm for better system integration (i.e. Icon in the KDE-Menu and similar)
but I have not much time right now so I will come back to it later.

About my project: It is nothing that special after all (I have not enough 3D-Artists for now wink)

Basically you have a jump'n'run environment just like the old games of Nintendo where you can jump, run and take items in an 3D-Rendered environment. Though you have an 3D environment you can only move in 2D space.

I will upload a video on Youtube when it is worth to be shown.

Sponk

Re: Game plugin creation on Linux

Hey all! I've just gotten Maratis to work on my Linux environment thanks to Sponk's Debian installer. However, when trying to build the fish behavior plugin demo, Codeblocks is claiming to be missing the header files for MEngine. Do I need to download the MSDK folder from the subversion trunk and bring it into the project? If you have any feedback, I'd really appreciate it. Thanks!

Re: Game plugin creation on Linux

Hi sunnystormy, I don't know what is included in the debian installer.

if it's not included in the package you need :
- the headers from the MSDK/MCore and MSDK/MEngine
- the libraries mcore.so and mengine.so (it could also be named libmcore.so and libmengine.so)
there should be next to Maratis application

from codeblocks, you just have to specify the path where the headers and libraries are

Better to check with Sponk.

Re: Game plugin creation on Linux

sunnystormy: The development headers are not included at this point. I will release a second package (maratis-dev) with the headers to meet Debian/Ubuntu naming requirements

Sponk

PS: Maybe we should try to get Maratis into the Debian standard repository? Just an idea wink

EDIT: Just built a first version of the package. Testing is appreciated!
http://scary-squid.de/downloads/maratis-dev-amd64.deb

Last edited by Sponk (2014-01-26 15:38:55)

Re: Game plugin creation on Linux

Hey, Sponk. Just downloaded the Debian package and GDebi tells me that it's the wrong architecture: "i368".

Re: Game plugin creation on Linux

Just a precision, MCore.so & MEngine.so are not required on linux as no linking is required.
You just need MSDK headers (includes). Look http://forum.maratis3d.com/viewtopic.php?id=825]here for more details.

Last edited by com3D (2014-01-27 06:07:15)

Re: Game plugin creation on Linux

com3D: Thanks, I did not know that wink

sunnystormy: Whoops, used the wrong arch in the package...

Sponk

EDIT: *retest*

Ubuntu/Debian:
http://www.scary-squid.de/downloads/maratis-dev-all.deb

openSUSE:
http://www.scary-squid.de/downloads/mar … noarch.rpm

Last edited by Sponk (2014-01-27 16:10:06)

Re: Game plugin creation on Linux

Hey, Sponk, I'll download the new DEB file later and test it. Thank you for doing this.

Com3D, does your reply apply to my situation as well? If so, would you mind explaining the process and what's going on with the script (i.e. what kind of file it is, where it should be placed, etc.)? I'd like to understand it better. Thanks!

Last edited by sunnystormy (2014-01-27 16:18:27)

Re: Game plugin creation on Linux

Yes, with this script you can build plugings for linux using make or Code::Blocks.

This script must be saved as 'premake4.lua'

First download latest Premake (currently version 4.4) and put it in your Maratis project folder.
Then put the premake script template in this folder and modify 2 lines:
    - replace MSDK/ in msdk = "MSDK/" by the path to your Maratis MSDK folder
    - replace PluginSources in sources_folder = "PluginSources" by the name of the folder containing the sources of your plugin

In your Maratis project folder, create a bash file (a text file with .sh extension) with this content:

./premake4 codeblocks

Executing this bash file (by clicking it) will generate the Code::Blocks project files for you.
Alternatively use the console to go inside this folder and then type the code above.

For building using make, create a bash file with this content in your Maratis project folder:

./premake4 gmake
make

Last edited by com3D (2014-01-29 06:17:51)

Re: Game plugin creation on Linux

Cool! Thanks for clarifying, I really appreciate it. smile

Also, does this premake script template have a specific file extension? Please let me know.

EDIT:

Hey, Sponk! I downloaded the DEB packages and they installed like they were supposed to. Thanks a lot, man.

Last edited by sunnystormy (2014-01-29 00:08:25)

Re: Game plugin creation on Linux

Sorry, forgot to add that the script must be saved as 'premake4.lua' (posts edited)