Release JCloisterZone


TrashyMG

Sarcasm Dispenser
Staff member
Joined
Jan 18, 2010
Messages
11,387
Well My first PND release.. started out light with a Java based game.. I believe I packaged this properly, included the license links and source and such.. but I'll keep this here in the Beta section to have people check it out and see if it's kosher before uploading it to the repo.


The Java pnd is required for this game to work..


So...


JCloisterZone is a Java implementation of a popular board game Carcassonne. It supports multiplayer game on a local computer or over a network. Game can be also played against computer AI.


I haven't played with the multiplayer features yet, but the AI opponents do work.. This game plays just like the board game.. you can zoom in and out.. which makes it very playable on the Pandora.


Things to note:

  • The game start menu is a bit too large to fit on the page, but fortunately there are scroll bars to make it functional.
  • Game settings don't seem to stick when returning to the game after closing, there are only 3 or 4 settings and none seem to effect game play.. I'll need to look into some linking to the appdata directory or may need to download the source and force it to look for the configuration file in the appdata directory..
  • Save games won't save in the default save directory since it's trying to do it in squashfs mount directory., but it's a good thing it will let you specify a different location..
  • game requires right mouse clicking to rotate the board pieces.. so touch screen not so much.. works fine with the nubs in mouse mode.


So you can grab the PND HERE


Tell me what you think...
 
Last edited by a moderator:
Thanks for this, I'm looking foward to playing!


Sadly, when I start the PND it loads a few seconds and then an error pops up: "There seems to be an unrevoverable error. Please rerun the install programm." Java is working from the terminal and also with a .jar. This is with HF6. The pndrun_JCloisterZone.out isn't really helping I think (it only says "return code is : 2" at the end). Any ideas?
 
Carcassonne, cool :)


I got a game going, but it crashed on my second turn when I left clicked (with nub) to place a piece (after placing a tile). I'm on the experimental kernel. Output:

=======================================================================================


PND : /media/mmcblk0p1/pandora/menu/JCloisterZone.pnd


PND_FSTYPE : ISO


APPDATADIR : /media/mmcblk0p1/pandora/appdata/JCloisterZone-2.0.4


APPDD_FSTYPE : vfat


PND_CPUSPEED : <unset>


EXENAME : ./jc.sh


ARGUMENTS : <unset>


=======================================================================================


[ START ]--- Mount the PND ----------


Mounting : mount -o ro "/dev/loop0" "/mnt/utmp/JCloisterZone-2.0.4"


Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/mmcblk0p1/pandora/appdata/JCloisterZone-2.0.4=rw+nolwh":"/mnt/pnd/JCloisterZone-2.0.4=rr" none "/mnt/utmp/JCloisterZone-2.0.4"


[sUCCESS]--- Mount the PND ----------


[ START ]--- Starting the application (./jc.sh ) ----------


Found java.pnd at /media/mmcblk0p1/pandora/menu/java.pnd


Attempting to execute jvm at /mnt/utmp/java/openjdk/usr/lib/jvm/java-6-openjdk/jre/bin/java


Args are: -jar JCloisterZone.jar


/mnt/utmp/java/openjdk.sh: line 7: 6139 Segmentation fault "$JAVA_HOME/usr/lib/jvm/java-6-openjdk/jre/bin/java" "$@"


auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device


rmdir: failed to remove `/mnt/utmp/java': Device or resource busy


[sUCCESS]--- Starting the application (./jc.sh ) ----------


[ START ]--- Restoring the frame buffer status ----------


[sUCCESS]--- Restoring the frame buffer status ----------


[ START ]--- uMount the PND ----------


[ START ]--- Waiting the Union to be available ----------


[sUCCESS]--- Waiting the Union to be available ----------


auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device


rmdir: failed to remove `/mnt/utmp/JCloisterZone-2.0.4': Device or resource busy


[ START ]--- Waiting the PND mount dir to be free ----------


[sUCCESS]--- Waiting the PND mount dir to be free ----------


cleanup done


[sUCCESS]--- uMount the PND ----------


=======================================================================================


Return code is : 2


Other thoughts (probably no real surprises here):


- Fullscreen would be nice


- Gaming controls would be even nicer - the official XBLA version does this well. Not a trivial task though, I realise.
 
Thanks for this, I'm looking foward to playing!


Sadly, when I start the PND it loads a few seconds and then an error pops up: "There seems to be an unrevoverable error. Please rerun the install programm." Java is working from the terminal and also with a .jar. This is with HF6. The pndrun_JCloisterZone.out isn't really helping I think (it only says "return code is : 2" at the end). Any ideas?


I was getting this with HF7B1 at first, but I was getting that on any Java based program.. I ended up uninstalling Java, I deleted the java.pnd I had, went and downloaded and installed the Java PND from the repo and that seemed to fix the issue for me..


@Gruso.. I never played with the new kernel yet.. I played through two full games on my pandora without issues. I'm wondering how Java is working period with the new kernel.


Edit: With more than one opponent it does get a bit choppy after a while... so maybe there is a performance issue.
 
Last edited by a moderator:
Well the Network play seems pretty good, even with Pandora's built on Wifi.. It seems to be less cpu intensive than the AI opponents. This was a direct port, no tweaking was done, It was more for me familiarizing myself with generating a PND.. I think I'm going to get the source and see what I can do about boosting the performance... perhaps reducing texture size.. etc.
 
this is an awesome game, looking forward to play it on my Pandora :)
 
Well I made an attempt to speed things up a little, I repacked the Jar file with reduced quality tile images, these new images were half the size. but I couldn't notice any difference in speed.. so I didn't upload this attempt.


However I did a test, I started a game on my desktop, added several AI opponent, without a human player. I then I joined the game on the Pandora via a network connection via wifi.. I found the game definitely more playable when the Pandora isn't handling the AI calculations.
 
Last edited by a moderator:
So this is bumming me out, I've tried playing with garbage collection, heap sizes and what not.. Doesn't seem to make it any faster or any more stable... Sometimes I can play an entire game without issues.. Sometimes It crashes sporadically in mid game. The game seems to be resource hungry sometimes peaking over 200megs.. most likely the biggest issue..


I've attempted to try to recompile the Jar files from the source.. I wanted to try out tweaking code, finding ways of saving memory, but still fighting my IDE, both Netbeans and Eclipse I seem to have issues compiling the project even without changes.. I thought I resolved all the dependency issues, just something I'm missing.. I can Repackage the already built Jar file easily enough..


so I guess, I don't want to send garbage to the Repo..


Anyone have any tips? I know Java isn't the best platform on the Pandora..


Edit: FYI I'm working with Hotfix 7 Beta 1, I haven't taken the new kernel dive quite yet
 
Last edited by a moderator:
Well I pushed this up to the Repo..


I've had some luck with eliminating the random crashed by running the game at 800mhz and enabling a 256meg swap file. Although I still haven't tried this with the new Kernel yet.


I've also updated the AI opponents names to forum members like all the founders of Open Pandora and etc..
 
Last edited by a moderator:
Ooooh, nice, Carcassone on-the-go :D


BTW: The next OS Beta version will have ZRAM (compressed SWAP RAM) included, so ressource hungry games like this might also work then :)
 
New update on the repo:

Pushed to latest release, some improvements with touch screen control, however tab or right mouse click will still need to be used to rotate tiles.

Changes since prior Pandora release:
- fix: builder should trigger only single extra turn (introduced in 2.4)
- Wind Rose expansion
- grid can be scrolled by mouse drag
- removed grid lines
- AI improvements
- fix: decreased sensitivity to mouse drag (very short drag was recognized as click) - it should prevent ignored "click" bug
- fix: Cathars - escape action is optional (so player can pass it)
- fix: sometimes game freezes when playing princess and dragon against AI (introduced in 2.2, know workaround save&load)
- Java 7 required
- add check for new version on startup (can be disabled in config.ini)
- biggest city size / longest road length hint for king and scout bonuses is back (displayed on mouse over king or robber icon)
- improved highlight shapes and meeples positioning for many tiles
- one catapult tile changed - fête divides farm
- emphasize captured follower when ransom can be paid (click on it to pay 3 points)
- internal: meeple position on tile can be defined for each theme (points.xml in theme jar)
- fix: corn circles - only followers are considered for corn actions
- fix: synchronization issue causing sometimes useless output in error.log
 
 
Last edited by a moderator:
Thanks :)

Last time I played it I had issues that some things are not properly visible with the UI as it hasn't been optimized for 800x480

Gonna try again and see if it still has issue here :)
 
Thanks :)

Last time I played it I had issues that some things are not properly visible with the UI as it hasn't been optimized for 800x480

Gonna try again and see if it still has issue here :)
The first screen were you launch a new game doesn't fit the screen it's hiding the load a game save selection, you can maximize the screen and drag the window to see everything and also the second screen where you setup the game works okay, but you need to use the scroll bars to see everything.  However once the game starts it's perfectly playable and fits the screen. 


I've been trying to get my Java development setup working properly so I can compile this myself instead of just packaging the regular release version. If I can compile it myself then I can make adjustments to the menus to make them fit on screen and also make a more pandora friendly key bindings.. I'm just running into dependency issues I need to resolve, not as familiar with Java development as C/C++ so I need to familiarize myself with it more.


For now the game is still playable, but I'm not happy with it as it is.
 
Last edited by a moderator:
Ive used this alot during my vacation beats taking the game with you everywhere. I even got my mother in law (sortof im not married) to play it, which is amazing since she dislikes computers :D
 
So finally got a working Java development environment working (despite hating Java with a passion) so I could make my own changes to the game, current version I just pushed to the repo now has some massive UI and control changes to improve playability and pushed it to the latest git sources... I tried a control scheme that I believe works well with touch screen and nub use.

I'm glad I finally got to fix many of the things that bugged me with this game, and this was my first PND I published..

http://repo.openpandora.org/?page=detail&app=JCloisterZone-204

Notes from the repo:

2014/07/14:

- Pushed to latest git sources.
- Big UI changes, Made Initial start menu fit on the screen. The game creation screen fits much better, but still require some scrolling. Start Game button resized and moved to the left. The game window works just fine.
- Pandora specific controls added.

- zooming in and out much smoother than prior versions.
- Source diff of the pandora version and the master branch found in PND under file source.diff.

Controls:
-Use DPAD or mouse drag to scroll the board.
-Zoom in: Game Button Y (PGUP) or W Key.
-Zoom Out: Game Button X (PGDN) or Z Key.
-Rotate tiles left or right with Game Button A and B keys, right mouse click or A and S keys.
-Place a tile by left click or touchscreen tap.
-Backspace to undo tile placement
-You can pass on a meeple placement action with Enter, Space or R key.
-Press F to toggle farm hints or X to see last placed tiles.


Just a reminder this needs the Java PND to run and I highly recommend installing the Oracle version of Java.
 
 
Last edited by a moderator:
^Still a bit I want to do, but figured I was at a good milestone in my work and figured I'd publish it.
 
Last edited by a moderator:
Back
Top