Log in

View Full Version : All your Cube 3D questions answered!


Menneisyys
04-29-2006, 05:24 PM
If you have read the Definitive Multiplayer PPC Game Roundup (http://www.pocketpcmag.com/blogs/menneisyys/102005MPPPCGames.asp), you’ve already heard about this free game. It even has a Pocket PC port, which makes it even more appealing for (some) Pocket PC users.

The port runs on the (currently) two Intel 2700G-enabled Pocket PC’s, the Dell Axim x50v and x51v. As the Pocket PC platform really lacks multiplayer titles, I’ve spent quite a lot of time in trying to make the multiplayer part of Cube work. During this, I’ve made a lot of other discoveries that may interest you, particularly interoperability- and Linux-wise. If you have never wanted to play it in multiplayer but still have one of the two Dell Axim models mentioned, read on - the game may offer a lot of leisure in single player more too. The same stands for people not having these 3D-accelerated models - on the desktop or even Linux/Power PC/Mac stations, you can surely kill some time by playing the game. After all, it's free and doesn't take up much disk space.

Downloading

First, the homepage of the game is here (http://sourceforge.net/project/showfiles.php?group_id=91993). It, as with all SourceForge projects, contains all the released versions, which may make navigation a bit more complicated, particularly because the Pocket PC port of the game is hidden behind the 2004_05_22 branch (http://sourceforge.net/project/showfiles.php?group_id=91993&package_id=97123&release_id=240258) (feel free to click this directly to get to the Pocket PC-compliant games!)

If you choose to download the Pocket PC version, get the two files cube_2004_05_22_pocketpc_bin_xscale_opengl_es.zip and cube_2004_05_22_pocketpc_bin_xscale_opengl_es_optimized.zip . Unzip the former to anywhere and, then, unzip cube.exe from the latter archive. Make sure you overwrite the original cube.exe from the big ZIP file with the latter one.

Then, just transfer all the uncompressed stuff to your Pocket PC. Note that if you plan to copy it to a storage card (and not, say, the RAM of your device if it’s the non-upgraded, that is, WM2003SE x50v), you will really want to optimize your storage card before the transfer. For example, most (non-high-end) memory cards gain a lot of file creation speed if you format them to FAT16 (instead of FAT32) and eliminate the almost useless backup FAT. That way, you can even speed up the copying with an order of magnitude – this was the case with my 1 Gbyte non-high-speed Sandisk SD card, which came with FAT32 and an existing backup FAT table, making it very slow at mass-creating of files. Please read this (essential) article (http://pocketpcmag.com/forum/topic.asp?TOPIC_ID=17921) for more information on this question.

After this, just start cube.exe on our PDA from File Explorer. You may also want to create a shortcut to it in \Windows\Start Menu\Programs\Games so that you can access it easily. After starting, you can bring up the menu using the Messaging button; always use this for exiting submenus too. The Action button in the center of the D-Pad is used for choosing a menu item.

In single player mode, you’ll need to go to “Single Player” in the main menu. Then, choose any map. Note that some will not work – the device will just freeze (at least that is the case with my clean, freshly hard reset x51v). An example of these maps is the topmost ‘rampage’ map. Some other maps, on the other hand, work – like ksp1 or kksp1. You may find them cool – except for the sometimes very bad FPS rate (6-8 fps with enemies) and the game’s inability to play in-game music on most (if not all) maps.

Multiplayer

Unfortunately, it seems the currently accessible Pocket PC version is unable to participate in any kind of multiplayer game. The reason for this is that the PPC version uses an entirely different networking protocol than the non-Pocket PC (Windows, Unix) versions. (Note that this has nothing to do with the different protocol of the 05/2004 and the 08/2005 versions. Those also use incompatible protocol versions and are, therefore, unable to play each other. The Pocket PC version uses a third kind of protocol.)

Of course, there is a patch for the 05/2004 version of the desktop (more precisely, Windows-only – there’s no meant-to-be-compatible patch for any kind of Unix versions) cube.exe in the win32_binary subdirectory. It is supposed to make the Windows version of the game compatible, multiplayer network protocol-wise, with the Pocket PC version if you overwrite the original cube.exe in the 05/2004 Windows version in the bin subdirectory.

However, if you really do this, the Windows desktop version will no longer work (neither server.bat, which runs the server, nor cube.bat, which runs the game) – it’ll complain about fmod.dll as can be seen in this screenshot (http://www.winmobiletech.com/kuvat/fmodProblems.png).

If you download the publicly available fmod.dll version for example from HERE (http://www.dll-files.com/dllindex/dll-files.shtml?fmod), it won’t do this any more if you just start the server (with server.bat). Cube.bat, however, will still not work – it’ll say it can't load texture data\items128.png. This file is indeed missing. I’ve tried a quick hack by creating such a .png file (by just copying items.png in the same directory into items128.png – note that the 08/2005 version has a items_.png instead of items128.png and is very similar to items.png and this is why I've chosen to do this), it just silently dies. That is, after copying over the patched EXE file, you can only run it as a server – after you’ve also downloaded and copied over fmod.dll, that is. This means desktop Windows clients can’t connect to the server that is compatible with the protocol used on the Pocket PC. Neither can Unix clients (I’ve tested with PC Linux (Suse) clients) – they will complain about protocol incompatibility problems. That is, only Pocket PC clients could connect to a 05/2004 server patched this way.

Unfortunately, Pocket PC Cube clients won’t be able to connect either – they won’t simply see the server. I’ve tested this on two different desktop Windows XP SP2 machines, with all kinds of firewalls deactivated, through both a BT PAN network and a Wi-Fi peer-to-peer (p2p) connection. In no way could I connect from the PDA to the Windows-based servers.

(Incidentally, I’ve also tested the Pocket PC client trying to access my local Unix server via a Wi-Fi p2p connection, just to see whether the Pocket PC client sees the server (I know it wouldn’t connect because of the different protocols). It didn’t notice the, in servers.cfg, pre-configured Unix server either.)

Cube server run on the PDA itself

The other way around worked – to a certain degree. That is, non-patched Windows and Linux clients could see the server running on the PDA (the latter must be started with server.exe on the PDA.) They could, however, not connect because of the different, incompatible multiplayer protocols. As it’s impossible to run a compliant Cube version on Windows desktops (and the Unix clients aren’t patched at all), in no way it is possible to connect with

With Pocket PC-based clients, it might be possible to connect to another Pocket PC. I couldn’t test this myself because I “only” have one 2700G-enabled Pocket PC (the x51v). I don’t think it’ll be any good if it’s working, though – the PDA running the server has very bad rendering (texture filling) problems and generally very bad speed – much worse than the ones with the cube.exe file that is included in cube_2004_05_22_pocketpc_bin_xscale_opengl_es_optimized.zip. (server.exe is by itself a full EXE file – that is, it doesn’t invoke cube.exe to run the game. That is, if Pocket PC to Pocket PC multiplayer runs at all, it’s highly unlikely the player playing on the same Pocket PC that runs the server will have a good time.)

Conclusion

It seems Cube can’t be used in multiplayer mode. As a single-player game, you may want to give it a try though. I’d, however, choose Quake Mobile instead as a much faster, 2700G-compliant FPS game if being commercial isn't a problem, though. (Please see the review here (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=650&more=1&c=1&tb=1&pb=1).)

Networking remarks

Contrary to what Crossarch Multiplayer.txt states (the main multiplayer-related readme file shipped with the Pocket PC version of Cube), you do not need a strictly Wi-Fi P2P network between the Pocket PC and the server. It can be any kind of Internet network as Cube uses IP addresses (pre-configured by the user) to localize servers on network. This means the computers involved can connect to the Net in any way. To provide little lag, however, P2P or at least LAN connections are recommended. P2P, of course, also includes the battery-friendly Bluetooth PAN.

Also note that, if you try to connect the PDA via USB ActiveSync to the desktop PC so that you can play a multiplayer game between the two, the in-game menu won’t come up. That is, in no way will you be able to run the game then. (Don't know if WM2003SE x50v's are also affected by this problem or not.)

Interoperability

The game runs great between desktop Windows and Linux clients (as long as you don’t try to mix up 2004 and 2005 clients – it won’t work then) and is very fast. For example, on my (what a lovely, magnificiant screen!) high-end IBM ThinkPad a31p (FireGL 64M dedicated graphics card) notebook, it runs great even in UXGA (1600*1200).

Some tips for Unix/Linux users

Don’t forget to configure Linux not to use firewalls so that external clients can connect to your server. In Suse 10.x KDE, it’s Start/System/Control Center (YaST)/Network Devices/Network Card/Next/choose the given network card/Edit/Advanced/Detailed Settings/Firewall Zone. Set it to, for example, Internal Zone (Unprotected) from the default External Zone. (Incidentaslly, it's also here that you must configure your Wi-Fi card to join a p2p network with a given name.)

Also, don’t forget that the game must be installed into the root directory. That is, just move cube_2004_05_22.tar to the root directory (as root) and tar xfv in there.

There’re no separate Unix server batch files provided (unlike with the client, which is called cube_unix); you’ll need to run bin_unix/linux_server directly.

Other sources of Cube-related information

Main homepage (http://www.cubeengine.com/)
PDA Cube homepage (http://www.cubeengine.com/cube_intel_pda/)
Related thread (http://www.cubeengine.com/forum.php4?action=display_thread&thread_id=521)

Note that the latter two doesn’t contain any new information. The thread also mentions (as with this AximSite thread (http://www.aximsite.com/boards/showthread.php?t=100830)) the fmod.dll problem – without (unlike my article) any solution to it.

Networking

Bluetooth PAN tutorial (http://www.pocketpcthoughts.com/forums/viewtopic.php?p=371262) (alternatives: iPAQ HQ (http://www.ipaqhq.com/forums/showthread.php?p=117792), AximSite (http://www.aximsite.com/boards/showthread.php?p=869373), PPC Magazine (http://www.pocketpcmag.com/forum/topic.asp?TOPIC_ID=18904), FirstLoox (http://www.firstloox.org/forums/showthread.php?p=42475) or BrightHand (http://discussion.brighthand.com/showthread.php?s=&threadid=120872))
Wi-Fi p2p tutorial (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=588&more=1)
ActiveSync –based networking (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=555&more=1&c=1&tb=1&pb=1)

Reviews of Cube

Acid-play (user reviews) (http://www.acid-play.com/download/cube/review.php)