Beta Which Way Is Up


Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,535
Age
41
Location
Dogs in Space !
Hi,

I have "ported" "Which way is up", by Olli Etuaho, to the Pandora :)

screen1.jpg


Official home page

UPDATE:

- should no longer write to NAND (please test)
- I've added an icon


DONE:

- modified /lib/locals.py to match Pandora's resolution
- resized almost all images in /data/pictures to match Pandora's resolution

TODO:

- replace Up / Z by a Pandora button ? (fixed in build #3)
- Remove the mouse cursor (fixed in build #4)
- Replace Z key picture in-game with Pandora's B button

You can download the second beta version here. Click on "Télécharger ce fichier" to start downloading.

Extract the archive on your SD card, "cd" into and "whichwayisup" directory and launch the game with "python run_game.py" from a terminal.


Please test and report here if you find any bug or if you have any suggestions :)

I'll Tempel will ;) make a PND and upload it on the Repo when everything is OK.

EDIT: I'm a big boy now, I make my own packages :D

http://repo.openpandora.org/?page=detail&app=whichwayisup-magicsam

Bye, I hope you'll enjoy this game !

Magic Sam
 
Last edited:
I cannot test right now, but one suggestion: Make a pnd to test. People who have never seen a commandline won't test something you have to extract and run manually.

If you want to change keys and this is pygame, search for sdlk_

And thanks for doing the work involved here. I wanted to try this for a long time now :)
 
Hi mcobit !

Thanks for your kind words and help :)

One question though, how do I make a "valid" PND file for the Repo ?

I used to follow this tutorial to make PND's, but it seems to output invalid PND's, according to the Repo... :unsure:

Bye, Magic Sam
 
Ooh! Ooh! Since it's a pure Python program with all dependencies already on Pandora, it's a good candidate for use with distPND. It needs a few small changes to work with a Distutils setup script, but it's easy:
  1. Install distPND and squashfs-tools.
  2. In lib, create an empty file called __init__.py
  3. Change run_game.py to look like this:
    Code:
    #!/usr/bin/env python
    from lib import main
    main.main()
  4. Create setup.py like this:
    Code:
    #!/usr/bin/env python2
    
    from distutils.core import setup
    from glob import glob
    
    setup(
        name = 'Which Way is Up',
        version = '0.7.9',
        description = 'A game', # Put a better description here.
        long_description = open('README.txt').read(),
        author = 'Olli Etuaho',
        maintainer = 'Magic Sam',
        url = 'http://www.oletus.fi/static/whichwayisup/',
        packages = ['lib'],
        data_files = [
            ('data/levels', glob('data/levels/*')),
            ('data/misc', glob('data/misc/*')),
            ('data/music', glob('data/music/*')),
            ('data/pictures', glob('data/pictures/*')),
            ('data/sounds', glob('data/sounds/*')),
        ],
        scripts = ['run_game.py'],
        license = 'GPL',
    )
  5. Create setup.cfg like this:
    Code:
    [global]
    command-packages=distpnd
    
    [gen_pxml]
    categories=Game:ActionGame
    
    [bdist_pnd]
    info=README.txt
  6. Run "python setup.py bdist_pnd".
  7. Distribute dist/Which-Way-is-Up-0.7.9.pnd.
  8. Frolic with puppies.

I just did this with your code, and the result can be had here newer result here.

Let me know if you'd like any help with distPND. For further examples, take a look at BubbMan2 or Sparks.
 
Last edited by a moderator:
I just noticed that it's writing save data to the home directory, whereas any PND should be writing to the appdata directory (which is generally the current directory in any running PND). In util.py, just change function get_config_path to simply return os.getcwd(). Once you do that, make sure to repackage with python setup.py bdist_pnd.
 
mcobit said:
I cannot test right now, but one suggestion: Make a pnd to test. People who have never seen a commandline won't test something you have to extract and run manually.

This, especially for me. I can use a terminal and have no problems whatsoever extracting and running, but we have a PND system and I'll be buggered before I go near a terminal on the Pandora. Why should I when we have such a wonderful packaging system?

So... looking forward to the PND :p

D,
 
Last edited by a moderator:
Hi,

Thanks Tempel for your help :)

I've modified util.py as you told me to, could you please test it and run your magic script on this new version (link in my modified first post) ? Thanks !

IMPORTANT: My only orther "port" so far, SolarWolf, should also suffer from the write to NAND bug :( Please use with caution !

I'm working on an updated version for this one too.

Bye, Magic Sam
 
EVERYONE: PND here

Wait.
Code:
path_name = "os.getcwd()"
Oh dear :rolleyes:

What I meant was to replace everything in the function with a call to the os.getcwd function. It's useless as a string, and it's extra useless when the rest of the code just sets it back to the home directory. That is, it should have become
Code:
def get_config_path():
    return os.getcwd()
But in this case, it can actually be simplified even further. Just remove the whole function, including the def line, and replace it with this line:
Code:
get_config_path = os.getcwd

That's what I did to make the latest PND. I also had it include the new icon. For posterity, here are the setup.py and setup.cfg I used:
setup.py
Code:
#!/usr/bin/env python2

from distutils.core import setup
from glob import glob

setup(
    name = 'Which Way is Up',
    version = '0.7.9.2',
    description = 'A traditional and challenging 2D platformer game with a slight rotational twist.',
    long_description = open('README.txt').read(),
    author = 'Olli Etuaho',
    maintainer = 'Magic Sam',
    url = 'http://www.oletus.fi/static/whichwayisup/',
    packages = ['lib'],
    data_files = [
        ('data/levels', glob('data/levels/*')),
        ('data/misc', glob('data/misc/*')),
        ('data/music', glob('data/music/*')),
        ('data/pictures', glob('data/pictures/*')),
        ('data/sounds', glob('data/sounds/*')),
    ],
    scripts = ['run_game.py'],
    license = 'GPL',
)
setup.cfg
Code:
[global]
command-packages=distpnd

[gen_pxml]
categories=Game:LogicGame

[bdist_pnd]
info=README.txt
icon=icon.png
 
@ Tempel: thanks for your help, and sorry for my low programming skills ;)

I've uploaded your PND to the Repo (which is damn slow today, I don't know what's happening...)

EDIT: I'll update the package description later, when the site will be a little more responsive, and add full credits for your work :)

Bye, Magic Sam
 
Okay, feedback time!

First, it's a nice little game. Second, it's unplayable - at least for me. It runs in a window. Why is that? It also doesn't fit on the screen - the window title bar takes up so much room that the screen runs off the bottom, and behind the taskbar. Also needs jump and activate on the face buttons as well as the d-pad (or, as the d-pad is so damned sensitive to diagonals, put jump only on the face buttons and not on the d-pad). Using Z to advance through the reams of unnecessary text is also a pain - should be a face button. I know the icon has a "Z" on it, but it's non-obvious.

Other than that it plays well and smoothly. Fix those issues (can't believe you didn't notice it runs in a window and doesn't fit on the screen!) and it'll be a nice little platformer for the Panda.

D.
 
add screenshot to pxlm, the picture you have up there makes it look very desirable. other than that, Dunny is very much on point
 
You can set it to fullscreen by entering the menu (ESC I think? Or just die.) and setting "Fullscreen" to "yes". :)
Mapping up and down (jump and use) to A/B/X/Y would be great though.
 
[NECROMANCY]
Hi all !

After almost 6 years, I'm resuming work on this package :p

What to expect in build #3 ?

- Olli Etuaho's "Which way is up" 0.7.9 from 2008 done
- Runs on stock Python 2.7.3 + Pygame 1.9.1 done
- Game will be fullscreen by default done
- Mapped "z" to (B) (replaced "K_z" with "K_END" in the code) done
- Added some preview image done
- Source is in the package done

The updated package should be available on the Repo shortly (tomorrow if time permits).

EDIT: the package is on the Repo now :)

http://repo.openpandora.org/?page=detail&app=whichwayisup-magicsam

Cheers, Magic Sam
[/NECROMANCY]
 
Last edited:
Nice platformer :) easy at the beginning, and it´s all really self-explaining. Reminds me a little of Klonoa where the platforms also often tilt 90° :) no lengthy intro screen, you´re just thrown into the action and trying to find out :)
 
Back
Top