Showing posts with label paco. Show all posts
Showing posts with label paco. Show all posts

Tuesday, August 25, 2020

Deploying JavaScript Game to Steam, App Store, Google Play, and PWA

As time has allowed over the past few months, I've been experimenting with Paco and the Tumbling Seed Box to take advantage of various open source technologies like Cordova and Electron so that Paco can play on multiple platforms. Using Cordova, I can package the game as an app for both the App Store and the Google Play store. Using Electron, I was able to build standalone versions of Paco for Windows, Mac, and Linux.

One of the first issues I ran into is that both of these tools are unable to build for all platforms from the same development computer (with the exception of Cordova being capable of building both iOS and Android versions on a Mac). I wanted a solution that allowed me to build the game for all of these platforms without me having to bounce between computers. Even better, I preferred a solution that allowed me to invoke a command from the game code base itself to build for any or all platforms regardless of what platform I am presently using.

So I created a packager project that runs as a nodejs express server with built-in relays to handle requests depending on the platform it's serving from and pass along those it can't handle to another server. Running this service on a Mac and on a PC provides game-packaging services for all the current platforms I've built support for. From Paco's game development project, I can run something like "npm deploy:steam", which packages the current version of the game into a zip file and sends it to the PC. The PC in turn recognizes that it is unable to deploy to Steam (Windows seems to have issues with ".app" Mac files) and passes the game zip on to the Mac. The Mac recognizes that it can't package for Windows, so it leaves that to the PC and builds the Mac and Linux versions using Electron while the PC builds the Windows version and sends it to the Mac. Once the Mac has all three versions ready, it ships it off to Steam using tools from the Steam SDK.

In addition to the above, I also set up the packager to deploy a PWA version to the website. I'm still working on the hosting website as time allows, but you can enjoy the current progress and see the four targets at https://town.gopherwoodstudios.com/store/paco.html

Each platform and store has its own quirks, but I'm hoping that this process will separate those issues from the game itself and make deployment of future Gopherwood games a bit simpler, allowing each game to reach folks on the platforms they prefer as well as making game updates and fixes go a little quicker.

Monday, May 11, 2020

Paco and the Tumbling Seed Box

If you haven't been following Paco on Twitter, you may have missed out on some progress I've made with his tumbling seed box. Why does an imaginary bird have his own Twitter account? I have no idea, and he's not telling me why. He can't. He's imaginary.

In any case, the tumbling seed box tumbles! Check it out and try the preview. If you run into any issues, let me know! (Comment below or email Gopherwood). Currently it is only available as a progressive web app on our admittedly bare-bones game-hosting site. More plans are in the works to target additional platforms and prettifying the site, but right now it's a mystery (aka unfinished).

This is a self-funded, passion project of mine to create fun games that are reminiscent of what you might find in a child's storybook. Thematically, I also thought it would be fun to highlight endangered animals and use them as characters in these games, since, you know, our business is named "Gopherwood" and our logo (if you cross your eyes just right) is an ark. It seems fitting. (Related, I found inspiration from Joel Sartore's work with The Photo Ark - highly recommend checking it out.)

Paco is the first character and game to come to life from this idea. He's a Puerto Rican Parrot with three chicks that he's trying to feed. Yes, I know Puerto Rican Parrot chicks aren't yellow or red... ...I took a few game-design liberties: it'll all make sense when you play.

A big thank you to ARBIMON for recordings of actual Puerto Rican Parrots chattering. Adding their vocal ambiance to the game really brings it to life.

Also, thanks Todd. Your advice was critical.

One final note: this title captures a lot of the game-play from one of our very first games, Sand Trap. I go into a bit of the evolution here if you want to see a few early designs (with awesome prototype art).

Hope you enjoy the game!

Thursday, February 22, 2018

Sand Trap 2.0

One of our first successful HTML5 games was Sand Trap, a casual game Todd and I developed over the course of a month for a competition. Todd created the pixel art and designed levels, I created sandy physics, and we conscripted my brother-in-law to compose a chill guitar loop for ambiance. We placed 7th in that competition, but then submitted it shortly thereafter to another competition and placed 1st. It probably helped that it was one of just a small number of games in the nascent HTML5 mobile games space.

I've decided to revisit this little game and create a new version, Sand Trap 2.0 -- working title 😁. (Emoji are allowed in blog posts, right? Or is that a digital faux pas?) Here are a few animations of the prototype with my awesome programmer-needs-a-placeholder-for-this-object art.

Things are looking a lot less sandboxy.

The core mechanic will be the same, mostly.

This one may hit the cutting room floor, but it's totally poppin'!

Not the most difficult labyrinth to navigate...

Why Sand Trap? Why not All the King's Men Entanglement? That's a story for another time...