{"id":16230108,"url":"https://github.com/tcdude/pyweek28","last_synced_at":"2025-04-08T05:47:30.520Z","repository":{"id":112055740,"uuid":"210074307","full_name":"tcdude/pyweek28","owner":"tcdude","description":"Theme: Tower","archived":false,"fork":false,"pushed_at":"2019-09-29T21:14:10.000Z","size":38630,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T17:01:11.671Z","etag":null,"topics":["gamejam","panda3d","procedural-generation","procgen","pyweek"],"latest_commit_sha":null,"homepage":"https://pyweek.org/e/tizilogic/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tcdude.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-22T01:27:20.000Z","updated_at":"2019-09-29T21:14:12.000Z","dependencies_parsed_at":"2023-05-04T11:35:41.383Z","dependency_job_id":null,"html_url":"https://github.com/tcdude/pyweek28","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcdude%2Fpyweek28","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcdude%2Fpyweek28/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcdude%2Fpyweek28/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcdude%2Fpyweek28/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tcdude","download_url":"https://codeload.github.com/tcdude/pyweek28/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247785921,"owners_count":20995642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamejam","panda3d","procedural-generation","procgen","pyweek"],"created_at":"2024-10-10T13:00:22.504Z","updated_at":"2025-04-08T05:47:30.498Z","avatar_url":"https://github.com/tcdude.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Devils Tower\n\nThis is my entry for [PyWeek 28](https://pyweek.org/28/), with the theme __*Tower*__.\n\n## About\n\n![Screenshot](https://www.tizilogic.com/wp-content/uploads/2019/09/Screenshot-from-2019-09-28-23-55-02.png \"Devils Tower\")\n\n\nA puzzle / exploration game that heavily relies on procedural generation.\nI wasn't too excited about the theme Tower at first and when searching\nthe web, I stumbled on the [\"Devils Tower\"](https://en.wikipedia.org/wiki/Devils_Tower) \nin Wyoming, USA, which looked like a shape I could more or less generate \nand thus decided to build a game that takes place around the Devils Tower.\n\nMost of the time, I spent writing various parts of procedural generators as \na basis to generate geometry, place objects, etc. Also a notable amount of \ntime I invested in things I wasn't even sure whether they would come in \nhandy later on...\n\nAs a challenge I wrote a veeery basic collision system more or less from the \nground up. I obviously didn't want to implement linear algebra ops from \nscratch, when I have libraries that do that faster than I could ever optimize \na piece of code...\n \nI did implement a quadtree just because I wanted to, at the beginning, which \nin the end proved very useful with the collision system.\n\n\n## Build / Install\n\n### Requirements\n\nThis game needs [Python](https://www.python.org) 3.6 or higher to run and \nalso, if you're not on 64-bit Windows, you'll need build tools and the \nPython headers installed/available on your system.\n\nOn **Ubuntu** *(any recent version, definitely 18.04+)* that just means running\nthis command:\n\n`sudo apt-get install build-essential python3-dev`\n\nOn **Windows** *(only if you're not running one of Windows 7/8/8.1/10 x64)*, after \ninstalling Python:\n\n  * Install [Microsoft Build Tools for Visual Studio 2019](https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019)\n  * In Build tools, install C++ build tools and ensure the latest versions \n  of MSVCv142 - VS 2019 C++ x64/x86 build tools and Windows 10 SDK are checked.\n  * In a command line prompt (Windows-Key+R -\u003e `cmd.exe`) run \n  `pip install --upgrade setuptools`\n\nI'm sure on other operating systems / distributions this is just as easy, \nI'm just too lazy to look up the proper commands / instructions for each.\n\n### Installation\n\n#### Windows 64-bit\nIf you're on a 64-bit Windows, you can download a binary under \n[Releases](https://github.com/tcdude/pyweek28/releases).\n\n#### Install from source\n\nClone/Download this repo *(and unpack the zip file, if not using `git clone`)*\nand run this command inside the directory:\n\n`pip install -r requirements.txt`  *(ideally in a virtual environment, but \nthat's just my opinion. [This](https://docs.python-guide.org/dev/virtualenvs/)\nmight help to bring you up to speed on the topic...)*\n\n## Run the game\n\nAfter installing all the requirements simply run: \n\n`python run_game.py` *(or `python3 run_game.py` when both Python2 and 3 are installed)*\n\n## Game Instructions\n\nI purposely did not add a bunch of text in the game. When you find one of the puzzles \nand solved it, you can just move away. To close the instructions on \n[Nonogram](https://en.wikipedia.org/wiki/Nonogram) either press one of these buttons:\n(space, enter, right or middle mouse-button).\n\nYou can switch to wireframe view with **F1** inside the game at any time.\n\n**Have fun!!**\n\n## Credits\n\n  * Using **Nonogram** for puzzles was the idea of my good friend Evelyne\n  * SFX and the song playing in the background are from my neighbor/friend Joel\n  * The [Panda3D](https://www.panda3d.org) community for helping me figure out\n  technical problems\n\n## Special Thanks to\n\n  * Kathy for keeping my back free during this jam week so I could focus 100% on creating this\n  * Evelyne to help brainstorm ideas and help me keep my motivation \n  when I got frustrated\n  * My neighbor joel, both for the music and the regular requests to \n  come outside to let our dogs play in the garden -\u003e the only fresh air I got in 7 days :P\n  * rdb for motivating me to take part in this competition in the first place \n\n![Screenshot](https://www.tizilogic.com/wp-content/uploads/2019/09/Screenshot-from-2019-09-28-23-55-42.png \"Stone Circle\")\n![Screenshot](https://www.tizilogic.com/wp-content/uploads/2019/09/Screenshot-from-2019-09-27-04-55-41.png \"Nonogram Solver\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcdude%2Fpyweek28","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftcdude%2Fpyweek28","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcdude%2Fpyweek28/lists"}