Giter Site home page Giter Site logo

chaos-projectile's Introduction

Chaos Projectile - Run 'n' Gun meets RPG

Synopsis

Chaos Projectile is an open source 2-dimensional action arcade game with role-playing elements, currently in development.

screenshot

The game is set in the run’n’gun genre but there will also be character development system with which the character can gain additional attributes or actions permanently over the course of the game. Every level has multiple exits. Dependent on what exit the player chooses, different character attributes get changed or actions unlocked. The setting is inspired after ancient Egypt. Visual elements of the Art Nouveau era are present, as well as influences from the Cthulhu cult by Lovecraft.

Controlls

controlls

On game start a control settings screen is shown. It is possible to customize game actions and play the game with connected gamepad. Make sure the gamepad is connected and on before starting the game otherwise the game can't identify the gamepad. Sometimes it takes a second till the imput is reassigned. ESC key exits the game and ENTER key is for pause. BACKSPACE resets/reloads the game.

Control suggestions:

  • Default (are shown on image above):
    • aim: mouse move
    • attack: mouseclick
    • movement: A W D keys
    • in settings screen toggle "use default settings"
  • Game pad with double joysticks:
    • aim and attack: one stick
    • movement: other stick
    • in settings screen assign stick tilts to every player action
  • Game pad with hat:
    • aim and attack: one hat
    • movement: same hat
    • in settings screen toggle "use hat to move" and "use hat to aim" with the same hat

Run the game

Please note the release button. There you can find executables for Linux and Windows. The game must not be installed. Simply unpack the .zip and run the executable. Linux users should make the file "Chaos-Projectile" executable. For that you can use the following command chmod +x Chaos-Projectile and start the game with ./Chaos-Projectile. To uninstall just delete the directory.

Used libraries

Compiling from source

After pulling the repository, you can run the game using the following commands:

apt-get install python-pygame python-pip 
pip install pytmx pyscroll
cd src
python game.py

Or compile the game with:

python setup.py build

As the game was mainly developed on Debian-like systems, those commands assume Python and apt-get to be available. If you run the game on non-Debian operating system, you won't be able to run the first command. Thus, you will need to install pygame (used library) and pip (installer for the pytmx and pyscroll) from other sources.

screenshot

Developers

  • Code by Anna Dorokhova is licensed under GNU GPLv3
  • 2D game art assets by Anna Dorokhova are licensed under CC-BY 4.0
  • Leveldesign and balancing by Maik Helfrich GNU GPLv3

screenshot

chaos-projectile's People

Contributors

funatiker avatar iudex- avatar sven-theobald avatar winterlicht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chaos-projectile's Issues

Cannot build

  master  …   Chaos-Projectile  src    05:26:12 python game.py
File "/.../Chaos-Projectile/src/game.py", line 59
print "os: Windows Vista or newer"
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("os: Windows Vista or newer")?

python setup.py build   1 
Traceback (most recent call last):
File "/.../Chaos-Projectile/src/setup.py", line 7, in
from cx_Freeze import setup, Executable
ModuleNotFoundError: No module named 'cx_Freeze'

Controller config

Great work! Just wanted to report that on windows, Chaos Projectile runs great, but the controls on an xbox one controller are...not optimal. Just reporting that joystick controllers should have some sort of configuration. Looking forward to seeing the game progress. I like the Price of Persia styled levels and nice sprites.

Ownerless projectiles remain on the screen forever

Sometimes enemies shoot projectiles while (?) dying. In that case, it might happen that a projectile remains on screen. It stops moving when the death-animation has finished but it won't disappear but stays animated (although not harmful anymore).

Ownerless projectile 1
Ownerless projectile 2
Ownerless projectile 3
Ownerless projectile 4
Ownerless projectile 5

Tuple index out of range

I tried to run the game, but it doesn't start up. I get

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "game.py", line 66, in <module> systemMngr = systemmanager.SystemManager(evManager, game) File "systemmanager.py", line 33, in __init__ self.systems.append(rendersystem.RenderSystem(event_manager, gameWorld)) File "rendersystem.py", line 37, in __init__ clamp_camera=False) File "build/bdist.macosx-10.3-fat/egg/pyscroll/orthographic.py", line 71, in __init__ File "build/bdist.macosx-10.3-fat/egg/pyscroll/orthographic.py", line 360, in reload_animations File "build/bdist.macosx-10.3-fat/egg/pyscroll/animation.py", line 13, in __init__ IndexError: tuple index out of range
(Tried this on a Linux computer as well. Same result.) Apparently, pyscroll fails to find the animation frames in the level map data. I'm not sure if this is a problem with the game or with pyscroll.

Spikes deadliness

Spikes (type=deadly) only kill the player, not enemies.
This looks kind of strannge

Clarification about art assets licensing

Hi there,

First of all congratulations for this nice game, I found it by chance while browsing GitHub and it feels really great :)

According to doc/source/README.rst, the art assets have no specific license, it is just stated that they are copyrighted by their creators listed in the credits file.

Could you add a clarification to whether those assets are effectively nonfree, as the current lack of licensing suggests, and if so state in which conditions the assets can be redistributed (e.g. allowed to be redistributed with the Chaos Projectile game).
Better yet would be to license them under a free license like a Creative Commons license (e.g. CC BY-SA 4.0 or CC BY 4.0), but that's your call :)

'pygame.error: Invalid joystick hat' at first run and crash

2016-03-08_screenshot_001

Hi,
As a newbie, I'm doing my first local install, cloning the game at commit 714d34c on a LinuxMint 17.3 Cinnamon 64bit (ubuntu 14.04 based, rather old library) the viewport of the game launch, blink then crash after a little half-second.

Python is 2.7.6 when I do python -V in a console.
Here is the full log, text version:

deevad@workstation ~ $ sudo apt-get install python-pygame python-pip
[sudo] password for deevad: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-pygame is already the newest version.
python-pip is already the newest version.
The following packages were automatically installed and are no longer required:
  libaudcore1 libbinio1ldbl liblensfun-data liblensfun0 libmowgli2 libpano13-2
  libzthread-2.3-2 linux-image-3.16.0-38-generic
  linux-image-extra-3.16.0-38-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 23 not upgraded.
deevad@workstation ~ $ sudo pip install pytmx 'pyscroll<2.16.2' --force-reinstall
Downloading/unpacking pytmx
  Downloading PyTMX-3.20.14.zip
  Running setup.py (path:/tmp/pip_build_root/pytmx/setup.py) egg_info for package pytmx

Downloading/unpacking pyscroll<2.16.2
  Downloading pyscroll-2.16.1.zip
  Running setup.py (path:/tmp/pip_build_root/pyscroll/setup.py) egg_info for package pyscroll

Requirement already satisfied (use --upgrade to upgrade): six in /usr/lib/python2.7/dist-packages (from pytmx)
Requirement already satisfied (use --upgrade to upgrade): pygame in /usr/lib/python2.7/dist-packages (from pyscroll<2.16.2)
Installing collected packages: pytmx, pyscroll
  Running setup.py install for pytmx

  Running setup.py install for pyscroll

Successfully installed pytmx pyscroll
Cleaning up...
deevad@workstation ~ $ cd ~/Sources
deevad@workstation ~/Sources $ git clone https://github.com/WinterLicht/Chaos-Projectile.git
Cloning into 'Chaos-Projectile'...
remote: Counting objects: 1416, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 1416 (delta 0), reused 0 (delta 0), pack-reused 1409
Receiving objects: 100% (1416/1416), 40.05 MiB | 1.58 MiB/s, done.
Resolving deltas: 100% (918/918), done.
Checking connectivity... done.
deevad@workstation ~/Sources $ cd Chaos-Projectile/
deevad@workstation ~/Sources/Chaos-Projectile $ ls
doc  README.md  src
deevad@workstation ~/Sources/Chaos-Projectile $ cd src/
deevad@workstation ~/Sources/Chaos-Projectile/src $ python game.py
SDL_JoystickGetAxis value:-32767:
SDL_JoystickGetAxis value:-32767:
Traceback (most recent call last):
  File "game.py", line 76, in <module>
    spinner.run()
  File "game.py", line 42, in run
    self.event_manager.post(event)
  File "/home/deevad/Sources/Chaos-Projectile/src/events.py", line 408, in post
    listener.notify(event)
  File "/home/deevad/Sources/Chaos-Projectile/src/controller.py", line 76, in notify
    if self.joystick.get_hat(0):
pygame.error: Invalid joystick hat
deevad@workstation ~/Sources/Chaos-Projectile/src $

I hope this is not my operating-system. I'm available to enter more command line in terminal if you need more information about my library versions. Thank you for your time.

pygame issue

@WinterLicht I wanted to have Chaos-Projectile included into the Solus repositories (Solus is a popular Linux-based operating system). Unfortunately, I was informed that your game relies on pygame which does not work with the newer versions of the libraries used in Solus. Is there any way to address these issues? For reference, the issue was raised on this dev tracker: https://dev.solus-project.com/T2544

activate default controll settings on default

just starting the game and clicking "use this settings and play" doesn't work because the default settings are not enabled by default.

isn't the purpose of the defaults to be the default? 😕

unbenannt

btw, liebe Grüße 😀

Doesn't show up at all on my screen.

It appears to compile and run, but when it loads I just get a blank screen. I pressed the escape key to make it go away, and here is the error I get.
python game.py
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
libpng warning: iCCP: known incorrect sRGB profile
No handlers could be found for logger "orthographic"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.