Progress Update May 2018

Works in Progress Please see my portfolio for videos and published demos. I focus mainly on the core logic of the game engine, since that’s my primary area of interest/experience. These are my works in progress. I would consider Centipede feature complete, but there are open issues (both enhancements and bugs) that I plan to continue to work on. Resource Quest in Unity is nearly feature complete, and needs polish, but you can view the source code from the link on my portfolio....

May 27, 2018

It's Full of Flies!

Impatience waiting for a creature to come eat my ship led to a new crazy game mode! If you can survive 8 or so waves it gets easier, since the sheer amount of mushrooms makes the processing time longer than the interval timer, so everything slows way down. It’s a feature! And here’s the finished leaderboard implementation

April 7, 2018

Leaderboards!

Step 1: Bask in the glory

April 6, 2018

Karma Complete

Week-long test coverage montage Right into the danger zone Risin’ up to the challenge of our rival Oh darlin’ my heart’s on fire Lose your blues, everybody cut footloose Key takeaways beforeEach does not reset any spy that it sets. Will need to find another approach if this is needed. I think setting testObj from a copy of the target object, then spying on that is enough to avoid problems, but there are instances where spy is being set on the nested test objects directly, which will likely affect the tests for those objects at some point....

March 29, 2018

Stabilizing Tests for Karma Coverage

Loading the canvas libs Now that Karma is all wired up, I can start poking at the tests. The first problem I need to fix involves canvas-libs. knobsAndLevers uses the supporting object in canvas-libs to set a randomized initial spawn interval for the creatures. The usage is: 1 this.spider.initialInterval = supporting.getRandom(this.spider.interval.min, this.spider.interval.max); But knobsAndLevers.init() fails, because supporting is not available: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ node_modules/....

March 28, 2018

Test Coverage with Karma

Adding the Karma Test Coverage Tool I got tired of flailing around in the dark, so after turning on the lights, I started looking into test coverage tools. A few sources recommended Karma, so I went for it. It’s good (sorry). Code Coverage of Jasmine Tests using Istanbul and Karma Capturing browser with Karma 1 npm install karma karma-coverage My config: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 module....

March 27, 2018

Canvas Tech Debt

Addressing some of the technical debt. Not very exciting. So bullet lists. DID: Set up Jasmine tests in Robotron (8 specs, 0 failures) Set up Jasmine tests in canvas-libs (4 specs, 0 failures) Moved supporting.js stuff to canvas-libs for both Centipede and Robotron Moved the Sound object from sound.js to canvas-libs for both Centipede and Robotron Commits Centipede 6fbcfff e5fab76 2155216 Robotron 4c0c571 58f992f Canvas Libs...

March 15, 2018

Twinstick Firing in Robotron

Planning More gamepad updates today. This time, specifically for Robotron. I plan to integrate the controls pausing and twinstick shooting. Pause updates Updated pause to handle both spacebar and the + key. I should probably find an XBox controller and see if the indices of those buttons are the same as the X-input (they should be; the indices don’t change between D- and X-input, only the dPad location does, and X-input includes a few extra buttons....

March 14, 2018

Gamepad Controls Library Updates

Updating the gamepad library Today, I’m focusing on the controls library. Goal: add right stick capturing without breaking Centipede or Robotron. Robotron needs the right stick to handle firing. I could just leave controls.js alone and update it’s functionality in the game itself, like this: 1 2 3 var theControls = controls; Then add stuff to controls like this: 1 2 3 theControls.aNewThing = newStuff; Or override stuff like this:...

March 13, 2018

Nerding Out on Robotron

Pre-Feature Cleanup of Joust and Robotron Over the weekend, I made a serious dent in the technical debt for the other canvas games, Joust and Robotron. Before I did any of that, I poked at Joust and attempted to find the upper limit on the number of simultaneous player objects (it’s about 200 before the slowdown is noticeable)! Added more colors to make it fun! Then I spent the better part of Saturday converting the mess of functions of both games into objects....

March 12, 2018