Packaging game for distribution on Linux

Problems building or running the engine, queries about how to use features etc.
Post Reply
AbroMaN124
Gnoblar
Posts: 8
Joined: Tue Nov 18, 2014 1:22 pm

Packaging game for distribution on Linux

Post by AbroMaN124 »

Hey there,

I want to deploy my game on Linux, however I don't really know how.
Its worth mentioning that I am by no means an advance Linux user, infact I'm much closer to being a novice.
I have read this:
http://www.ogre3d.org/tikiwiki/tiki-ind ... g_on_Linux
and want to deploy the game statically so the users can simply just run the game.

Now, the site says all I need to do is change a flag in my CMake, which flag is this and were do I change it?
I am using the Ogre tutorial framework's CMake - the only difference being the inclusion of my game's header and source files. I am not using any additional libraries (not even CEGUI). I am using Ogre 1.8 (SDK) on Ubuntu .

Can anybody tell me what to do?
Also, how is the game package? Do I simply send over my dist/ folder for distribution?

Thank you.
User avatar
AlexeyKnyshev
Goblin
Posts: 213
Joined: Sat May 26, 2012 10:37 am
Location: Russia
x 13

Re: Packaging game for distribution on Linux

Post by AlexeyKnyshev »

It depends on your needs.

As said in link you provide. There is more then one way to do this on Linux (and other OSes too).
  • Distributive dependent package. Such as .deb on debian based distros (ubuntu, mint), .rpm (fedora, centos and so on). This will resolve problem of distributing Ogre, but on the other hand limits you only to default build of Ogre in each distribution. You cannot select threading lib used by Ogre or use threading at all; say Ogre::String to use custom allocator or not. Long story short, you cannot modify Ogre and it's build config. But there's a big plus: distributive community support, pacakges in most of all cases are tested and non error-prone. Other libs used by you app are to be statically linked (less problems with distribution of deps).
    Procs: flexible and quite right way.
    Cons: the most complex and less portable (for each package system you should prepare own package, but if you aim only ubuntu (or other debian based) apt will be your best friend.
    https://wiki.debian.org/HowToPackageForDebian
  • Tarball archive. Your prepare worktree of your game, make right permission (executabe files) and compress it as .tar.gz, .tar.bz2 and so on.
    Procs: most common way if you distribute your game with sources and wanna let us to build it. Simple for you as a packer.
    Cons: "As is." No version check by default (without your own scripts) of external pacakges your game depends (OpenGL, libc, libstdc++, lua, zip). No simple control by user if you want to install into /usr or /usr/local or /opt (Many linux users hate this because it is "winodws way".
  • Self-extracting archive. Most used by proprietary companies such as LokiGames & idSoftware. Read more:
    Procs & cons: same as tarball.
    http://www.megastep.org/makeself/
  • Update (27.03.15): There is quite new tech named docker. It's something like isolated container/env for you application. Read more.
There are many other uncommon and less used solutions.

Regards, Alexey Knyshev
Voltage Engine - boost your ogre project with realtime physics and interactive scripting!
OgreBullet & CMake - easy to use bullet physics integration.
Post Reply