{"id":15142533,"url":"https://github.com/raidowolf/ld39","last_synced_at":"2025-09-10T14:05:35.638Z","repository":{"id":78111171,"uuid":"98582971","full_name":"RaidoWolf/LD39","owner":"RaidoWolf","description":"Blackout - My project for Ludum Dare 39 (did not finish on time).","archived":false,"fork":false,"pushed_at":"2023-03-03T18:12:59.000Z","size":320,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T21:49:01.061Z","etag":null,"topics":["2d","company","game","game-jam","htm5","javascript","ld39","ludum-dare","phaser","power","strategy","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/RaidoWolf.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":"2017-07-27T21:57:30.000Z","updated_at":"2024-11-24T06:10:08.000Z","dependencies_parsed_at":"2024-10-09T23:11:17.663Z","dependency_job_id":null,"html_url":"https://github.com/RaidoWolf/LD39","commit_stats":{"total_commits":24,"total_committers":2,"mean_commits":12.0,"dds":0.04166666666666663,"last_synced_commit":"3949edc2d720fa5747eae49c2b7e1f2919f581e7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaidoWolf%2FLD39","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaidoWolf%2FLD39/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaidoWolf%2FLD39/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaidoWolf%2FLD39/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RaidoWolf","download_url":"https://codeload.github.com/RaidoWolf/LD39/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247509164,"owners_count":20950233,"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":["2d","company","game","game-jam","htm5","javascript","ld39","ludum-dare","phaser","power","strategy","web"],"created_at":"2024-09-26T09:42:19.083Z","updated_at":"2025-04-06T15:51:16.305Z","avatar_url":"https://github.com/RaidoWolf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ludum Dare 39\n=============\n\nMy project for Ludum Dare 39\n\n[Click to view the demo!](https://dangerbarber.com/ld39/)\n\nTheme\n-----\n\nRunning Out of Power\n\nLicense\n-------\n\nMIT (see LICENSE)\n\nDescription\n-----------\n\nThis will be a 2D strategy game where you will be responsible for keeping a\npower company afloat. The controls will consist of a large map of the city,\nproviding you with an overview of your resources and their status. But then\nstuff is going to happen... you know, people running into power poles, everybody\nturning on their air conditioning all at the same time, a crazy dude tries to\nbuild a time machine and decides he needs the full power of a transmission line\nto do so. That's when things get interesting.\n\nAs time goes on, these emergencies will occur and will down power in an area.\nDepending on what specific infrastructure is downed, it could affect a whole\ndistrict, or maybe just a small area. Either way, you're going to have to route\nrepair crews to clean up the mess because the loss of power means the loss of\nrevenue, and a power company operates on a tighter budget than you might expect\nwhen you look at your power bill.\n\nIn addition, as the game goes on, power consumption will increase, and the\nlikelihood of certain issues will increase as a result. Additionally, your power\nplants will be subject to continuous government regulation and resource\nshortages, and this will increase the cost of doing business.\n\nTo keep playing, you just have to keep your company's net worth in the green. If\nyou run out of money, your company goes under, and it's game over.\n\nYour final score will be the gross revenue over the life of your company, but\nyou'll also be able to look at the highest net worth and the amount of time your\ncompany survived.\n\nThe game will be a web-based game written primarily in JavaScript. It should be\nable to run in any up-to-date browser.\n\nRun-Time Dependencies\n---------------------\n\nThis project is built on top of the excellent Phaser (phaser-ce) HTML5 game\nengine/framework. This is the only dependency that needs to be present to run\nthe game. Phaser is, like this game, licensed with the MIT license. I've\nprovided a link to the license below. It can be installed using either `make`\nor `bower install` from the root of the repository.\n- [Website](https://phaser.io/)\n- [GitHub](https://github.com/photonstorm/phaser-ce/)\n- [License](https://github.com/photonstorm/phaser-ce/blob/master/license.txt)\n\nSupported Browsers\n------------------\n\nDue to some of the advanced features used by the code in this web application,\nwe are unable to provide indefinite backwards compatibility. The following is a\nlist of the supported browsers. Note that browsers not supported *might* work,\nit just means we won't be putting any effort in getting it to work on that\nbrowser.\n\n- Chrome 50+\n- Firefox 45+\n- Edge 14+\n- Internet Explorer 11\n- Safari 10+\n- iOS 9.3+\n- Android 4.4+\n- Opera 42+\n\nBuilding\n--------\n\nTo build this software, assuming you possess all dependencies, then all you need\nto do is execute the following command from the source code root:\n\n```sh\nmake\n```\n\nYep, that's seriously all there is to it. Unless you don't have all of the\ndependencies, then look over the build dependencies list.\n\n- GNU make\n    - Build system\n    - [Website](https://www.gnu.org/software/make/)\n    - OSX: install Xcode\n    - Debian: ```sudo apt-get install make```\n- FindUtils\n    - The command `find` and `xargs` among others (used for preparing the source code)\n    - [Website](https://www.gnu.org/software/findutils/)\n    - OSX: included by default\n    - Debian: included by default\n- Rename (util-linux)\n    - The command `rename` (also used for preparing the source code)\n    - [Git Repo](http://git.kernel.org/cgit/utils/util-linux/util-linux.git)\n    - OSX: ```brew install rename```\n    - Debian: included by default\n- Sass\n    - SCSS-to-CSS compiler\n    - [Website](http://sass-lang.com/)\n    - [GitHub](https://github.com/sass/sass)\n    - ```gem install sass```\n- Webpack\n    - JavaScript bundler/compiler/build-system\n    - [Website](https://webpack.js.org/)\n    - [GitHub](https://github.com/webpack/webpack/)\n    - ```npm install```\n- Babel\n    - JavaScript ES6+ transpiler\n    - [Website](https://babeljs.io/)\n    - [GitHub](https://github.com/babel/babel)\n    - ```npm install```\n- Babel Loader\n    - Babel loader for Webpack\n    - [GitHub](https://github.com/babel/babel-loader)\n    - ```npm install```\n- Babel Env Preset\n    - Our chosen preset for Babel (don't install this globally, it doesn't work that way)\n    - [GitHub](https://github.com/babel/babel-preset-env)\n    - ```npm install```\n- Google Closure Compiler (as ```closure-compiler```, use symlink if different)\n    - JavaScript minifier and optimizer\n    - [Website](https://developers.google.com/closure/compiler/?hl=en)\n    - [GitHub](https://github.com/google/closure-compiler)\n    - OSX: ```brew install closure-compiler```\n    - Debian: ```sudo apt-get install closure-compiler```\n- Yahoo! YUI Compressor (as ```yuicompressor```, use symlink if different)\n    - CSS minifier and optimizer\n    - [Website](http://yui.github.io/yuicompressor/)\n    - [GitHub](https://github.com/yui/yuicompressor)\n    - OSX: ```brew install yuicompressor```\n    - Debian: ```sudo apt-get install yui-compressor; sudo ln -s $(which yui-compressor) /usr/local/bin/yuicompressor```\n\nAlso note that if you're missing ```gem``` or ```npm``` (and therefore, probably\ndon't have Sass or Browserify), then you'll need to get those as well.\n\n- Ruby (and Gem Package Manager)\n    - Needed for installing and running Ruby Gems (like Sass).\n    - [Website](https://www.ruby-lang.org/)\n    - [GitHub](https://github.com/ruby/ruby)\n    - OSX: Comes pre-installed, or ```brew install ruby```\n    - Debian: ```sudo apt-get install ruby```\n- Node.JS (and Node Package Manager)\n    - Needed for installing and running Node packages (like Browserify).\n    - [Website](https://nodejs.org/)\n    - [GitHub](https://github.com/nodejs/node)\n    - OSX: ```brew install node```\n    - Debian: ```sudo apt-get install nodejs```\n\nAnd last but not least, if you're on OSX and ```brew``` commands aren't working,\nthen you need to download HomeBrew from [here](http://brew.sh/).\n\nAdditionally, if you're on any non-debian-based distro, you can probably change\nthe commands from ```apt-get install``` to ```yum install``` or ```pacman -S```,\nand if not, hopefully you're a resourceful linux user, and you can figure it out\nsomehow.\n\nIf you're on windows, there's probably a way to do it, and some Google-fu can\nhelp you with that. You might be better off building it in a linux virtual\nmachine, though, so don't rule that out.\n\nPublishing\n----------\n\nThe build system (makefile) also includes some methods for publishing the code\nonline. For this, you have three targets:\n\n- ```make publish-all``` (publishes to development and production sites)\n- ```make publish``` (publishes to production site only)\n- ```make publish-dev``` (publishes to development site only)\n\nThe publishing functionality of the build system has one dependency (beside GNU\nmake, see above for info on that).\n\n- rsync\n    - Needed for remote synchronization over SFTP (all publish targets).\n    - [Website](https://rsync.samba.org/)\n    - [Git](https://git.samba.org/rsync.git/?p=rsync.git)\n    - OSX: Comes pre-installed, or ```brew install rsync```\n    - Debian: ```sudo apt-get install rsync```\n\nBefore you are able to publish to anything, you have to define targets as\nenvironment variables. By default, it will do nothing at all. You need to define\na couple of target variables. These targets can be a location on your own file\nsystem, or it can be any remote protocol that rsync supports (like SSH).\n\n- ```ld39_remote_production``` is the environment variable for the production remote.\n    - ```export ld39_remote_production=user@domain.tld:path/to/hosting```\n- ```ld39_remote_development``` is the environment variable for the development remote\n    - ```export ld39_remote_development=user@domain.tld:path/to/hosting```\n\nDependencies\n------------\n\nIf you want to deal with the composer or bower dependencies, which may be\nnecessary for certain development operations (namely updating them or adding new\nones), you will need the following in addition to all of these. Note that not\nall of the dependencies are being managed with these tools, and as such, some\ndependency updates may require manual updating.\n\n- Composer\n    - PHP dependency/package manager.\n    - [Website](https://getcomposer.org/)\n    - [GitHub](https://github.com/composer/composer)\n    - OSX: ```brew install composer```\n    - Debian ```sudo apt-get install composer```\n- Bower\n    - Client-side JavaScript dependency/package manager.\n    - [Website](https://bower.io/)\n    - [GitHub](https://github.com/bower/bower)\n    - ```npm install -g bower```\n\nHosting Requirements\n--------------------\n\nJust a webserver that can serve static files. That can be anything you want. It\nprobably won't work if you open the files locally though, because of browser\nsecurity standards.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraidowolf%2Fld39","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraidowolf%2Fld39","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraidowolf%2Fld39/lists"}