Compare commits

...

174 Commits

Author SHA1 Message Date
Pixdigit 9e200b3114
Update README.md
5 years ago
c-michi 2ce9eb6466 fixed #22
7 years ago
c-michi b02022f5ef Merge branch 'create_endscreen'
7 years ago
Pixdigit ca59a2c2f4 Merge branch 'merge-overlays-and-menus-with-optional-refactor'
7 years ago
Pixdigit 2f01b971e0 Merge branch 'overlay_integration' into merge-overlays-and-menus-with-optional-refactor
7 years ago
Pixdigit 7cfe6399ae converted status bar to overlay
7 years ago
Pixdigit 4570590086 made item-bar scalable
7 years ago
Pixdigit 934f841818 UNSTABLE: further work see TODO's in overlay_elements.py
7 years ago
c-michi 41bc2d046a improved game over screen
7 years ago
Pixdigit 0acb5baa16 finished overlay library to current needs
7 years ago
c-michi ccc635dc5f added first version of a game over screen
7 years ago
Pixdigit 272bd6d987 added first iteration of overlay elements
7 years ago
Pixdigit 0c3e3c8f7c Merge branch 'master' into create_endscreen
7 years ago
c-michi 700eacc1ff prepared game over screen
7 years ago
Pixdigit 1b710948f4 began work on overlays
7 years ago
Pixdigit 35655c836e added support for spinning planet
7 years ago
Pixdigit 3864d0c94f cleaned up code and completly integrated templates into menu elements
7 years ago
Pixdigit 4a3625b834 finished elem_template and instantiated all disp_elems off of it
7 years ago
Pixdigit 0a5ee9b523 migrated menu template class
7 years ago
Pixdigit 48ecc4f0dd fixed credits
7 years ago
Pixdigit f69041e529 added marker for selected work in world_menu
7 years ago
Pixdigit 4d2c383557 added change_text method to buttons
7 years ago
Pixdigit 2e68b88034 fixed everything except the changetext method for buttons
7 years ago
Pixdigit 7b80e7edb7 fixed slow menu by converting images to pixelformat
7 years ago
Pixdigit f11b26912b CC does not apply to code
7 years ago
Pixdigit cd44d2cd00 fixed world select in warp menu
7 years ago
Pixdigit 817e254d55 button now contains obj instead of text or image
7 years ago
Pixdigit 22171323dd almost finished support of new json formatting fo menus
7 years ago
Pixdigit 1e0e753188 added first unstable implementation of new button system
7 years ago
Pixdigit ab0ab7e6e5 Began work on simplifying fonts
7 years ago
Pixdigit 6146dcba65 added default values
7 years ago
Pixdigit adfe804d7a fixed lots of bugs and finished pause menu and began work on warp menu
7 years ago
Pixdigit 13e48b9fde added image disp_elem for backgrounds WIP
7 years ago
Pixdigit b250b62b60 fixed events in menu lib
7 years ago
Pixdigit 88fcaa6815 made enhancement according to #23
7 years ago
Pixdigit b687fddb94 fixed tygamusic call
7 years ago
Pixdigit eaaf5fe3cd fixed savegame loading menu and changed default behaviour in tygamusic
7 years ago
Pixdigit 835b73975c Fixed #21 added a bit doc and streamlined outline creation
7 years ago
Pixdigit fe0bf13d47 began fixing on controls menu
7 years ago
Pixdigit 1d41a85bc3 added titles and fixed a whole bunch
7 years ago
Pixdigit 05cde3253d added buttons, changed json, fixed many bugs
7 years ago
Pixdigit ce4f296f17 fixed many things. Especially relation to other objs
7 years ago
Pixdigit 47b8dcc0b2 completed integration of sliders to JSON
7 years ago
Pixdigit b2807a1851 further work on json implementation for menus
7 years ago
Pixdigit d87d564fa3 moved menu markup to json
7 years ago
Pixdigit 5b291eb978 began refactor on menu lib and moving it to JSON
7 years ago
Pixdigit 1c9941de72 began work on masks for menus
7 years ago
Pixdigit fa7dbe00f5 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar
7 years ago
c-michi 5c3ff02301 Updated credits.txt
7 years ago
Pixdigit 1a39cf6456 added fisrt support of items api
7 years ago
c-michi e00f897d1a Merge branch 'change_data_management_in_storage'
7 years ago
c-michi 9561422bbd tidied up code
7 years ago
c-michi 4e230f6acd Added posibility to change the controls
7 years ago
c-michi 355abebc83 Added menu Point for changing the controls.
7 years ago
c-michi bb9d214582 Added buttonmap to Playersettings (come in Handy for my next addition)
7 years ago
Pixdigit 68b2e7930c introduced debug item
7 years ago
c-michi 8a0c425e79 Added a buttonmap witch saves the controls
7 years ago
c-michi d0c9753684 Added a buttonmap witch saves the controls
7 years ago
c-michi a16afbb0ad changed filename of Zelda music for compatibility with windows
7 years ago
c-michi b6479c0e45 fixed accidental push of user_settings.json
7 years ago
c-michi ffa0d09c9b Tried to achieve compatibility of Music in Windows by changing the file name
7 years ago
c-michi ad05c71bf9 Added funktions for loading and saving user settings. Currently just the Volume
7 years ago
c-michi 89073edbe9 Added support for Version 2.7.11+(???)
7 years ago
c-michi 781e7ff5e5 Merge branch 'master' of https://github.com/Pixdigit/Project-Interstellar
7 years ago
Pixdigit 16b82a3a15 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar
7 years ago
Pixdigit 0cd77dfbce made overlays easier to understand
7 years ago
Pixdigit 83ed7b2a0c reduced size of pyganim library
7 years ago
c-michi 0b26293513 made push securer by ignoring the licence agreement when pushing
7 years ago
c-michi 84cd8081d3 fixed #20
7 years ago
Pixdigit 10f971b234 expanded item creator and prepared structures for item_api
7 years ago
Pixdigit db999ae27f made items and item_bar basiscs working
7 years ago
Pixdigit b17d99a4c0 made cmd & terminal stay open when READ_BEFORE_START was not set
7 years ago
Pixdigit 453fffe839 worked on resizing the item bar and items in that bar
7 years ago
Pixdigit ce80bc3cd3 added item menu bar at bottom
7 years ago
Pixdigit 4ee0030d01 fixed more stuff
7 years ago
Pixdigit a5ec2d5ab5 fixed codeclimate
7 years ago
Pixdigit 9aff183efb added info for codeclimate
7 years ago
Pixdigit 9d18ea7f86 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar
7 years ago
Pixdigit 4bfb5261ee further work on the overlay objects
7 years ago
Max Lange bd3b184c2e changed newline to CR+LF in READ_BEFORE_START
8 years ago
Max Lange f62c76eed0 prepared work on items
8 years ago
Max Lange a7dc260151 added overlay handler
8 years ago
Pixdigit bc7c021732 implemented first version of overlay handler
8 years ago
Pixdigit e4eb8c1938 fixed timing fixes #18
8 years ago
Pixdigit bf190797c0 changed default window in windowed mode to always 16:9
8 years ago
Pixdigit 8cbd2d1647 changed credits format
8 years ago
Pixdigit daf7aead29 Changed end-of-line marker to windows standard and improved guide to enable error reports
8 years ago
Max Lange dd35f38f53 Merge branch 'master' into local repo
8 years ago
Max Lange 8d40ad7bbe reworked use on pygame.locals.*, telegram integration and fixed a bug in midi_in
8 years ago
Pixdigit a60ef8325b added telegram integration for support and fixed bug #16
8 years ago
Pixdigit bd4ec5464a added telegram integration for support and fixed bug #16
8 years ago
Pixdigit 15a63d6672 fixed smaller bugs
8 years ago
Max Lange 1abe9623a4 user "element" fixed error #15
8 years ago
Max Lange 5daa36f4e6 Added docs and made some code PEP-conform
8 years ago
Max Lange 1b49f29976 fixed error #14
8 years ago
Max Lange ae5f17ba9e Merge branch 'JSON-implementation'
8 years ago
Max Lange dcba5843ff fixed serveral bugs
8 years ago
Max Lange bd27294b07 removed unused planet sprites
8 years ago
Max Lange 6143f49b66 Merge branch 'exploding_player'
8 years ago
Max Lange cf134bdbef completly implemented exploding player and moved animation to sprite sheets
8 years ago
Max Lange f3f43df539 replaced spinning planet with sprite sheet animation
8 years ago
Max Lange a423b81305 preparation for implementing exploding player
8 years ago
Max Lange 187daabfa9 implemented new pyganim version with some relevant fixes in there
8 years ago
Max Lange 4f297f67a5 fixed python version checking
8 years ago
Max Lange aafbbc7a6e added @miezebieze to credits
8 years ago
Max Lange d2316738bf fixed crash because looping imports through new game_data file
8 years ago
Max Lange 0714438f39 added symbolic link to test folder for unit testing
8 years ago
Max Lange f2cd83bf0a moved saving and loading into seperate file
8 years ago
Max Lange 920ca2b111 simplified object data loading and removed unused data from savegame
8 years ago
Max Lange 3ffe1d029a finalized JSON data saving
8 years ago
Max Lange 56f8e2f411 simplified star generation
8 years ago
Max Lange 6c4c48dbaf changed data structure of savegames
8 years ago
Max Lange 7cac54d5c3 seperated saving into a folder for a savegame
8 years ago
Max Lange f95b95064e added loading and expanded saving method to save nearly everything
8 years ago
Max Lange 07320318b2 improved version checking system thanks to miezebieze
8 years ago
Max Lange 8e4ff45a3f implemented JSON as data format for saveing files - UNSTABLE
8 years ago
Max Lange c9f058e85c Merge branch 'small-fixes-for-0.3.3'
8 years ago
Max Lange c0d65a4103 fixed not diplaying newly saved games
8 years ago
Max Lange 5f8e06519a fixed default savegame
8 years ago
Max Lange 6de0e3d1f6 reverted to original state after testing github front page testing
8 years ago
Max Lange 09e51ce3d0 removed index.html that was used for testing
8 years ago
Pixdigit c086212a00 Further testing of github front page display
8 years ago
Pixdigit 145fa3b653 Testing custom web page by renaming README.md
8 years ago
Max Lange 60dbb33241 fixed issue #10
8 years ago
Max Lange a337282d6b fixed issue #9
8 years ago
Max Lange 34ec9c4184 fixed key input raising error when smaller than one in warp menu
8 years ago
Max Lange 8fe8df2599 adopted changes in README.md into README.html
8 years ago
Max Lange f2ddf54126 Deactivated debugmode
8 years ago
Max Lange 1bee8a5f15 Adjusted README.md to 0.3.3
8 years ago
Max Lange 60013715f6 fixed non-16to9 formats
8 years ago
Max Lange e167ff4360 changed some patterns to only locally ignored
8 years ago
Max Lange f9f9f739b4 removed unused functions out of src/settings.py
8 years ago
Max Lange f4bac610cd removed redunant addition of background image in menus
8 years ago
Max Lange 7392f383d5 fixed documentation in tygamusic
8 years ago
Max Lange 2b6fcc7832 optimized activation of fullscreen
8 years ago
Max Lange 4c186404f8 changed name from NCO to Pixdigit
8 years ago
Max Lange 7b50c0159b fixed game not adjusting to new screensize after loading game
8 years ago
Max Lange 81ac6a28f2 Added load game option to main menu
8 years ago
Max Lange d83d196f19 removed unused files, updated README, small fixes
8 years ago
Max Lange e58a5de65a removed redunant variables
8 years ago
Max Lange 84650dfc15 Some improvements towards PEP-8
8 years ago
Max Lange 1f088f82ec fixed issue #7
8 years ago
Max Lange 00f686441a workaround for targets behind powerbar
8 years ago
Max Lange 9c2fa59bea targets and warp statioin now in screen and partly solved #3
8 years ago
Max Lange 7836c3673b selected world in warp menu is highlighted when selected
8 years ago
Max Lange 04ae21e037 the relative argument now refers to previous element instead of last element of that type
8 years ago
Max Lange 0d9238b889 fixed back button in loading save screen's formular
8 years ago
Max Lange eaca7287fb simplified design loading
8 years ago
Max Lange 83d3069860 changed design on savegame load menu
8 years ago
Max Lange 27296d88d5 Fixed displaying unicode filnames on save selection
8 years ago
Max Lange 67f99141a3 Merge branch 'warp-menu-and-stuff'
8 years ago
Max Lange fe1fd5d1e9 unicode support for showing filenames
8 years ago
Max Lange 8792077e72 fixed tygamusic failing when unpaused more than paused
8 years ago
Max Lange 03e8d3bc8c fixed inputfield
8 years ago
Max Lange d3c9a36a3d fixed inputbox not being placed correctly
8 years ago
Max Lange 8ddc466df9 made calling of menu lib pep-8 conform
8 years ago
Max Lange 7cdb6c1a13 tweaked difficulty and fixed small bugs
8 years ago
Max Lange 436d15a1ec tweaked menus and fixed smaller bugs
8 years ago
Max Lange a7e331613d adapted most important menus to new notation
8 years ago
Max Lange dde73951f9 fixed slider value for button size were default to 0 when first load
8 years ago
Max Lange dc9af26629 made slider possible to be placed relative to another
8 years ago
Max Lange 1e771865a9 changed identation from whitespace to ~ to mark relativity of buttons
8 years ago
Max Lange 684b698b64 Finished fixing buttons with relative position
8 years ago
Max Lange 4e92a0adf9 fixed custom menu events and more work on buttons
8 years ago
Max Lange 35c12c9ed4 began work on relative buttons UNSTABLE
8 years ago
Max Lange 88738c7da2 added option to change button size
8 years ago
Max Lange d62bb57395 added height to length ratio as option to sliders and buttons
8 years ago
Max Lange f5c7aedb3e Many smaller fixes and improvements
8 years ago
Max Lange 921b298216 added faster ship to debugmode
8 years ago
Max Lange 69970e1e8e fixed issue #3
8 years ago
Max Lange 2f456e5d91 fixed issue #3
8 years ago
Max Lange 251c9d9318 fixed issue #3 and #4
8 years ago
Pixdigit ca148b7391 Update LICENSES.txt
8 years ago
Pixdigit 15f870ab99 Update README.md
8 years ago

18
.gitignore vendored

@ -5,12 +5,22 @@
**.pyo
**.pyc
#custom pattern to make ignored files without addig new rule
**IGNORE*.*
#Custom ignored files
**~.*
~**.*
#the Ninja project file
**.nja
#Ninja project file
*.nja
#Licence agreement
READ_BEFORE_START.py
#empty folders
screenshots/*
assets/sprites/player/*
#symlinks in testing folder
src/tests/settings.py
#user settings
userdata/user_settings.json

@ -2,7 +2,8 @@ Licenses: (Thank you to all who make such things public avalible ;) Be sure to c
The python pygame library "Pyganim" in ./libs/pyganim is made by Al Sweigart and released under a "Simplified BSD" license. [ al@inventwithpython.com http://inventwithpython.com/pyganim ]
The (slightly modified)library "Tygamusic" in ./libs/tygamusic is made by me and released under a Creative Commons Attribution 3.0 license. Visit http://creativecommons.org/licenses/by/3.0/ for detailed info.
The (slightly modified)library "Tygamusic" in ./libs/tygamusic is made by me and released under a "Creative Commons Attribution 3.0" license. Visit http://creativecommons.org/licenses/by/3.0/ for detailed information.
The Telegram bot python interface "python-telegram-bot" in ./libs/telegram is made by Leandro Toledo and released under a "LGPL-3" (Lesser GPL 3). Visit https://gnu.org/licenses/lgpl.html for detailed information-
"Free Ambient Loop" by Sweetwaveaudio is licensed under a Creative Commons Licence. [ www.sweetwaveaudio.co.uk , http://creativecommons.org/licenses/by/3.0/ ]
"Chibi Ninja" by Eric Skiff is licensed under a Creative Commons Attribution License. [ http://freemusicarchive.org/music/Eric_Skiff/ , http://creativecommons.org/licenses/by/3.0/ ]
@ -13,5 +14,5 @@ The testsound.mp3 (NOT .ogg!) was generated with http://www.fromtexttospeech.com
The artworks in ./assets/sprites/explosions are made by Chabull and are released under a Creative Commons Attribution License [ http://opengameart.org/users/chabull , http://creativecommons.org/licenses/by/3.0/ ]
!!!THIS PROJECT IS COPYRIGHTED BUT WILL BE CREATIVE COMMONS IN THE NEXT VERSION (0.4)!!!
!!!HOWEVER, FEEL FREE TO ASK FOR PERSMISSION VIA EMAIL FOR VERSIONS BELOW 0.4!!!
!!!THIS PROJECT IS COPYRIGHTED!!!
!!!HOWEVER, FEEL FREE TO ASK FOR PERSMISSION VIA EMAIL FOR VERSIONS BELOW 0.3.3!!!

@ -0,0 +1,222 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="ReText 4.1.2">
<title>README</title>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61489424-2', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<p><img alt="Logo" src="https://lh3.googleusercontent.com/-ZjA1FSivXNw/VSaOqy8nSRI/AAAAAAAAAB4/_nW122LgHr0/s701-no/all.tiff" title="Logo"></p>
<h2>Project Interstellar is a 2d space-adventure game</h2>
<h4>developed in and with : Python, Pygame, Git/Github and Ninja-IDE. Currently pre-alpha status.</h4>
<p>Version 0.3.3</p>
<h2>How to Run the Game</h2>
<p><br>This is just a developement version so you need
the programming language <a href="https://www.python.org/downloads/release/python-2710/">Python version 2.x .</a></br>
<br>And the physics and graphics engine <a href="http://www.pygame.org/download.shtml">Pygame.</a></br>
<br>Both have a good guide how to install them otherwise google is your friend.</br>
<h5>Windows:</h5>
In normal case double clicking Run.py should start it. If this does not work google for "How to start a .py file".
<br></br>
<h5>Debian based systems:</h5>
Double click on Run.sh. If this does not work make sure it has its executable bit set. Do this by opening a terminal in this folder or navigating there with a "normal" terminal and then copy-paste this command: chmod u+x ./Run.sh
<br></br>
<h5>Other:</h5>
Google for: "how to run python files in" and add you OS
<br></br></p>
<h2>How to play</h2>
<p><br>Use WASD for movement (arrowkeys work too)</br>
<br>F or space will shoot a bullet</br>
<br>When on full power use C to shoot in eight directions</br>
<br>Pressing Y makes you faster while X slower</br>
<br>Use escape to pause the game</br>
<br>Can you get below my 295294ms?</br>
<br></br></p>
<h2>Features</h2>
<p><ul>
<li>f12 for screenshot</li>
<li>f6 to change music</li>
<li>esc to exit</li>
<li>many hidden features</li>
</ul></p>
<h2>Custom music</h2>
<p>Simply paste your music into the ./assets/music folder to be included in the game.
"_" will be replaced with spaces " ". For best support use .ogg but .mp3 will work too.</p>
<h2>File / Code information</h2>
<p>(Codelines ver:0.3.3)</p>
<table>
<thead>
<tr>
<th>File</th>
<th>Code</th>
<th>Non-code</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Run.py</td>
<td>39</td>
<td>14</td>
<td>53</td>
</tr>
<tr>
<td>libs/menu/creator.py</td>
<td>351</td>
<td>84</td>
<td>435</td>
</tr>
<tr>
<td>libs/menu/disp_elem.py</td>
<td>324</td>
<td>88</td>
<td>412</td>
</tr>
<tr>
<td>libs/menu/IO.py</td>
<td>30</td>
<td>6</td>
<td>36</td>
</tr>
<tr>
<td>libs/tygamusic/tygamusic.py</td>
<td>218</td>
<td>80</td>
<td>298</td>
</tr>
<tr>
<td>src/chat.py</td>
<td>4</td>
<td>5</td>
<td>9</td>
</tr>
<tr>
<td>src/draw.py</td>
<td>160</td>
<td>42</td>
<td>202</td>
</tr>
<tr>
<td>src/interface.py</td>
<td>108</td>
<td>17</td>
<td>125</td>
</tr>
<tr>
<td>src/main.py</td>
<td>46</td>
<td>30</td>
<td>76</td>
</tr>
<tr>
<td>src/menu.py</td>
<td>317</td>
<td>116</td>
<td>487</td>
</tr>
<tr>
<td>src/midi_in.py</td>
<td>71</td>
<td>19</td>
<td>90</td>
</tr>
<tr>
<td>src/missions.py</td>
<td>55</td>
<td>19</td>
<td>74</td>
</tr>
<tr>
<td>src/movement.py</td>
<td>14</td>
<td>9</td>
<td>23</td>
</tr>
<tr>
<td>src/namings.py</td>
<td>74</td>
<td>24</td>
<td>98</td>
</tr>
<tr>
<td>src/objects.py</td>
<td>214</td>
<td>51</td>
<td>265</td>
</tr>
<tr>
<td>src/player.py</td>
<td>153</td>
<td>45</td>
<td>198</td>
</tr>
<tr>
<td>src/settings.py</td>
<td>317</td>
<td>17</td>
<td>394</td>
</tr>
<tr>
<td>src/sounds.py</td>
<td>7</td>
<td>5</td>
<td>12</td>
</tr>
<tr>
<td>src/specials.py</td>
<td>67</td>
<td>14</td>
<td>81</td>
</tr>
<tr>
<td>src/worlds.py</td>
<td>101</td>
<td>32</td>
<td>133</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>2723</strong></td>
<td><strong>730</strong></td>
<td><strong>3462</strong></td>
</tr>
</tbody>
</table>
<p><strong>Top3 code only:</strong><ul>
<li>libs/menu/creator.py 351</li>
<li>libs/menu/disp_elem.py 324</li>
<li>src/menu.py &amp; src/settings.py 317</li></ul></p>
<p><strong>Top3 Commented or empty lines:</strong><ul>
<li>menu.py 116</li>
<li>libs/menu/disp_elem.py 88</li>
<li>libs/menu/creator.py 84</li></ul></p>
<p><strong>Top3 Total:</strong><ul>
<li>src/menu.py 487</li>
<li>libs/menu/creator.py 435</li>
<li>libs/menu/disp_elem.py 412</li></ul></p>
<h2>Contact Information</h2>
<p>You can contact me on the <a href="http://www.pygame.org/project-Project+Interstellar-2943-.html">homepage</a>
or via email: max12354678910@gmail.com
(subject: Project_interstellar)</p>
<h2>Licences</h2>
<p>(Licences of used music and art and libs in LICENSES.txt)</p>
</body>
</html>

@ -1,23 +1,24 @@
![main_picture](https://lh3.googleusercontent.com/-ZjA1FSivXNw/VSaOqy8nSRI/AAAAAAAAAB4/_nW122LgHr0/s701-no/all.tiff)
OFFICIALLY ON HOLD
------------------
![Logo](https://lh3.googleusercontent.com/-ZjA1FSivXNw/VSaOqy8nSRI/AAAAAAAAAB4/_nW122LgHr0/s701-no/all.tiff "Logo")
<h2>Project Interstellar is a 2d space-adventure game</h2>
<h4>developed in and with : Python, Pygame, subversion and Ninja-IDE. Currently pre-alpha status.</h4>
<h4>developed in and with : Python, Pygame, Git/Github and Ninja-IDE. Currently pre-alpha status.</h4>
Version 0.3.x
Version 0.3.3
How to Run the Game
-------------------
<br>This is just a developement version so you need
the programming language Python version 2.x:</br>
https://www.python.org/downloads/
<br>And the physics and graphics engine pygame:</br>
http://www.pygame.org/download.shtml
the programming language [Python version 2.x .](https://www.python.org/downloads/release/python-2710/)</br>
<br>And the physics and graphics engine [Pygame.](http://www.pygame.org/download.shtml)</br>
<br>Both have a good guide how to install them otherwise google is your friend.</br>
<h5>Windows:</h5>
In normal case double clicking Run.py should start it. If this does not work google for "How to start a .py file".
<br></br>
<h5>Debian based systems:</h5>
Double click on Run.sh. If this does not work make sure it has its executable bit set. Do this by opening a treminal in this folder or navigating there with a "normal" terminal and then copy-paste this command: chmod u+x ./Run.sh
Double click on Run.sh. If this does not work make sure it has its executable bit set. Do this by opening a terminal in this folder or navigating there with a "normal" terminal and then copy-paste this command: chmod u+x ./Run.sh
<br></br>
<h5>Other:</h5>
Google for: "how to run python files in" and add you OS
@ -25,18 +26,20 @@ Google for: "how to run python files in" and add you OS
How to play
-----------
To play, simply run the "Run.py" file located in the base directory
<br>Use WASD for movement (arrowkeys work too)</br>
<br>F or space will shoot a bullet</br>
<br>When on full power use C to shoot in eight directions</br>
<br>Pressing Y makes you faster while X slower</br>
<br>Use escape to pause the game</br>
<br>Can you get below my 295294ms?</br>
<br></br>
Features
--------
<ul>
<li>wasd or arrowkeys for movement</li>
<li>f12 for screenshot</li>
<li>f6 to change music</li>
<li>esc to exit</li>
<li>f or space to shoot</li>
<li>y to move faster</li>
<li>c when power bar is filled up will shoot in 8 directions</li>
<li>many hidden features</li>
</ul>
@ -47,46 +50,51 @@ Simply paste your music into the ./assets/music folder to be included in the gam
File / Code information
-----------------------
(Codelines ver:0.3.2.7)
(Codelines ver:0.3.3)
| File | Code | Non-code | Total |
| ---: | :--: | :---------------------: | :---: |
| Run.py | 39 | 14 | 53 |
| tygamusic.py | 218 | 80 | 298 |
| chat.py | 4 | 5 | 9 |
| draw.py | 222 | 55 | 277 |
| interface.py | 93 | 17 | 110 |
| main.py | 44 | 34 | 78 |
| menu.py | 287 | 68 | 355 |
| midi_in.py | 57 | 13 | 70 |
| missions.py | 52 | 19 | 71 |
| movement.py | 139 | 29 | 168 |
| namings.py | 57 | 16 | 73 |
| objects.py | 287 | 54 | 341 |
| settings.py | 381 | 78 | 459 |
| sounds.py | 7 | 4 | 11 |
| specials.py | 70 | 15 | 85 |
| File | Code | Non-code | Total |
| --------------------------: | :-: | :-: | :-: |
| Run.py | 39 | 14 | 53 |
| libs/menu/creator.py | 351 | 84 | 435 |
| libs/menu/disp_elem.py | 324 | 88 | 412 |
| libs/menu/IO.py | 30 | 6 | 36 |
| libs/tygamusic/tygamusic.py | 218 | 80 | 298 |
| src/chat.py | 4 | 5 | 9 |
| src/draw.py | 160 | 42 | 202 |
| src/interface.py | 108 | 17 | 125 |
| src/main.py | 46 | 30 | 76 |
| src/menu.py | 317 | 116 | 487 |
| src/midi_in.py | 71 | 19 | 90 |
| src/missions.py | 55 | 19 | 74 |
| src/movement.py | 14 | 9 | 23 |
| src/namings.py | 74 | 24 | 98 |
| src/objects.py | 214 | 51 | 265 |
| src/player.py | 153 | 45 | 198 |
| src/settings.py | 317 | 17 | 394 |
| src/sounds.py | 7 | 5 | 12 |
| src/specials.py | 67 | 14 | 81 |
| src/worlds.py | 101 | 32 | 133 |
| | | |
| <strong>Total</strong> | <strong>2220</strong> | <strong>501</strong> | <strong>2721</strong> |
| <strong>Total</strong> | <strong>2723</strong> | <strong>730</strong> | <strong>3462</strong> |
<strong>Top3 code only:</strong><ul>
<li>settings.py 381</li>
<li>menu.py 287, 68</li>
<li>objects.py 287, 54</li></ul>
<li>libs/menu/creator.py 351</li>
<li>libs/menu/disp_elem.py 324</li>
<li>src/menu.py & src/settings.py 317</li></ul>
<strong>Top3 Commented or empty lines:</strong><ul>
<li>tygamusic 80</li>
<li>settings.py 78</li>
<li>menu.py 68</li></ul>
<li>menu.py 116</li>
<li>libs/menu/disp_elem.py 88</li>
<li>libs/menu/creator.py 84</li></ul>
<strong>Top3 Total:</strong><ul>
<li>settings.py 459</li>
<li>menu.py 355</li>
<li>objects.py 341</li></ul>
<li>src/menu.py 487</li>
<li>libs/menu/creator.py 435</li>
<li>libs/menu/disp_elem.py 412</li></ul>
Contact Information
-------------------
You can contact me on the homepage: http://www.pygame.org/project-Project+Interstellar-2943-.html
You can contact me on the [homepage](http://www.pygame.org/project-Project+Interstellar-2943-.html)
or via email: max12354678910@gmail.com
(subject: Project_interstellar)

@ -0,0 +1,13 @@
"""
This programm uses an automated error report.
The send information will only be used to identify and resolve bugs/errors.
During this process nobody except members of developement will gain access to this data.
The data contains the type of error (e.g. I mispelled a variable or divided by 0) and a Trace.
The trace is a path to the current line in the code python was executing as well as the code in that line.
If you have read this and agree to the usage of that data (without any warranty of our side) replace the
0 with a 1.
If you do not agree but still want to use this programm replace 0 with -1
If you select -1 it will mean that we will not collect any data.
Also no bugs you encounter will be fixed if you do not send us the information manually (which you always can)
"""
allow_data_collection = -1

@ -4,6 +4,7 @@ Used to start the Game and ensure that everythings works fine.
Otherwise it reports an errormessage.
"""
import error_report
try:
import pygame
import sys
@ -12,40 +13,47 @@ try:
os.environ['SDL_VIDEO_CENTERED'] = '1'
#fix sound not playing correctly
pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
# checks if font module is availible
pygame.font
#Checks for correct version
# Checks for correct version
if pygame.version.ver < "1.9.1":
raise SystemExit("Old Pygame version: " + pygame.version.ver)
if sys.version[:5] < "2.7.6":
raise SystemExit("Outdated Python version: " + sys.version[:5])
if sys.version[:5] >= "3.0.0":
version = sys.version.split(" ")[0].split(".")
version[-1] = version[-1].split("+")[0]
required = "2.7.6".split(".")
for index in range(len(required)):
if int(required[index]) < int(version[index]):
break
if int(required[index]) > int(version[index]):
raise SystemExit("Outdated Python version: " + ".".join(version))
if sys.version[:1] >= "3":
raise SystemExit("No support for Python3")
#Run the game
# Run the game
from src import main
main.void()
#Handeling errors
# Handeling errors
except ImportError as message:
if str(message)[len(str(message)) - 6:] == "pygame": # pygame not installed
raise SystemExit("Pygame not installed")
else:
#unknown import error
print (("ERROR IMPORTING MODULES: %s" % message))
# unknown import error
report = (("ERROR IMPORTING MODULES: %s" % message))
print((report))
error_report.send("Missing library at client:\n" + report)
raise SystemExit(traceback.format_exc())
except AttributeError as detail:
#excuted if font module is not installed
# excuted if font module is not installed
detail = str(detail)
print(detail)
if detail[len(detail) - 5:][:4] == "font": # Basicly the name of the module
if detail[len(detail) - 5:][:4] == "font": # Checking if font is cause
raise SystemExit("Font module not installed (SDL_ttf)!")
else:
print(("Unexpected error:", sys.exc_info()[0]))
print("")
raise SystemExit(traceback.format_exc())
raise Exception(traceback.format_exc()) # Passing error to general handler
except Exception as detail:
#general errors
print(("Unexpected error:", sys.exc_info()[0]))
print("")
raise SystemExit(traceback.format_exc())
# general errors
error_report.send(traceback.format_exc())
raise SystemExit(traceback.format_exc())

@ -0,0 +1,68 @@
# -*- coding: utf-8 -*-
import os
import json
import shutil
print(("Welcome to the Item creator setup!"))
print((""))
print(("Please enter following data to create a new Item:"))
entered_correct_data = False
while not entered_correct_data:
try:
name = raw_input("\nName of the Item: ")
except KeyboardInterrupt:
entered_correct_data = True
continue
if name == "":
exit()
elif os.path.isdir("./" + name):
print(("\nAn item with the same name already exists."))
print(("Please enter a new name or leave line blank if you want to abort."))
print(("If you however want to overwrite it press ctrl + c"))
else:
os.mkdir("./" + name)
init_file = open("./" + name + "/__init__.py", "w+")
init_complete = "# -*- coding: utf-8 -*-\nfrom . import item"
init_file.write(init_complete)
if not os.path.exists("./" + name + "/item.py"):
shutil.copy("./item_template.py", "./" + name + "/item.py")
entered_correct_data = True
path = os.path.abspath("./") + "/" + name + "/"
image_path = path + "images/"
print(("\nPlease copy now the required images in the newly created folder."))
raw_input("Press enter to run a check if every file is present.")
test_finished = False
while not test_finished:
if not os.path.exists(image_path):
os.makedirs(image_path)
if os.path.exists(path + "icon.png"):
shutil.move(path + "icon.png", image_path + "icon.png")
all_files_present = (
os.path.isdir(image_path) and
os.path.isfile(image_path + "icon.png"))
if not all_files_present:
print(("\nNot all needed images are present."))
print(("Please check again, that all images are present."))
retry = raw_input("Type \"retry\" to test again.\nLeave line empty to abort:")
if not retry in ["retry", "\"retry\""]:
exit()
else:
test_finished = True
dataset = {"name": name,
"icon_path": "./images/icon.png",
"caller": "player",
"script": "./item.py"}
datafile = open(path + "data.json", "w+")
json.dump(dataset, datafile, indent=12)

@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-
def init(self, player, world, settings):
pass
def use(self):
pass

@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
from . import item

@ -0,0 +1,5 @@
{
"script": "./item.py",
"name": "speed_boost",
"icon_path": "./images/icon.png"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
#TODO: API concept
def init(self, player, world, settings):
global player_obj
player_obj = player
def use(self):
global player_obj
player_obj.speed *= 2.0
def unuse(self):
global player_obj
palyer_obj.speed /= 2.0

@ -0,0 +1,4 @@
{
"name": "test",
"icon_path": "./images/icon.png"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@ -0,0 +1,65 @@
{
"station": {
"y_pos": 0.5962254846146301,
"anchorx": 11,
"x_pos": 0.006538285402270971,
"anchory": 529
},
"targets": [
{
"pos_x": 192.74511131686182,
"pos_y": 407.3450649917651,
"pos_xper": 0.10198154037929197,
"chooser": true,
"kill_entity": false,
"timer": 14911,
"pos_yper": 0.38794768094453824,
"inscreen": true,
"gothit": false
},
{
"pos_x": 1738.1894050130202,
"pos_y": 14.265979294817999,
"pos_xper": 0.9196769338693228,
"chooser": true,
"kill_entity": false,
"timer": 15312,
"pos_yper": 0.013586646947445713,
"inscreen": false,
"gothit": false
},
{
"pos_x": 1645.4088153398757,
"pos_y": 995.0051259388391,
"pos_xper": 0.870586674783003,
"chooser": true,
"kill_entity": false,
"timer": 15428,
"pos_yper": 0.9476239294655611,
"inscreen": false,
"gothit": false
},
{
"pos_x": 859.2797757716456,
"pos_y": 41.383825279029026,
"pos_xper": 0.4546453840061617,
"chooser": true,
"kill_entity": false,
"timer": 14805,
"pos_yper": 0.039413166932408594,
"inscreen": true,
"gothit": false
},
{
"pos_x": 1819.875314880344,
"pos_y": 762.3059975367354,
"pos_xper": 0.962896992000182,
"chooser": true,
"kill_entity": false,
"timer": 15499,
"pos_yper": 0.7260057119397479,
"inscreen": false,
"gothit": false
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

@ -1,29 +1,15 @@
Programmers:
Me
Nick Jarvis
c-michi
Art:
Art director: Me
Assistant Design Creator: My art teacher
"Dont eat yellow snow"
-
Thanks to:
Chaos advanced, Captain Kirby, Schnewittchen(Snow White)
Art Director : Me
Assistant Design Creator : My art teacher
Music:
Eric Skiff : Chibi Ninja
Rolemusic : Straw Fields
Major League Wobs : The Legend of Zelda - Guerudo Valley 80's Version
@ -31,13 +17,17 @@ Bensound : The Elevator Bossa Nova (Menu Music)
Sweetwaveaudio : Free Ambient Loop
Special thanks to:
@miezebieze (github)
@leftees (github & codeclimate)
check the README for further information
"Dont eat yellow snow"
-
Chaos advanced, Captain Kirby, Schnewittchen(Snow White)
check the README for further information
I am NCO
I am Pixdigit

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB