December 4, 2017
3 min read
The theme is "The More You Have, the Worse it Gets"! Of the other top themes, this was not one of the ones I was very excited about. I spent the most of Friday night brainstorming to try and come up with a game idea. This took me hours.
After that I got a boilerplate project set up and running here.
Later in the day I managed to get Draggable components working and had some frustrating fights with the
CSSTransitionGroup component. I tweeted what I managed to get done on Day #2.
I gave up on getting the new
react-transition-group library in favor of the old
react-addons-css-transition-group library. I figured that I didn't want to spend too much of my time trying to figure out an animation library when I already knew how one worked.
My final sin of the day was storing React components in the state of my React app. Fortunately, I've now learned why this is a terrible idea and won't ever have to make that mistake again!
The final day of Ludum Dare! Today I actually had most of the day to wrap up my project unlike my busy day yesterday.
I saw the above on Twitter and it is truly the best debugging advice I've ever received. For whatever reason all of yesterday's problems with my React state and undefined variables became clear. Today I ended up creating the vast majority of the game's features, spawners, consumers, and the hdd/storage space mechanic.
My final piece of experimentation was deploying my first React app. Create React App comes with a built in
yarn build script which creates your build files in the
I did a quick static deploy of React using Surge first off. This worked pretty well for sharing my app quickly, but didn't allow me to have a URL that made sense (without configuring a custom URL).
I wanted to get everything running on Itch.io because its a popular platform for Ludum Dare and my other projects are hosted there. Create React App expects to be deployed as a static server in the root directory. However, Itch doesn't host your projects in this manner. I had to modify my
package.json file with the value
"homepage": "." to make the build process be dynamic.
The final piece of deploying my project to Itch.io was to make use of their command line interface deployment tool Butler. It's a really cool tool that makes it much more painless to deploy a patch to your project. Instead of zipping a bunch of files, navigating to the site, and uploading your files you just type
butler push build law5guy/infinite-desktop-icons:html.
Play the finished product in your browser here.