Compare commits

...

95 Commits

Author SHA1 Message Date
Pixdigit 9e200b3114
Update README.md 4 years ago
c-michi 2ce9eb6466 fixed #22 6 years ago
c-michi b02022f5ef Merge branch 'create_endscreen' 6 years ago
Pixdigit ca59a2c2f4 Merge branch 'merge-overlays-and-menus-with-optional-refactor' 6 years ago
Pixdigit 2f01b971e0 Merge branch 'overlay_integration' into merge-overlays-and-menus-with-optional-refactor 6 years ago
Pixdigit 7cfe6399ae converted status bar to overlay 6 years ago
Pixdigit 4570590086 made item-bar scalable 6 years ago
Pixdigit 934f841818 UNSTABLE: further work see TODO's in overlay_elements.py 6 years ago
c-michi 41bc2d046a improved game over screen 6 years ago
Pixdigit 0acb5baa16 finished overlay library to current needs 6 years ago
c-michi ccc635dc5f added first version of a game over screen 6 years ago
Pixdigit 272bd6d987 added first iteration of overlay elements 6 years ago
Pixdigit 0c3e3c8f7c Merge branch 'master' into create_endscreen 6 years ago
c-michi 700eacc1ff prepared game over screen 6 years ago
Pixdigit 1b710948f4 began work on overlays 6 years ago
Pixdigit 35655c836e added support for spinning planet 6 years ago
Pixdigit 3864d0c94f cleaned up code and completly integrated templates into menu elements 6 years ago
Pixdigit 4a3625b834 finished elem_template and instantiated all disp_elems off of it 6 years ago
Pixdigit 0a5ee9b523 migrated menu template class 6 years ago
Pixdigit 48ecc4f0dd fixed credits 6 years ago
Pixdigit f69041e529 added marker for selected work in world_menu 6 years ago
Pixdigit 4d2c383557 added change_text method to buttons 6 years ago
Pixdigit 2e68b88034 fixed everything except the changetext method for buttons 6 years ago
Pixdigit 7b80e7edb7 fixed slow menu by converting images to pixelformat 6 years ago
Pixdigit f11b26912b CC does not apply to code 6 years ago
Pixdigit cd44d2cd00 fixed world select in warp menu 6 years ago
Pixdigit 817e254d55 button now contains obj instead of text or image 6 years ago
Pixdigit 22171323dd almost finished support of new json formatting fo menus 6 years ago
Pixdigit 1e0e753188 added first unstable implementation of new button system 6 years ago
Pixdigit ab0ab7e6e5 Began work on simplifying fonts 6 years ago
Pixdigit 6146dcba65 added default values 6 years ago
Pixdigit adfe804d7a fixed lots of bugs and finished pause menu and began work on warp menu 6 years ago
Pixdigit 13e48b9fde added image disp_elem for backgrounds WIP 6 years ago
Pixdigit b250b62b60 fixed events in menu lib 6 years ago
Pixdigit 88fcaa6815 made enhancement according to #23 6 years ago
Pixdigit b687fddb94 fixed tygamusic call 6 years ago
Pixdigit eaaf5fe3cd fixed savegame loading menu and changed default behaviour in tygamusic 6 years ago
Pixdigit 835b73975c Fixed #21 added a bit doc and streamlined outline creation 6 years ago
Pixdigit fe0bf13d47 began fixing on controls menu 6 years ago
Pixdigit 1d41a85bc3 added titles and fixed a whole bunch 6 years ago
Pixdigit 05cde3253d added buttons, changed json, fixed many bugs 6 years ago
Pixdigit ce4f296f17 fixed many things. Especially relation to other objs 6 years ago
Pixdigit 47b8dcc0b2 completed integration of sliders to JSON 6 years ago
Pixdigit b2807a1851 further work on json implementation for menus 6 years ago
Pixdigit d87d564fa3 moved menu markup to json 6 years ago
Pixdigit 5b291eb978 began refactor on menu lib and moving it to JSON 6 years ago
Pixdigit 1c9941de72 began work on masks for menus 6 years ago
Pixdigit fa7dbe00f5 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar 6 years ago
c-michi 5c3ff02301 Updated credits.txt 6 years ago
Pixdigit 1a39cf6456 added fisrt support of items api 6 years ago
c-michi e00f897d1a Merge branch 'change_data_management_in_storage' 6 years ago
c-michi 9561422bbd tidied up code 6 years ago
c-michi 4e230f6acd Added posibility to change the controls 6 years ago
c-michi 355abebc83 Added menu Point for changing the controls. 6 years ago
c-michi bb9d214582 Added buttonmap to Playersettings (come in Handy for my next addition) 6 years ago
Pixdigit 68b2e7930c introduced debug item 6 years ago
c-michi 8a0c425e79 Added a buttonmap witch saves the controls 6 years ago
c-michi d0c9753684 Added a buttonmap witch saves the controls 6 years ago
c-michi a16afbb0ad changed filename of Zelda music for compatibility with windows 6 years ago
c-michi b6479c0e45 fixed accidental push of user_settings.json 6 years ago
c-michi ffa0d09c9b Tried to achieve compatibility of Music in Windows by changing the file name 6 years ago
c-michi ad05c71bf9 Added funktions for loading and saving user settings. Currently just the Volume 6 years ago
c-michi 89073edbe9 Added support for Version 2.7.11+(???) 6 years ago
c-michi 781e7ff5e5 Merge branch 'master' of https://github.com/Pixdigit/Project-Interstellar 6 years ago
Pixdigit 16b82a3a15 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar 6 years ago
Pixdigit 0cd77dfbce made overlays easier to understand 6 years ago
Pixdigit 83ed7b2a0c reduced size of pyganim library 6 years ago
c-michi 0b26293513 made push securer by ignoring the licence agreement when pushing 6 years ago
c-michi 84cd8081d3 fixed #20 6 years ago
Pixdigit 10f971b234 expanded item creator and prepared structures for item_api 6 years ago
Pixdigit db999ae27f made items and item_bar basiscs working 6 years ago
Pixdigit b17d99a4c0 made cmd & terminal stay open when READ_BEFORE_START was not set 6 years ago
Pixdigit 453fffe839 worked on resizing the item bar and items in that bar 6 years ago
Pixdigit ce80bc3cd3 added item menu bar at bottom 6 years ago
Pixdigit 4ee0030d01 fixed more stuff 6 years ago
Pixdigit a5ec2d5ab5 fixed codeclimate 6 years ago
Pixdigit 9aff183efb added info for codeclimate 6 years ago
Pixdigit 9d18ea7f86 Merge branch 'master' of https://www.github.com/Pixdigit/Project-interstellar 6 years ago
Pixdigit 4bfb5261ee further work on the overlay objects 6 years ago
Max Lange bd3b184c2e changed newline to CR+LF in READ_BEFORE_START 6 years ago
Max Lange f62c76eed0 prepared work on items 6 years ago
Max Lange a7dc260151 added overlay handler 6 years ago
Pixdigit bc7c021732 implemented first version of overlay handler 7 years ago
Pixdigit e4eb8c1938 fixed timing fixes #18 7 years ago
Pixdigit bf190797c0 changed default window in windowed mode to always 16:9 7 years ago
Pixdigit 8cbd2d1647 changed credits format 7 years ago
Pixdigit daf7aead29 Changed end-of-line marker to windows standard and improved guide to enable error reports 7 years ago
Max Lange dd35f38f53 Merge branch 'master' into local repo 7 years ago
Max Lange 8d40ad7bbe reworked use on pygame.locals.*, telegram integration and fixed a bug in midi_in 7 years ago
Pixdigit a60ef8325b added telegram integration for support and fixed bug #16 7 years ago
Pixdigit bd4ec5464a added telegram integration for support and fixed bug #16 7 years ago
Pixdigit 15a63d6672 fixed smaller bugs 7 years ago
Max Lange 1abe9623a4 user "element" fixed error #15 7 years ago
Max Lange 5daa36f4e6 Added docs and made some code PEP-conform 7 years ago
Max Lange 1b49f29976 fixed error #14 7 years ago
  1. 9
      .gitignore
  2. 5
      LICENSES.txt
  3. 3
      README.md
  4. 13
      READ_BEFORE_START.py
  5. 18
      Run.py
  6. 0
      assets/API_elems/__init__.py
  7. 0
      assets/API_elems/items/__init__.py
  8. 68
      assets/API_elems/items/creator.py
  9. 9
      assets/API_elems/items/item_template.py
  10. 2
      assets/API_elems/items/speed_boost/__init__.py
  11. 5
      assets/API_elems/items/speed_boost/data.json
  12. BIN
      assets/API_elems/items/speed_boost/images/icon.png
  13. 18
      assets/API_elems/items/speed_boost/item.py
  14. 4
      assets/API_elems/items/test/data.json
  15. BIN
      assets/API_elems/items/test/images/icon.png
  16. 65
      assets/API_elems/items/test2/data.json
  17. BIN
      assets/API_elems/items/test2/images/icon.png
  18. 31
      assets/lang/credits.txt
  19. 0
      assets/music/Major_League_Wobs-_The_Legend_of_Zelda_-_Guerudo_Valley_80's_Version.ogg
  20. BIN
      assets/sprites/item_bar.tif
  21. 391
      assets/templates/change_controls.json
  22. 10
      assets/templates/default.vars
  23. 48
      assets/templates/default_vars.json
  24. 146
      assets/templates/game_over.json
  25. 125
      assets/templates/load.json
  26. 8
      assets/templates/load.menu
  27. 155
      assets/templates/main.json
  28. 10
      assets/templates/main.menu
  29. 6
      assets/templates/nr1.design
  30. 125
      assets/templates/pause.json
  31. 9
      assets/templates/pause.menu
  32. 148
      assets/templates/settings.json
  33. 9
      assets/templates/settings.menu
  34. 165
      assets/templates/world.json
  35. 14
      assets/templates/world.menu
  36. 4
      data.py
  37. 31
      error_report.py
  38. 45
      libs/menu/IO.py
  39. 3
      libs/menu/__init__.py
  40. 720
      libs/menu/creator.py
  41. 505
      libs/menu/disp_elem.py
  42. 214
      libs/menu/templates.py
  43. 0
      libs/menu_mask/__init__.py
  44. 47
      libs/menu_mask/mask.py
  45. 26
      libs/menu_mask/test.py
  46. 40
      libs/old_libs/menu/IO.py
  47. 3
      libs/old_libs/menu/__init__.py
  48. 302
      libs/old_libs/menu/creator.py
  49. 526
      libs/old_libs/menu/disp_elem.py
  50. 28
      libs/old_libs/menu/menu.py
  51. 0
      libs/old_libs/menu_mask/__init__.py
  52. 47
      libs/old_libs/menu_mask/mask.py
  53. 26
      libs/old_libs/menu_mask/test.py
  54. 0
      libs/old_libs/overlay/__init__.py
  55. 171
      libs/old_libs/overlay/overlay.py
  56. 2
      libs/overlay/__init__.py
  57. 134
      libs/overlay/elements.py
  58. 16
      libs/overlay/helpers.py
  59. 1
      libs/pyganim/CHANGES.txt
  60. 177
      libs/pyganim/docs/Makefile
  61. BIN
      libs/pyganim/docs/basic_demo_screenshot.png
  62. 90
      libs/pyganim/docs/basics.rst
  63. BIN
      libs/pyganim/docs/bolt_strike_0001.png
  64. BIN
      libs/pyganim/docs/bolt_strike_0002.png
  65. BIN
      libs/pyganim/docs/bolt_strike_0003.png
  66. BIN
      libs/pyganim/docs/bolt_strike_0004.png
  67. BIN
      libs/pyganim/docs/bolt_strike_0005.png
  68. BIN
      libs/pyganim/docs/bolt_strike_0006.png
  69. BIN
      libs/pyganim/docs/bolt_strike_0007.png
  70. BIN
      libs/pyganim/docs/bolt_strike_0008.png
  71. BIN
      libs/pyganim/docs/bolt_strike_0009.png
  72. BIN
      libs/pyganim/docs/bolt_strike_0010.png
  73. 259
      libs/pyganim/docs/conf.py
  74. 28
      libs/pyganim/docs/index.rst
  75. 34
      libs/pyganim/docs/install.rst
  76. 242
      libs/pyganim/docs/make.bat
  77. BIN
      libs/pyganim/docs/pyganim_pig.jpg
  78. 32
      libs/pyganim/docs/spritesheets.rst
  79. BIN
      libs/pyganim/docs/terrex_0.png
  80. 8
      libs/pyganim/docs/transformations.rst
  81. 8
      libs/pyganim/docs/unittests.rst
  82. BIN
      libs/pyganim/examples/banana.gif
  83. 55
      libs/pyganim/examples/basic_demo.py
  84. 154
      libs/pyganim/examples/control_panel_demo.py
  85. 173
      libs/pyganim/examples/effects_demo.py
  86. BIN
      libs/pyganim/examples/gameimages/crono_back.gif
  87. BIN
      libs/pyganim/examples/gameimages/crono_back_run.000.gif
  88. BIN
      libs/pyganim/examples/gameimages/crono_back_run.001.gif
  89. BIN
      libs/pyganim/examples/gameimages/crono_back_run.002.gif
  90. BIN
      libs/pyganim/examples/gameimages/crono_back_run.003.gif
  91. BIN
      libs/pyganim/examples/gameimages/crono_back_run.004.gif
  92. BIN
      libs/pyganim/examples/gameimages/crono_back_run.005.gif
  93. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.000.gif
  94. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.001.gif
  95. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.002.gif
  96. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.003.gif
  97. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.004.gif
  98. BIN
      libs/pyganim/examples/gameimages/crono_back_walk.005.gif
  99. BIN
      libs/pyganim/examples/gameimages/crono_front.gif
  100. BIN
      libs/pyganim/examples/gameimages/crono_front_run.000.gif
  101. Some files were not shown because too many files have changed in this diff Show More

9
.gitignore vendored

@ -9,9 +9,18 @@
**~.*
~**.*
#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

5
LICENSES.txt

@ -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.3.3)!!!
!!!THIS PROJECT IS COPYRIGHTED!!!
!!!HOWEVER, FEEL FREE TO ASK FOR PERSMISSION VIA EMAIL FOR VERSIONS BELOW 0.3.3!!!

3
README.md

@ -1,3 +1,6 @@
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>

13
READ_BEFORE_START.py

@ -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

18
Run.py

@ -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,6 +13,8 @@ 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
@ -19,6 +22,7 @@ try:
if pygame.version.ver < "1.9.1":
raise SystemExit("Old Pygame version: " + pygame.version.ver)
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]):
@ -31,27 +35,25 @@ try:
# Run the game
from src import main
main.void()
# 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))
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
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("")
error_report.send(traceback.format_exc())
raise SystemExit(traceback.format_exc())

0
assets/API_elems/__init__.py

0
assets/API_elems/items/__init__.py

68
assets/API_elems/items/creator.py

@ -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)

9
assets/API_elems/items/item_template.py

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

2
assets/API_elems/items/speed_boost/__init__.py

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

5
assets/API_elems/items/speed_boost/data.json

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

BIN
assets/API_elems/items/speed_boost/images/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

18
assets/API_elems/items/speed_boost/item.py

@ -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

4
assets/API_elems/items/test/data.json

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

BIN
assets/API_elems/items/test/images/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

65
assets/API_elems/items/test2/data.json

@ -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
}
]
}

BIN
assets/API_elems/items/test2/images/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

31
assets/lang/credits.txt

@ -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,18 +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 Pixdigit

0
assets/music/Major_League_Wobs:_The_Legend_of_Zelda_-_Guerudo_Valley_80's_Version.ogg → assets/music/Major_League_Wobs-_The_Legend_of_Zelda_-_Guerudo_Valley_80's_Version.ogg

BIN
assets/sprites/item_bar.tif

Binary file not shown.

391
assets/templates/change_controls.json

@ -0,0 +1,391 @@
{
"imports": [
"./assets/templates/default_vars.json"
],
"objects": {
"buttons": [
{
"name": "up_key",
"content": "$up_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "$half",
"y_rel": "%30",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "left_key",
"content": "$left_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "up_key",
"from": "BottomLeft",
"to": "TopLeft",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "down_key",
"content": "$down_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "left_key",
"from": "BottomLeft",
"to": "TopLeft",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "right_key",
"content": "$right_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "down_key",
"from": "BottomLeft",
"to": "TopLeft",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "fire_key",
"content": "$fire_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "right_key",
"from": "BottomLeft",
"to": "TopLeft",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "fire_circle_key",
"content": "$fire_circle_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "fire_key",
"from": "BottomLeft",
"to": "TopLeft",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "up_sec_key",
"content": "$up_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "up_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "left_sec_key",
"content": "$left_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "left_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "down_sec_key",
"content": "$down_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "down_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "right_sec_key",
"content": "$right_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "right_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "fire_sec_key",
"content": "$fire_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "fire_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "fire_circle_sec_key",
"content": "$fire_circle_sec_key",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": 5,
"position": {
"pos_rel_obj": "fire_circle_key",
"from": "TopMid",
"to": "TopRight",
"x_rel": "%135",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "return",
"content": "Return",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": "$ratio",
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "$half",
"y_rel": "%90",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
}
],
"titles": [
{
"name": "controls",
"label": "Controls",
"typeface": "$typeface",
"size": 30,
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "$half",
"y_rel": "%10",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "up",
"label": "Up:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "up_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "left",
"label": "Left:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "left_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "down",
"label": "Down:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "down_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "right",
"label": "Right:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "right_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "shoot",
"label": "Shoot:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "fire_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "shoot_circle",
"label": "Shoot Circle:",
"typeface": "$typeface",
"size": "$size",
"color": "$color",
"bold": false,
"italics": false,
"position": {
"pos_rel_obj": "fire_circle_key",
"from": "TopMid",
"to": "TopLeft",
"x_rel": "%65",
"y_rel": 1,
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
}
]
}
}

10
assets/templates/default.vars

@ -1,10 +0,0 @@
<#box1 = (./assets/templates/nr1.design,6)
<#box2 = (./assets/templates/nr1.design,./assets/sprites/knob1.tif,6)
<%ratio = 1100
<~size = 20
<"typeface = monospace
<*color = (255,255,10)
<%half = 50
<%qrt = 25
<[offon = (OFF, ON)

48
assets/templates/default_vars.json

@ -0,0 +1,48 @@
{
"variables": {
"box1": {
"border_size": 6,
"inner_color": [
0,
0,
50,
20
],
"outline": "./assets/sprites/design1.tif"
},
"box2": {
"border_size": 6,
"inner_color": [
0,
0,
50,
20
],
"outline": "./assets/sprites/design1.tif",
"slider_knob": "./assets/sprites/knob1.tif"
},
"color": [
255,
255,
10
],
"half": "%50",
"qrt": "%25",
"ratio": 11.0,
"size": 20,
"standard_font": {
"antialias": true,
"bold": false,
"color": [
255,
255,
10
],
"font": "monospace",
"italics": false,
"size": 20,
"underline": false
},
"typeface": "monospace"
}
}

146
assets/templates/game_over.json

@ -0,0 +1,146 @@
{
"imports": [
"./assets/templates/default_vars.json"
],
"objects": {
"titles": [
{
"name": "title",
"label": "Game Over",
"size": 40,
"font_conf": "$standard_font",
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "$half",
"y_rel": "%28",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "time",
"label": "Time:",
"size": 30,
"font_conf": "$standard_font",
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "%47",
"y_rel": "%35",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "time_value",
"label": "$time",
"size": 30,
"font_conf": "$standard_font",
"position": {
"pos_rel_obj": "time",
"from": "TopRight",
"to": "TopLeft",
"x_rel": "%105",
"y_rel": "%100",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "targets",
"label": "Targets left:",
"size": 30,
"font_conf": "$standard_font",
"position": {
"pos_rel_obj": "time",
"from": "BottomRight",
"to": "TopRight",
"x_rel": "%100",
"y_rel": "%100",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
},
{
"name": "targets_value",
"label": "$targets",
"size": 30,
"font_conf": "$standard_font",
"position": {
"pos_rel_obj": "targets",
"from": "TopRight",
"to": "TopLeft",
"x_rel": "%105",
"y_rel": "%100",
"x_abs": 0,
"y_abs": 0,
"layer": 1
}
}
],
"images": [
{
"name": "background",
"image": "./assets/sprites/Background1.tif",
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopLeft",
"x_rel": 0,
"y_rel": 0,
"x_abs": 0,
"y_abs": 0,
"layer": 0
}
}
],
"buttons": [
{
"name": "retry",
"content": "Retry",
"font_conf": "$standard_font",
"font": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": "$ratio",
"position": {
"pos_rel_obj": "master_screen",
"from": "TopLeft",
"to": "TopMid",
"x_rel": "$half",
"y_rel": 0.45,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
},
{
"name": "main_menu",
"content": "Back to Menu",
"font": "$typeface",
"size": "$size",
"color": "$color",
"box": "$box1",
"width_to_hight_ratio": "$ratio",
"position": {
"from": "BottomMid",
"pos_rel_obj": "retry",
"to": "TopMid",
"x_rel": 1,
"y_rel": 1,
"x_abs": 0,
"y_abs": 10,
"layer": 1
}
}
]
}
}

125
assets/templates/load.json

@ -0,0 +1,125 @@
{
"imports": [
"./assets/templates/default_vars.json"
],
"objects": {
"buttons": [
{
"box": "$box1",
"color": "$color",
"content": "Return",
"name": "return",
"position": {
"from": "TopLeft",
"pos_rel_obj": "master_screen",
"to": "TopRight",
"x_abs": 0,
"x_rel": "%80",
"y_abs": 0,
"y_rel": "%30",
"layer": 1
},
"size": "$size",
"typeface": "$typeface",
"width_to_hight_ratio": "5"
},
{
"box": "$box1",
"color": "$color",
"content": "Previous",
"name": "previous",
"position": {
"from": "TopLeft",
"pos_rel_obj": "master_screen",
"to": "TopLeft",
"x_abs": 0,
"x_rel": "%20",
"y_abs": 0,
"y_rel": "%90",
"layer": 1
},
"size": "$size",
"typeface": "$typeface",
"width_to_hight_ratio": "5"
},
{
"box": "$box1",
"color": "$color",
"content": "Load",
"name": "load",
"position": {
"from": "TopLeft",
"pos_rel_obj": "master_screen",
"to": "TopMid",
"x_abs": 0,
"x_rel": "%50",
"y_abs": 0,