Game launcher and patcher

A place for Ogre users to discuss non-Ogre subjects with friends from the community.

Game launcher and patcher

Postby amireh » Fri Jun 10, 2011 10:55 pm

Hi guys :D I've been working for some time on a tool that'd allow me to update my game clients easily and steadily. This isn't exactly an Ogre-related project, hence it's in this forum, but I thought it might be useful to you since most games need this and Ogre is well ... helps games. :b

They are 2 tools, the first:

Karazeh it's a launcher/patcher tool that's plugged with different frontends/renderers (one of them is actually Ogre) that you can use to a) validate & update your game, b) launch it after it's done updating

The second tool is Kiwi, the one that generates the patch script which Karazeh consumes.

Both tools are hosted on github, completely free, licensed under the MIT, and Karazeh was built in a way that (as much as was humanly possible) didn't get in the way of your toolset/environment. For example, if you're using boost already, it can make use of boost threads. If you're using Qt, it can use Qt threads. If you're using neither, you can write your own thread wrapper, or run it in "threadless" mode!

The same goes for the "Renderers", by default I shipped 3 renderers: a vanilla/CLI one that's not really helpful, an Ogre SdkTrays-powered one, and a full-fledged Qt one which is good because you can easily customize/skin it... I might create a CEGUI renderer soon since I'm using it for my next game.

Anyway, I'd love to hear your input on this. I was amazed not to find such a tool already existing for, well, something less than thousands of USD !!

If you'd like to contribute, you can:

    * issue tickets with features you'd like to have implemented/would need in such a tool (or just reply here)
    * tell me of things you would've done better
    * help in testing it on your own distribution, i personally use arch linux and sometimes windows XP ... so I can't test thoroughly

Cheers!
amireh

PS: for anyone who's liked Vertigo the game, with the patcher finished, I'm going to be updating it heavily starting next month, so stay tuned! =D

For this message the author amireh has received 2 kudos
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby Klaim » Sat Jun 11, 2011 1:09 am

I posted links to your project in this thread (in another forum) http://forums.tigsource.com/index.php?topic=18688.0
They are trying to do something similar, so sharing should improve all potential solutions.
User avatar
Klaim
Old One
 
Posts: 2405
Kudos: 53
Joined: 11 Sep 2005
Location: Lille, France

Re: Game launcher and patcher

Postby SomeFusion » Sat Jun 11, 2011 7:26 pm

This is a very cool project!
I'm currently trying to compile it but I can't figure out how to compile log4cpp with VS2010. Its the last dependency I need.
Are there any precompiled binaries for download availeable?
Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
User avatar
SomeFusion
Goblin
 
Posts: 259
Kudos: 3
Joined: 01 Dec 2002

Re: Game launcher and patcher

Postby nevarim » Sun Jun 12, 2011 8:17 am

fantastic i will try to use for my project :D

thanks
i'm a noob until proven otherwise :D
used in my project ;) and thanks to everyone :D
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
User avatar
nevarim
Hobgoblin
 
Posts: 591
Kudos: 6
Joined: 05 Jul 2010
Location: Pavia Italy

Re: Game launcher and patcher

Postby amireh » Mon Jun 13, 2011 8:23 am

Hi guys thanks for the kind words I'm glad it's useful.

I'm currently trying to compile it but I can't figure out how to compile log4cpp with VS2010. Its the last dependency I need.
Are there any precompiled binaries for download availeable?


Yes I made one for 32bit windows that u can find here on sourceforge http://sourceforge.net/projects/karazeh/ ... anyway I'd like to remove log4cpp as a dependency soon, so u can consider this temporary :)

Let me know if u have any further trouble
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby SomeFusion » Mon Jun 13, 2011 8:48 am

Hi amireh,

I have downloaded the dep. package, but not matter which brwoser or mirror I choose for download the package always ends up corrupted. 7Zip can't open the file.

Thank you very much.
Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
User avatar
SomeFusion
Goblin
 
Posts: 259
Kudos: 3
Joined: 01 Dec 2002

Re: Game launcher and patcher

Postby amireh » Mon Jun 13, 2011 9:22 am

SomeFusion wrote:Hi amireh,

I have downloaded the dep. package, but not matter which brwoser or mirror I choose for download the package always ends up corrupted. 7Zip can't open the file.

Thank you very much.


That's odd, I can't trust Windows programs to even compress an archive bah :p Anyway, SF is acting funky and I can't upload the other archive there, so I uploaded it to my own server. Get it here http://www.amireh.net/external/KarazehDependencies_Win32.rar

Let me know if you still have trouble, this should work though I just tested it :D

Salam!
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby SomeFusion » Mon Jun 13, 2011 10:53 am

Thanks for your quick answers! I have Karazeh compiled now but I got this linker error:
Code: Select all
1>MSVCRT.lib(crtexe.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_main".
1>D:\Dev\Stuff\amireh-Karazeh-8643f14\bin\Release\Karazeh.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.


I had to change the linker subsystem setting from "/SUBSYSTEM:CONSOLE" to "/SUBSYSTEM:WINDOWS" for linking without an error.
Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
User avatar
SomeFusion
Goblin
 
Posts: 259
Kudos: 3
Joined: 01 Dec 2002

Re: Game launcher and patcher

Postby amireh » Mon Jun 13, 2011 10:57 am

SomeFusion wrote:Thanks for your quick answers! I have Karazeh compiled now but I got this linker error:
Code: Select all
1>MSVCRT.lib(crtexe.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_main".
1>D:\Dev\Stuff\amireh-Karazeh-8643f14\bin\Release\Karazeh.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.


I had to change the linker subsystem setting from "/SUBSYSTEM:CONSOLE" to "/SUBSYSTEM:WINDOWS" for linking without an error.


Thanks for the tip. Although as far as I know, that shouldn't happen as per this CMake directive:

Code: Select all
IF(WIN32 AND (KARAZEH_RENDERER_QT OR KARAZEH_RENDERER_OGRE))
  ADD_EXECUTABLE(${PROJECT_NAME} WIN32 ${Karazeh_SRCS})
ELSE()


That should force creating the VS project as a Win32 app not a console one. I'm curious, were you building with the Vanilla renderer or did you choose an Ogre/Qt one ?
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby SomeFusion » Mon Jun 13, 2011 11:34 am

Oops sorry, neither Qt nor Ogre :-) I have deleted the CmakeCache and forgot to tick the Qt renderer again.

I have found one typo in the Kiwi CMakeLists.txt.
I got linking errors because of getLogin(), the sources are added to Karazeh_SRCS instead of Kiwi_SRCS (line 85)

Code: Select all
84: IF(WIN32)
85:   SET(Karazeh_SRCS ${Karazeh_SRCS} src/getlogin.cpp)
86:   ADD_EXECUTABLE(${PROJECT_NAME} WIN32 ${Kiwi_SRCS} ${Kiwi_MOC_SRCS} ${Kiwi_QRC_SRCS} ${Kiwi_UI_SRCS})
87: ELSE()



I'm far from an expert in licensing, but by including login.h and login.cpp wich is GPL doesn't this make the complete project basically GPL licensed instead of MIT?
Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
User avatar
SomeFusion
Goblin
 
Posts: 259
Kudos: 3
Joined: 01 Dec 2002

Re: Game launcher and patcher

Postby amireh » Mon Jun 13, 2011 11:57 am

I have found one typo in the Kiwi CMakeLists.txt.


Thank you, fill commit this!

I'm far from an expert in licensing, but by including login.h and login.cpp wich is GPL doesn't this make the complete project basically GPL licensed instead of MIT?


Hmm, frankly I'm not sure. It seems to be LGPL licensed, which is not as free as the MIT one but it does not get in your way of incorporating the code within a commercial product. I have to ask about this, thanks for the notice.

It would be welcome if any licensing expert could shed some light on this.
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby SomeFusion » Mon Jun 13, 2011 12:08 pm

Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
User avatar
SomeFusion
Goblin
 
Posts: 259
Kudos: 3
Joined: 01 Dec 2002

Re: Game launcher and patcher

Postby amireh » Mon Jun 13, 2011 12:19 pm

I just came across a bug in Kiwi under Windows 7 that effectively breaks it, it happens when u set a root for the repository. I'm fixing this now. I'll update this post when it's committed so u can update.
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan

Re: Game launcher and patcher

Postby Klaim » Sun Jan 22, 2012 2:27 pm

User avatar
Klaim
Old One
 
Posts: 2405
Kudos: 53
Joined: 11 Sep 2005
Location: Lille, France

Re: Game launcher and patcher

Postby JDX_John » Mon Jan 23, 2012 10:51 am

amireh wrote:Hi guys :D I've been working for some time on a tool that'd allow me to update my game clients easily and steadily. This isn't exactly an Ogre-related project, hence it's in this forum, but I thought it might be useful to you since most games need this and Ogre is well ... helps games. :b
Sounds interesting but could you clarify why a patching tool needs an Ogre front-end? Is it supposed to run inside my game to do auto-updating, or does it run like a separate tool to update the files before I run my game?
JDX_John
Gnome
 
Posts: 397
Kudos: 2
Joined: 08 Nov 2008

Re: Game launcher and patcher

Postby amireh » Tue Jan 24, 2012 12:33 am

JDX_John wrote:
amireh wrote:Hi guys :D I've been working for some time on a tool that'd allow me to update my game clients easily and steadily. This isn't exactly an Ogre-related project, hence it's in this forum, but I thought it might be useful to you since most games need this and Ogre is well ... helps games. :b
Sounds interesting but could you clarify why a patching tool needs an Ogre front-end? Is it supposed to run inside my game to do auto-updating, or does it run like a separate tool to update the files before I run my game?


It's supposed to work in both modes: stand-alone (as a separate launcher/patcher) or in embedded mode, running as part of your application (sort of how Heroes of Newerth's patcher works like). However, I didn't get to implement the embedded-mode yet, so right now it only works as a separate application (launcher).

Now about having an Ogre front-end, it's not required, it's just there, so is the ability to use a GTK3, Cocoa, Qt, CLI, you-name-it, front-end. I wrote the Ogre front-end merely because I was using it for a small application that already used Ogre, and I didn't feel like adding yet another heavy dependency like Qt, but in those cases, it makes more sense to use the embedded mode. It's even possible to run it with no front-end at all, for whatever use that may be xD

I should mention that I've been working locally for some time on the patcher and a major release is due hopefully in February, where it'll hit the v1.0 milestone, which will mark it as production-ready! :D
amireh
Kobold
 
Posts: 25
Kudos: 6
Joined: 17 Mar 2011
Location: Amman, Jordan


Return to Lounge / Off-topic

Who is online

Users browsing this forum: No registered users and 4 guests