Twitter Freesound.org Ludum Dare One Game a Month github npm Youtube

Welcome to brianmacintosh.com. I'm Brian MacIntosh, and I am a game programmer in the Orange County area of Southern California. This site serves to host and distribute some of my games and my blog, below.

I have developed games and apps for the XBox 360, Windows PC, iPad, Amazon Alexa, and Windows 7 Phone. I'm particularly interesting in procedural generation, pixel art, and emergent gameplay, and I'm looking forward to developing more games with these technologies.

Blog RSS E-Mail

You are filtering on tag 'javascript'. Remove Filters
Previous Page | 8 total posts | page 1 of 2 | Next Page

Necromasser Release


March 25th, 2017 @ 15:50
Tags: necromasser, threejs, javascript

We just released a new online, in-browser game called Necromasser. Necromasser is an always-on multiplayer world where you try to build the most massive zombie horde to hit the top of the leaderboard. You can play it in your browser right now!

www.necromasser.com

Necromasser Screenshot


Permalink

Procedural Potion Icon Generator


March 08th, 2017 @ 2:35
Tags: random, javascript

Randomly inspired by a coworker, I took a weekend afternoon and made a webpage that procedurally generates 32px potion icons.

Make potions here


Permalink

Contact Listeners in box2d.js


April 20th, 2015 @ 17:49
Tags: box2d, javascript, contactlistener, emscripten

To implement physics in Porcupine Dogfight, I used Alon "kripken" Zakai's emscripten port of Box2D to Javascript. It was very easy to get working and almost entirely identical to the original Box2D implementation, however, it lacks documentation for some of the differences. After some experimentation and trying to read the crazy auto-generated source code, I finally figured out how to implement a Contact Listener. There are two things that are not immediately obvious: the listener must be an instance of JSContactListener, and the parameters passed in are not objects, but pseudo-pointers that need to be dereferenced with wrapPointer.

I post some sample code on Github for the benefit of anyone else who has this problem in the future.


Permalink

Ludum Dare 32 Brainstorming


April 18th, 2015 @ 12:31
Tags: ludum dare, game jam, threejs, javascript, box2d

Brainstorming thought process for Ludum Dare 32: An Unconventional Weapon.

  1. I like airships.
  2. Unconventional airship warfare?
  3. Porcupines.
  4. What's more fun than airships slinging porcupines at each other?
  5. Porcupines flying airships, slinging themselves at each other!

Screenshot of porcupines flying balloons.


Permalink

Outpost: New World (Ludum Dare 31)


December 29th, 2014 @ 0:28
Tags: outpost new world, ludum dare, game jam, threejs, javascript

Just a few weeks ago, Justin and I participated in the 31st Ludum Dare. The theme: Entire Game On One Screen.

We decided ahead of time that we wanted to make a game that was more action-packed and also more polished than our usual fare. I'm not sure we totally succeeded in overcoming our propensity for making fairly complicated simulation games, but we did manage to make our most polished jam game yet. Play it here!


Outpost: New World

Our past experience with game jams lead us to decide that we wanted to be done with the core game by early afternoon of the second day (sooner than halfway through the jam). We would then use the second half of the jam entirely for polish. While we fell behind on that goal, finished the core game around 6 in the evening of the second day, that still left us the entirety of Sunday for polish. It worked out very well - I was able to put together a very dramatic opening cinematic, a generate a full range of sfxr-generated sound effects, and record some moody cello music (three elements that we usually don't have time for in jams).

While I'm not a huge fan of how the final gameplay turned out, others seem to be enjoying it much more than any of our previous attempts. We'll see what the results show in about 21 hours.


Permalink


Previous Page | 8 total posts | page 1 of 2 | Next Page