A game of falling blocks with RPG elements, uses pygame. In very early development, feel free to help out!
If you don't have pygame installed yet, you'll need that.
On MacOS, you can do the following:
$ brew install python # missing brew? go here http://brew.sh/
$ brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi
$ # create and/or activate a virtualenv here (optional)
$ yes | pip install hg+http://bitbucket.org/pygame/pygame
On Ubuntu (tested on 15.04 desktop),
$ sudo apt-get install python-pip mercurial
$ sudo apt-get build-dep pygame
$ # create and/or activate a virtualenv here (optional)
$ yes | pip install hg+http://bitbucket.org/pygame/pygame
On Windows, if you only want to play Falling Sky and not develop or hack on it, there is a pre-built standalone binary .exe file available for each tagged release.
If you want to develop in windows, you'll need Python27 installed somewhere, then install the pygame binaries from pygame.org and finally install either the msi release or git clone this repo and install it via setuptools or pip as per usual.
With pygame installed, you can now clone this repo or install it like a normal python package:
$ pip install fallingsky
If you want to grab the source to hack on it as well:
$ git clone https://github.com/a-tal/fallingsky.git
$ cd fallingsky
$ python setup.py develop
Either way, you should now have a fallingsky
executable in your $PATH
.
Everything in The Tragedy of the Falling Sky is meant to be dynamic. This includes:
- the screen resolution
- the block size
- maximum game board width & height
- block drop/turn/move/hold/slam delays
Currently planning on adding game play elements to do with unlocking the ability to adjust these in game. If you want, you can hack around it by changing your user preferences or launching the game through the hack back door (see main.py).
Your user preferences are stored in a platform specific/standard place. On Linux that is ~/.config/Falling Sky
, on Mac it'd be ~/Library/Application Support/Falling Sky
and on Windows it's %HOMEDRIVE%\\%HOMEPATH%\\AppData\\Local\\Falling Sky
. Inside that folder is a list of JSON files for each user.
Obviously the "artwork" is a little rough around the edges. But that's not a super high concern right now, although if someone was to offer up a better color palette that could easily be implemented and would be appreciated.
Need to make a better UI for between games. Something to track progress better, maybe track each score as well instead of just total and best to show progress over time.
Different maps. Shapes other than a rectangle. An interface for the user to select what height+width they want to use if doing arcade mode.
Sound effects. Background music.
Better backgrounds everywhere. Some pattern for arcade mode that painted the game board a bit better as well as the hold area and next area.
An interface to select how many next blocks you want. Next blocks in rows as well as columns. Some mechanism for earning more next blocks.
Better scoring. An interface to show how the difficulty of options you've selected has impacted the score modifier. Better display of points as the user scores them.
Explosion animations.
Configurable controls.
UI to configure the resolution and the block size.
Network capabilities, PvP gameplay elements, AI for PvE.
The Tragedy of the Falling Sky
Copyright (C) 2015 Adam Talsma.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to:
Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor
Boston, MA, USA 02110-1301