Chris McCormick - News - games https://mccormick.cx/news/tags/games Chris McCormick - News - games en Copyright 2008- Chris McCormick 60 GMT chris@mccormick.cx mccormick.cx/news/ CSS Animations for Game Juice entries/css-animations-for-game-juice https://mccormick.cx/news/entries/css-animations-for-game-juice tl;dr: have some CSS animations to make your browser games juicy!

particles.gif

My favourite game engine is the browser. You get so many batteries included when you use the browser as your runtime. Sprites, animation, sound, mouse, keyboard, touch, gamepad, fonts, text handling, localization, concurrency, networking, 2d, 3d, and a weird XML based scene-graph called "The DOM". The list goes on.

I'm not even talking about canvas based games. These days when I build games like Rogule, Asterogue, and Smallest Quest, I sometimes use <canvas> but I always use the DOM.

One cool thing I've discovered about using the DOM as your 2d game's scene graph is you can offload a lot of CPU intensive effects to a high performance declarative graphics language called CSS. This frees you up to write far less code, and do the more interesting stuff with game logic in your procedural code.

Smallest Quest

It was Juice It or Lose It that inspired me to put more juice into my games. The talk makes the case that "game feel" is a major part of what makes games fun. Game feel is a mixture of animation and sound in response to interactivity and in-game events. It's the difference between a flat game and one that pops.

When I started building Asterogue (a solo-developed space based sci-fi roguelike) I got to wondering - is CSS good enough for video games? I was using web tech to build the game already. Could I do all of the visual effects using only CSS animations?

Asterogue game play

I put together this collection of juicy CSS game-feel animations as a test and I've been building on them ever since. Feel free to use them in your own browser games!

https://chr15m.github.io/juice-it/

Before I made Asterogue I would have used JavaScript to manually script sprite animations. Manually coding animations takes a lot of time and effort. It's also not very performant. That means the game ends up less juicy than it should be. Why not speed the process up using the domain specific animation language built right into browser?

boing.gif

It turns out CSS is absolutely good enough for a large class of browser based 2d games.

In the end I was able to build and ship a juicy graphical roguelike in about 1.5 months. I used Electron and Cordova to build the Asterogue binaries for desktop and mobile. I used plain old CSS animations for game feel. I saved on code using pure JavaScript with just one library (rot.js). Asterogue is only 2k lines of code which helped a lot with debugging and development speed. Browser based debugging tools are also absolutely fantastic during game development.

I would highly recommend this path to anybody making 2d games. The browser is a killer game engine.

screenshake.gif

Have fun!

]]>
/tags/games Tue, 10 Oct 2023 13:04 GMT
Roguelike Browser Boilerplate is now open source entries/roguelike-browser-boilerplate-is-now-open-source https://mccormick.cx/news/entries/roguelike-browser-boilerplate-is-now-open-source be288dc6b22d9de42a1c2d2c4c47cb10.png

Hello! Just in time for 7DRL, Roguelike Browser Boilerplate is now open source.

The boilerplate is a JavaScript based game template that takes care of all the annoying stuff like splash screen, start screen, credits screen, instructions screen, settings screen, menus, pixel styled UI, win/lose condition screens, sound effects, animations, etc. so you can get on with making the actual game.

It's ROT.js based and includes example implementations for monster, inventory, level gen, etc. It works on mobile and desktop.

The license is MIT so you can do what you want basically, including using it in a commercial game.

Enjoy!

]]>
/tags/games Thu, 02 Mar 2023 06:43 GMT
Doodle Rogue Tileset entries/doodle-rogue-tileset https://mccormick.cx/news/entries/doodle-rogue-tileset Hello reader! I'm excited to announce the release of the Doodle Rogue tileset. It's a free hand drawn tileset containing tiles and sprites that I used in my game Smallest Quest.

scene-goblin.gif

I thought it would be fun to set the graphics free and see what other people do with them. Let me know if you make something using Doodle Rogue!

]]>
/tags/games Fri, 26 Nov 2021 12:46 GMT
A Hand-doodled Roguelike Tileset entries/a-hand-doodled-roguelike-tileset https://mccormick.cx/news/entries/a-hand-doodled-roguelike-tileset I've been working on a free hand-doodled roguelike graphics tileset called Doodle Rogue. It's an alternative to the standard console and pixel roguelike graphics tilesets out there.

I'm relatively new to drawing. It's taken a couple of years of drawing badly to get to the point where I am comfortable enough for a tileset. This post is to show you some betas of the tileset I'm working on, and also the art that has inspired this work.

Doodle Rogue work-in-progress sketches

Here are the tileset beta sketches.

Doodle Rogue scenery sketches

Doodle Rogue scenery sketches

Doodle Rogue item sketches

Doodle Rogue item sketches

Doodle Rogue character sketches

Doodle Rogue Characters sketches

Doodle Rogue mockup sketch

doodlerogue-mockup.png

There is a ton of work still to do on these. I need to redraw them as vectors and clean them up, and finsh drawing the remainder of the tiles.

Research & references

I used Pinterest to explore different reference styles for the tileset. Here are some of the artists I am using for inspiration and referencing. There are actually a lot more references than this but these are some anchor points that have stood out.

You can find my game-draw reference pinterest feed here if you care to follow along.

Dom 2d

bcf576cf19a7b5075d8cbfb70be1b06e.png

2277f9dc389942e29ce37969e583637a.png

3068953c09c073fefadd2203884b1bec.png

Dom2d has been a big inspiration for my drawing in general. I love the balance he strikes between quick-draw simplicity whilst still looking good.

Slowquest (Bodie H)

slowquest.png

I love the gritty detail in Bodie's drawings of items and dungeons. Studying his work has taught me a lot about texturing with lines.

Timecowboy

fb5d302f9953831353a3ac0bf976cc49.png

ea26c3c5a6c45d8e8747ac0fb34fb9b9.png

Timecowboy is a web comic artist.

Varguy

3b438d2dfcadecbb6c656fd7f8424287.png

Varguy has the rare skill of the ligne claire artists, combining seemingly simple shapes and lines into images that really come to life.

Mike Yamada

065373d751bf6c2b5606fa5ad2b4627d.png

21e97cdfde20f4ab5266003599439ad6.png

a0248a2048cf0640a8bceb0fd3d4fb8f.png

I found Mike Yamada's work when reading The Noisy Garage to my kids. I love his animal characters.

Moebius

3c56504ac0aec329ffcdb1e22e7b1c6c.png

790be18ced20bf0a9713ecc2d7441965.png

That's everything for today. I hope you've enjoyed these images.

]]>
/tags/games Sat, 30 Jan 2021 12:29 GMT
A procedural MIDI melody generator entries/a-procedural-midi-melody-generator https://mccormick.cx/news/entries/a-procedural-midi-melody-generator I've just released a melody generator that I've been working on for a while. It's a small web app that you can use to procedurally generate looping MIDI melodies and then use them in your own music.

The fractalesque algorithm it uses to generate melodies is one I came up with when I was writing a lot of algorave music a decade ago. The MIDI melodies are rendered to sound using the wasm port of Timidity by Feross.

Enjoy!

]]>
/tags/games Wed, 06 Jan 2021 07:26 GMT
It's Asterogue Launch Day entries/it-s-asterogue-launch-day https://mccormick.cx/news/entries/it-s-asterogue-launch-day Since I was a kid I've always loved the roguelike genre. These procedurally generated mostly-text-based games have a wonderful depth and I've long been fascinated by the leverage and replayability you get from the procedural aspect.

Asterogue gameplay 
gif

For the past 10 weeks I've been working on my own roguelike. It's a sci fi game with tile graphics set in the interior caverns of an asteroid. I've had heaps of fun building this and I hope you'll have as much fun playing it.

Here's the announcement on Twitter if you care to help me out with a retweet. Thanks so much!

Enjoy!

]]>
/tags/games Fri, 30 Oct 2020 08:56 GMT
Roguelike Browser Boilerplate entries/roguelike-browser-boilerplate https://mccormick.cx/news/entries/roguelike-browser-boilerplate Recently I launched this web based template project that you can use to make your own roguelike game. If you've ever wanted to make your own roguelike game and you know a bit of web development then this is for you.

I'm also recording a series to screencasts which show you how to customise the template to make your own game. It's a walk-through of the whole process, basically a graphical javascript roguelike tutorial which you can follow along with.

Enjoy!

]]>
/tags/games Mon, 31 Aug 2020 07:27 GMT
Space Elk's Lounge Room entries/space-elk-s-lounge-room https://mccormick.cx/news/entries/space-elk-s-lounge-room DSC_0002.JPG

]]>
/tags/games Fri, 14 Aug 2020 01:50 GMT
The Forest Moons of Yendor entries/the-forest-moons-of-yendor https://mccormick.cx/news/entries/the-forest-moons-of-yendor Last week I entered the 7 Day Roguelike Challenge. I used the the px3d game engine with Blender and ClojureScript to build a game prototype.

Screenshot of the game

forest-moon-bear.gif

Screenshot of the game

Screenshot of the game

]]>
/tags/games Sat, 14 Mar 2020 05:17 GMT
ClojureScript Pixel Game Engine With Blender Live-reloading entries/clojurescript-pixel-game-engine-with-blender-live-reloading https://mccormick.cx/news/entries/clojurescript-pixel-game-engine-with-blender-live-reloading Recently I've been hacking on a game engine for infinitelives called px3d.

around.gif

It's built on top of ClojureScript, Blender, and Three.js and it runs in the browser.

One feature I'm particularly happy with is the live-reloading of Blender assets into the game. You hit "save" in Blender and the updates appear in the running game a second later - no need to re-compile or re-load the game.

live-reloading.gif

The way this works is with a background script which watches the assets.blend file. It re-builds the assets.glb whenever it is modified, and writes the hash of the file into assets.cljs. Figwheel pushes changes to the compiled cljs files whenever they change, and there is another bit of code which tells three.js to re-load assets.glb if the hash has changed.

Infinitelives

Infinitelives is the vehicle me and my buddy Crispin use to make games and tooling, mostly for gamejams. The gamejam format is great because it is time-boxed, which means we can periodically do this self-indulgent thing we enjoy without taking too much family or work time.

Gamejams are typically only 48 hours long and so we have learned some good techniques for shipping working code under extreme constraints. A hardcore economy of time, resources, and scope is required.

ClojureScript & Figwheel are perfect for this with their hot-loading of modified code. I built the tight Blender re-load integration for the same reason. Hand drawn graphics consume a lot of time during jams and this should help us really level up on the content side of things.

cda02a53bdeea5ee13ac8d943761a42b.png

If you'd like to find out when we release games and new tools you can sign up to our release notifications on the infinitelives home page or follow us on Twitter.

If you liked this you might also like my Roguelike game web template which you can get on itch.io. Thanks for supporting my work!

]]>
/tags/games Sat, 17 Aug 2019 05:35 GMT
Global Game Jam 2019: Otoch entries/global-game-jam-2019-otoch https://mccormick.cx/news/entries/global-game-jam-2019-otoch album-cover.png

A couple of weekends ago my friend Crispin and I made this game as part of Global Game Jam, an event in which participants build a game in 48 hours.

It was a lot of fun and I got to spend most of the time drawing and doing graphics and music, which was a nice break from writing software.

Play it online!

]]>
/tags/games Mon, 04 Feb 2019 07:39 GMT
Schiphol 23: Airport Missions MMOG entries/schipol-23-airport-missions-mmog https://mccormick.cx/news/entries/schipol-23-airport-missions-mmog Schiphol 23 mockup

I had an idea for a video game a while back. It's a multiplayer mission game with rogue-like elements, set in various procedurally generated airports through which you can transit.

Airport ambience by wichiogarcia on freesound.org

Everybody's missions are all mixed up together, so you might have a mission to deliver a package and somebody else's mission is to stop you. You might be trying to transit throuh several airports and other people are trying to catch you. You might be trying to find an item that somebody else has hidden. You might be chaperone to a VIP and the VIP is another player. Missions would last an average of 5 minutes each and feature a count-down timer as in the game Counterstrike.

The visual style would be vector based similar to those isometric maps you sometimes see in airports.

Amsterdam airport map

Brussels airport map

I don't play many video games but I very much enjoyed the pace and aesthetic of the game Rymdkapsel by Martin Jonasson.

Rymdkapsel screenshot

I found it was an easy game to put down and pick up again for short bursts of play.

Probably my favourite video game is Another World by Eric Chahi which features a vector style and is similarly easy to play in small increments.

Another world

]]>
/tags/games Sun, 07 Oct 2018 00:07 GMT
Hope entries/hope https://mccormick.cx/news/entries/hope Gödel's incompleteness theorems provide us with mathematical proof of the unknowable. The vast empty skies of those things we don't and can't know -> that is where hope resides. Nobody knows the future.

]]>
/tags/games Thu, 02 Feb 2017 11:44 GMT
Sounds Incredible entries/sounds-incredible https://mccormick.cx/news/entries/sounds-incredible sounds incredible by chr15m + fenris

After 14 years of playing music together on Gameboy Advance and Commodore 64 my buddy Fenris and I finally recorded an album while he was visiting during Xmas.

You can listen to the album for free or purchase a download for however much you like.

All of the software we use to play music is Free and Open Source:

I hope you enjoy the music.

]]>
/tags/games Sun, 15 Jan 2017 10:52 GMT
New York PdCon 2016 entries/new-york-pdcon-2016 https://mccormick.cx/news/entries/new-york-pdcon-2016 DSC_1662.JPG DSC_1673.JPG DSC_1731.JPG DSC_1701.JPG DSC_1716.JPG DSC_1739.JPG DSC_1864.JPG DSC_1742.JPG DSC_1680.JPG DSC_1690.JPG DSC_1698.JPG DSC_1859.JPG DSC_1793.JPG DSC_1801.JPG DSC_1818.JPG DSC_1788.JPG DSC_1810.JPG DSC_1724.JPG DSC_1862.JPG DSC_1713.JPG DSC_1747.JPG DSC_1743.JPG DSC_1745.JPG DSC_1877.JPG

In November I was in New York for PdCon 2016 and to visit my brother, thanks in large part to my friend Joe Deken and his not-for-profit, New Blankets.

The conference was fantastic. Many fascinating performances, a chance to catch up in person with people from the Pure Data community, and the opportunity to present and perform some of my own work. A highlight for me was hearing Miller Puckette, creator of Pure Data, talk about his approach and philosophy.

On top of that I got to catch up with some awesome people outside of the conference, especially my brother. We went hiking together one day - a rare opportunity to hang out together in nature.

]]>
/tags/games Mon, 09 Jan 2017 09:49 GMT
Gameboy Nature Beats entries/gameboy-nature-beats https://mccormick.cx/news/entries/gameboy-nature-beats gameboynaturebeats-poster-1.png gameboynaturebeats-poster-4.png

Tonight my friend Fenris and I will play some music in a park here in Perth, Western Australia, on Gameboy and Commodore 64 powered by batteries and broadcast over FM radio to local speakers hanging from the trees. We'll start playing at 9:30pm and after us our friends Atomsmasha and Kataplexia will also play some music on Gameboys.

Might see you there!

]]>
/tags/games Fri, 06 Jan 2017 07:07 GMT
Geodesic Scale Test entries/geodesic-scale-test https://mccormick.cx/news/entries/geodesic-scale-test DSC_1913.JPG DSC_1914.JPG DSC_1918.JPG DSC_1908.JPG

]]>
/tags/games Sat, 26 Nov 2016 06:32 GMT
Open Skies entries/open-skies https://mccormick.cx/news/entries/open-skies Hand drawn image of a country scene with a rocket flying above the clouds and the moon with a habitation ring around it.

]]>
/tags/games Fri, 25 Nov 2016 01:51 GMT
Algorave Set in Williamsburg entries/algorave-set-in-williamsburg https://mccormick.cx/news/entries/algorave-set-in-williamsburg Lately I've been working on new algorave music in the style of drill&bass and I'm playing a set here in New York for the PdCon16 party. It's at a space called Vital Joint in Williamsburg, tonight (Saturday) at midnight.

spinning globe 
visualisation

]]>
/tags/games Sat, 19 Nov 2016 06:12 GMT
Startup Idea: Web App Installer entries/startup-idea-webapp-store https://mccormick.cx/news/entries/startup-idea-webapp-store Although it is an exadgeration to say that app stores are dead it is true that web apps (applications that run in a web browser) and the mobile-device browser platforms have become powerful to the point that it is often not neccessary to build a native app.

There is a gap in the web app paradigm as users don't always realise they can install a web app they use by going to "Add to homescreen".

An interesting way to fill that gap would be to build an "app store" for web apps. That is, a native app that curates and carries out the "add to homescreen" process for the user for a wide variety of quality web applications. So basically like Firefox OS but without the OS - just the installer, and for the native browser of each platform.

Ideas are cheap and execution is everything - you don't need my permission to take this idea and run with it if you're convinced.

]]>
/tags/games Mon, 14 Nov 2016 15:22 GMT
Tentacle Being entries/tentacle-being https://mccormick.cx/news/entries/tentacle-being Drawing of a tentacle being

Drawing practice in the style of Ben Hatke.

Scout and I finished Zita the Spacegirl recently which was a wonderful adventure.

]]>
/tags/games Fri, 11 Nov 2016 08:12 GMT
Delhi 2016 entries/delhi-2016 https://mccormick.cx/news/entries/delhi-2016 DSC_0232.JPG DSC_0242.JPG DSC_0251.JPG DSC_0304.JPG DSC_0326.JPG DSC_0350.JPG DSC_0358.JPG DSC_0217.JPG DSC_0411.JPG DSC_0212.JPG DSC_0432.JPG DSC_0453.JPG IMG_20160930_105853.JPG

Couple of weeks ago I was fortunate enough to visit Delhi and spend a week with my colleagues Umang, Gaurav and Tom. We had an excellent and productive week and in between development discussion Umang was kind enough to drive us to many fascinating and beautiful places - not least of all to enjoy a wonderful meal at his sister's house.

We worked out of Awfis co-working, which I recommend.

I feel lucky to have seen Delhi this way.

]]>
/tags/games Thu, 20 Oct 2016 06:57 GMT
Sci Fi UIs in ClojureScript entries/sci-fi-uis-in-clojurescript https://mccormick.cx/news/entries/sci-fi-uis-in-clojurescript I built these sci fi user interfaces using ClojureScript, React, and SVG:

Tap or click to interact with them.

 

 

 

 

 

More here.

Source code here.

]]>
/tags/games Sun, 11 Sep 2016 07:13 GMT
Namibia 2027 entries/namibia-2027 https://mccormick.cx/news/entries/namibia-2027 TS.2850-Anthony-Scime-style-copy.png

I am trying to teach myself sci-fi style vector painting and this a piece that I think meets the post-on-blog standard.

I tried to copy the basic palette/mood/style of this image.

]]>
/tags/games Sun, 21 Aug 2016 02:05 GMT
You Are Here entries/you-are-here https://mccormick.cx/news/entries/you-are-here you are here

]]>
/tags/games Sun, 24 Jul 2016 08:13 GMT
OMG Not Another TODO List Application entries/omg-not-another-todo-list-application https://mccormick.cx/news/entries/omg-not-another-todo-list-application My wife and I needed a collaborative shopping list that we could update from our phones. There are proprietary solutions to this but after some research I was surprised to discover that there is no Free Software application that meets the following criteria:

  • Web based.
  • Easy to deploy.
  • Self-hosted & FLOSS.
  • Allows multiple people to update a list.
  • Simple text based format for easy editing.
  • Mobile friendly - "Add to Home Screen" webapp.
  • Satisfies the single use-case of collaborative TODO editing.

Of course I built one with ClojureScript.

Screenshot of 
OMGNATA

We've been using this "in production" for 3 months and so far it fills our need without issue.

  • Authentication can be accomplished with a .htaccess file or similar.
  • The text-file format is designed so that you can edit lists with a text-editor directly if you want to.
  • If you want to support multiple users you can set up two instances in two different folders and symlink the textfile of the list you want to share between them. Each folder can have its own authentication.
  • You can also do other textfile things like make a symlink into a Syncthing folder which enables you to modify your TODO lists on your laptop or server as well as through the web app.

The realtime updating is accomplished via long-polling. Primarily I used this instead of websockets because when it comes to browsers, older tech is more robust to different operating environments than newer tech.

I resorted to using PHP for a very lightweight server backend because it has the property that basically anybody with web hosting is able to upload a PHP script and I think it's good to give software as egalitarian a deployment surface as possible. Luckily it is only 150 lines of not-too-painful PHP.

Click here to get the source and download/install it.

]]>
/tags/games Sat, 28 May 2016 01:29 GMT
Treehouse Building entries/treehouse-building https://mccormick.cx/news/entries/treehouse-building DSC_0381.png DSC_0386.png DSC_0387.png smssecure-2016-05-07-141043.png DSC_0407.png DSC_0392.png

Couple of weekends ago Jessee and Chris came over and we made this free-standing tree-house-like platform thing for Scout and Orson out of some wooden palettes I'd collected during the preceding week.

When I say "we made" of course I mean they made it and wisely only let me touch one or two power tools during the course of construction.

]]>
/tags/games Sun, 22 May 2016 11:01 GMT
I'm Playing Algorave at Rhetoric entries/i-m-playing-algorave-at-rhetoric https://mccormick.cx/news/entries/i-m-playing-algorave-at-rhetoric rhetoric3.0_web.jpg

I am playing algorithmic rave music at Rhetoric in Western Australia.

  • February 5th, 2016
  • Game city { Raine Square / Perth Train Station }
  • Doors open 6pm
  • $10 Entry
  • Free arcade games
  • With: chr15m, cbat, marko maric, atomsmasha, kataplexia, amnesia, polite society & free arcade games.

Rhetoric 
Photo

]]>
/tags/games Sat, 23 Jan 2016 03:31 GMT
Orchids to Dusk is a great game entries/orchids-to-dusk-is-a-great-game https://mccormick.cx/news/entries/orchids-to-dusk-is-a-great-game orchids_201520185417.png

"An astronaut stranded on an alien planet, with only a few minutes left to live."

Orchids to Dusk had a powerful effect on me.

I dreamed about the game the night after playing it.

The creative power of code is the microwave background radiation of my subconscious and this game made me notice it again in a visceral way.

Inspirational.

]]>
/tags/games Thu, 24 Dec 2015 04:22 GMT
Ludum Dare 34 entries/ludum-dare-34 https://mccormick.cx/news/entries/ludum-dare-34 Over the weekend I built a tiny game for Ludum Dare #34. Here it is:

Instructions: grow the white square's heart by clicking and dragging to the other squares.

Link to the game here.

Source code here.

Play/review/rate it here.

]]>
/tags/games Wed, 16 Dec 2015 05:23 GMT
Zero Asset Game Engine entries/zero-asset-games https://mccormick.cx/news/entries/zero-asset-games Zero Asset Game Mockup

A "zero asset game" is a game that does not use any external art assets.

Game art is instead generated procedurally or by using artifacts of the rendering environment.

The following is a screenshot of a tiny game engine I built a little while ago in ClojureScript.

Tiny CLJS Game Engine Screenshot

The renderer runs on Facebook's React library so it is just a couple of lines of code.

I've spread it over several lines here for readability:

; DOM "scene grapher"
[:div {:id "game-board"}
  (doall
    (map
      (fn [[id e]]
        [:div {:class (str "sprite c" (:color e))
           :key id
           :style (compute-position-style e)
           :on-click (fn [ev] (sfx/play :blip))}
        (:symbol e)])
      (:entities @game-state)))]

The sprites are utf8 characters which are instantiated like this:

(make-entity {:symbol "◍"
              :color 0
              :pos [-20 300]
              :angle 0
              :behaviour behaviour-rock})

The function behaviour-rock here gets called once per frame and returns the new immutable entity-state for the next frame.

When you click on something the blip sound is generated procedurally in the browser using jsfxr.

]]>
/tags/games Fri, 11 Dec 2015 12:19 GMT
Fubbles entries/fubbles https://mccormick.cx/news/entries/fubbles Fubbles title screen

This is a video game I made for Scout to help her practice using a gamepad.

Play it! You'll need at least one gamepad and Firefox or Chrome.

  • It's hard to find nice games that fit the search "two player gamepad-enabled couch-co-op suitable for four year olds".

  • Game design for a four year old is quite nuanced. To make a fun game without all of the normal risk reward mechanics basically comes down to "make rude noises".

  • It's 360 lines of ClojureScript, rendered in the browser DOM with React. It took me a handful of evenings over a period of one month to develop.

  • I don't play many games, but the gamepad is probably my favourite human-computer interface.

Fubbles title screen

Source code: https://github.com/chr15m/fubbles/

Update

infinitelives Logo

Fubbles is the first game I have made using the new infinitelives ClojureScript library for game development that my friend Crispin and I have been building.

]]>
/tags/games Sun, 08 Nov 2015 11:43 GMT
Stylus Prediction Revisited entries/stylus-prediction-revisited https://mccormick.cx/news/entries/stylus-prediction-revisited Nearly three years ago I wrote:

Prediction: within 3 years the stylus will be the killer feature of Android tablets.

Since then I've felt a little embarrassed remembering that post. Grand claims, ha ha!

Apple's 
"Pencil"

With the recent announcement of Apple's "Pencil" I feel somewhat vindicated. I got the details wrong but I think broadly speaking that hand-drawing, sketches, doodles, will feature strongly in the future of human-to-human communication. Maybe even more strongly than typed messages for some people.

  • I'm thinking about the 16% of people worldwide who can't read or write, but who are rapidly adopting hand held technologies where they can draw.

  • I'm thinking about the tens of thousands of years of human beings using sticks as a technology for making marks upon a surface.

  • I'm thinking about the popularity of emoji, the universality of pictographs, the cross-cultural and language-independent nature of the medium of drawn communication.

  • I'm thinking about my kids and how the second thing they learn after talking is drawing.

Pictographs of phone repair

Maybe one future is a world in which many of our planet's population do a significant fraction of our communication through the medium of doodles.

]]>
/tags/games Wed, 28 Oct 2015 12:01 GMT
Feeling Grateful entries/feeling-grateful https://mccormick.cx/news/entries/feeling-grateful This is late.

I feel grateful because this year when my daughter said to me "I want to be a mummy, not an astronaut," I was able to tell her about Anna Fisher, who in 1984 became the first astronaut-mother in space, and to show her the stories and images online of the several astronaut-mothers who have followed her into space.

Anna Lee Fisher by Bren 
Luke Anna Lee Fisher by Bren Luke.

I feel grateful this year to Jess Frazelle from Docker, who wrote an honest blog post that reminded me of my privilege; reminded me how lucky I am to participate in tech and open source communities without friction and harassment; reminded me of a hidden strength and fortitude exhibited by amazing people all around us that I can aspire to; and reminded me that there is always more work to be done to make the world a better place for all humans.

I feel grateful that I am not alone in thinking and wanting that our culture can change for the better. I'm grateful that the internet can amplify the voices of people like Jess, and counteract the Friendship Paradox every time somebody speaks up.

I am grateful for the writing of bloggers like Pamela Fox and Liza Shulyayeva and Nicole Reid who demonstrate the technical, evidence based counter-factual to every trolling Hacker News comment.

As I do every year, this year I feel deeply grateful and so very lucky that my parents bought our Apple IIe when I was eight years old and that my mother taught me to code.

I feel grateful to have worked, and to continue to work beside amazing people who every day prove that smart, capable, technical people don't fit a stereotype.

The stereotype disagrees with reality, and so it is wrong.

]]>
/tags/games Thu, 15 Oct 2015 02:52 GMT
Lego Things entries/lego-things https://mccormick.cx/news/entries/lego-things kitty-exo.jpg image2.jpeg photo.jpg image.jpeg

Scout and I picked up a Lego table for $25 last year. One of our favourite pastimes lately has been making Lego things together.

]]>
/tags/games Thu, 10 Sep 2015 12:23 GMT
Kid Hacks Dad's Computer entries/kid-hacks-dads-computer https://mccormick.cx/news/entries/kid-hacks-dads-computer

She SSH'es into her father's machine from her Raspberri Pi. Presumably like any good hacker she used social engineering to obtain his password. She then uses the ps or top command to find the process ID of the "Sublime Text" editor he is using - the number she reads out. She then uses the OSX say command on the command line on his computer to make it speak to him:

$ say "Dad watch out"

Given his reaction it appears he doesn't consider the possibility that anybody has remote access to his machine and he also doesn't seem to know about the OSX say command, hypothesizing incorrectly that the kids have set up a timed MP3 file. Finally, she uses the kill command on his machine to kill the "Sublime Text" process, closing down the windows he is working on.

Ha ha ha, adorable!

]]>
/tags/games Sat, 20 Jun 2015 01:56 GMT
Hover Train entries/hover-train https://mccormick.cx/news/entries/hover-train train.gif train-4.png train-6.png train-3.png train-7.png

]]>
/tags/games Wed, 06 May 2015 03:15 GMT
Low Polygon Count Utopia entries/low-polygon-count-utopia https://mccormick.cx/news/entries/low-polygon-count-utopia render.001.png render.002.png render.005.png render.009.png render.015.png render.018.png render.019.png render.020.png render.022.png

I knew I would not have enough time to make a complete video game during last weekend's Ludum Dare so I took the opportunity to do some 3d modeling in between bouts of commercial software development and four-year-old wrangling.

I had a lot of fun working on these! Blender has come along amazingly since I last used it for art ten years ago.

]]>
/tags/games Mon, 20 Apr 2015 08:05 GMT
Square Sounds Festival Melbourne Next Week entries/square-sounds-festival-melbourne-next-week https://mccormick.cx/news/entries/square-sounds-festival-melbourne-next-week Square Sounds 2015 Logo

My buddy Fenris and I are playing at Square Sounds Festival in Melbourne next week, Saturday the 21st of March, 2015 at The Evelyn Hotel.

I hacked together quite a bit of new software for this gig and I am tremendously excited about it. I think we are even going to practice our songs first this time. See you there!

]]>
/tags/games Wed, 11 Mar 2015 08:06 GMT
OMG Clojure entries/omg-clojure https://mccormick.cx/news/entries/omg-clojure Last weekend was Global GameJam. My buddy Crispin suggested we use Clojure, a non-traditional member of the LISP family running on the Java virtual machine, and its browser-friendly cousin ClojureScript.

Here is the game we built together, using graphics from Kenney.nl:


(click to play)

You can find the source code on GitHub.

A couple of weeks ago I installed Leiningen, the Clojure package/dependency manager, and the VIM plugins, and started practicing.

Literally every night for two weeks now I have been dreaming in parentheses. Writing code has never felt so comfortable. I think I may officially be a LISP convert.

]]>
/tags/games Thu, 29 Jan 2015 12:25 GMT
GBA GPIO tester entries/gba-gpio-tester https://mccormick.cx/news/entries/gba-gpio-tester Here is a bit of code I wrote recently for the Gameboy Advance platform. It lets you use the device's buttons to toggle GPIO pins.

animation of the code in action

Recently I ressurrected LooperAdvance, a bit of 10 year old code for making music with a Gameboy Advance. I am hacking in synchronisation so that I can sync up the loops with Pure Data running on a Raspberry Pi.

The Gameboy Advance has a pretty robust little 4-bit GPIO rated at 3.3v that could be neat for controlling some projects now that you can get them quite cheaply second hand. There are also wireless adapters available that will instantly give you 4 bits of output by remote control.

]]>
/tags/games Tue, 16 Dec 2014 01:58 GMT
Alien Insect entries/alien-insect https://mccormick.cx/news/entries/alien-insect alien-insect.png

Almost certainly exhibits tripedal gait during locomotion.

]]>
/tags/games Mon, 20 Jan 2014 11:23 GMT
Cloudpuke entries/cloudpuke https://mccormick.cx/news/entries/cloudpuke cloudpuke.png

]]>
/tags/games Wed, 08 Jan 2014 02:04 GMT
Rocketship entries/rocketship https://mccormick.cx/news/entries/rocketship rocketship.png

]]>
/tags/games Mon, 23 Dec 2013 15:06 GMT
Dino With Rocks entries/dino-with-rocks https://mccormick.cx/news/entries/dino-with-rocks dino.png

]]>
/tags/games Tue, 15 Oct 2013 05:33 GMT
Deviator Sydney Tomorrow Night entries/deviator-sydney-tomorrow-night https://mccormick.cx/news/entries/deviator-sydney-tomorrow-night deviator-sydney.png

Deviator, the show I worked on with PVI Collective and friends, is playing in Sydney, Australia starting tomorrow night. Get in there, tickets sell fast!

]]>
/tags/games Mon, 10 Jun 2013 01:32 GMT
Deviator ARG-like in Perth entries/deviator-arg-like-in-perth https://mccormick.cx/news/entries/deviator-arg-like-in-perth deviator.jpg

Deviator, the smartphone based ARG-like artwork by pvi collective that I worked on is showing at PICA in Perth, Western Australia next week after it's successful tour of Glasgow last year.

Apparently tickets are selling fast so get in there quick!

]]>
/tags/games Thu, 14 Mar 2013 09:28 GMT
Optimise HTML5 Apps For Mobile WebKit entries/optimise-html5-apps-for-mobile-webkit https://mccormick.cx/news/entries/optimise-html5-apps-for-mobile-webkit
  • Use zepto.js not jQuery.
  • Use -webkit-transition and -webkit-transform wherever possible.
  • Especially useful if you are developing with PhoneGap/Cordova on iPad and iPhone, or Android. Those webkit transforms saved my bacon on a recent iPad project. Here is the basic CSS you want to put on an element you want to optimise:

    -webkit-transition: -webkit-transform 0ms;
    -webkit-backface-visibility: hidden;
    

    Try replacing $(this).hide(); with a transform that moves the element off screen like this (might need overflow: hidden on your body tag):

    $(this).css("-webkit-transform", "translateX(1500px)");
    

    Then when you want to show the element again do this instead:

    $(this).css("-webkit-transform", "translateX(0px)");
    

    I also had great success replacing jQuery UI drag-and-drop code with something hand-rolled:

    $(this).css("-webkit-transform", "translateX(" + relativeX + "px) translateY(" + relativeY + "px)");
    

    Hope this helps you!

    ]]>
    /tags/games Mon, 10 Dec 2012 06:50 GMT
    Crqlr entries/crqlr https://mccormick.cx/news/entries/crqlr crqlr.png

    ]]>
    /tags/games Mon, 26 Nov 2012 05:20 GMT
    Thank You, LMG entries/thank-you-lmg https://mccormick.cx/news/entries/thank-you-lmg IMG_20121118_112241.jpg

    The good folks at Let's Make Games have been supporting the Western Australian indie and commercial game making scene for a while now with generous amounts of their own time poured into reports, moral support, game jams, and numerous events each year, so I makerbotted up these little arcade cabinet award thingies for each of them and gave them out at their recent end-of-year party, which was also great, as always! Thanks again LMGPPL!

    ]]>
    /tags/games Mon, 19 Nov 2012 08:54 GMT