{"id":22568562,"url":"https://github.com/ryepup/rpd-towerdefense","last_synced_at":"2026-01-07T20:03:51.257Z","repository":{"id":1097742,"uuid":"957154","full_name":"ryepup/rpd-towerdefense","owner":"ryepup","description":"tower defense game hobby project","archived":false,"fork":false,"pushed_at":"2011-11-06T22:04:52.000Z","size":128,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T14:14:34.636Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryepup.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-02T20:02:07.000Z","updated_at":"2013-10-20T15:36:25.000Z","dependencies_parsed_at":"2022-08-06T10:15:23.010Z","dependency_job_id":null,"html_url":"https://github.com/ryepup/rpd-towerdefense","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryepup%2Frpd-towerdefense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryepup%2Frpd-towerdefense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryepup%2Frpd-towerdefense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryepup%2Frpd-towerdefense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryepup","download_url":"https://codeload.github.com/ryepup/rpd-towerdefense/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246041444,"owners_count":20714138,"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":[],"created_at":"2024-12-08T00:13:56.056Z","updated_at":"2026-01-07T20:03:51.210Z","avatar_url":"https://github.com/ryepup.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n* Summary\n\n  This is a hobby project to make a turn-based towerdefense game.\n  This will be a more asynchronous game, where you set up the towers\n  then hit \"go\".\n\n  The \"story\" if I ever get around to making it, will be something\n  sci-fi-ish where the player is a deep-space miner and goes into\n  suspended animation for long periods of time, waking up to shore up\n  the defenses.\n\n* Todo\n** DONE foundation crap\n** DONE get a grid for the playing board\n** simulation\n*** refinery\n    basic resource-gathering structure\n* Implementation\n** lisp for simulations\n*** basic 2-stage plan/act cycle for each game piece\n** sdl for rendering\n*** fixed grid square size\n    I always get bogged down in making everything dynamic based on\n    window size, just keep it fixed for now.\n*** animation queue\n    want to make some have animations that must run their course\n    before the next turn starts.  Did something similar in sandbox,\n    but those were modelled like any other actor in the system, and I\n    think these should be separate to prevent snowballing.\n**** simple list of objects on the renderer \n     They keep track of their age, and wait for all of them to die\n     before moving on to the next step in the simulation.\n** coroutines for player actions\n*** thread-based\n    \n| Call | T | Callfun | CR             | val | ftp |\n|------+---+---------+----------------+-----+-----|\n|    0 | 0 | lck     | waiting on lck | nil | T   |\n|    1 | 1 |         | lck            | nil | nil |\n|    1 | 2 |         | lck            | 1   | nil |\n|    1 | 3 | lck     | waiting on cv  |     |     |\n\n| run lock | yield lock | waiting on cv | val |   |\n|----------+------------+---------------+-----+---|\n| cal,cor  | cor        |               | nil |   |\n|          | cor        |               | nil |   |\n| cor      | cor,cal    |               | nil |   |\n| cor      | cor,cal    |               | 1   |   |\n|          | cor,cal    |               | 1   |   |\n|          | cor,cal    |               | 1   |   |\n|          |            | cor           | 1   |   |\n|          | cal        | cor           |     |   |\n\n* assets\n** http://opengameart.org/content/iron-plague-beaconbmp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryepup%2Frpd-towerdefense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryepup%2Frpd-towerdefense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryepup%2Frpd-towerdefense/lists"}