Jump to content

  • Log In with Google      Sign In   
  • Create Account

Mikkel Staunsholm

Emscripten On OSX

Posted by , 19 October 2013 - - - - - - · 1,379 views

Did you see that the Epic Citadel demo now runs at full speed under Chrome as well (http://www.unrealengine.com/html5/)?

This got me curious about emscripten once again, and so I set it up on my mac. Actually very straight forward, but not a one-liner:
  • install brew if you don't have it (if you're using macports, then you are on your own :-)
  • always good to update brew: brew update && brew outdated
  • brew install node spidermonkey closure-compiler yuicompressor
    • Of course, you can leave out any you already have installed (fx. I already had node and closure-compiler)
  • brew install llvm --with-clang
  • brew tap homebrew/versions
  • brew install llvm33
  • create symlinks to llvm33:
    • cd /usr/bin
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/opt-3.3 opt
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/llvm-as-3.3 llvm-as
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/llvm-dis-3.3 llvm-dis
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/llvm-nm-3.3 llvm-nm
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/lli-3.3 lli
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/llvm-link-3.3 llvm-link
    • sudo ln /usr/local/Cellar/llvm33/3.3/bin/llvm-ar-3.3 llvm-ar
    • sudo ln opt /usr/local/Cellar/llvm33/3.3/bin/ocpt-3.3
    • (you get the idea, basically emscripten will tell you if you forgot one)
  • setup Python:
    • cd /usr/bin
    • sudo ln python python2
    • sudo ln ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 python22.7
  • setup emscripten:
  • try it out:
    • ./emcc tests/hello_world_gles.c -o hello_world_gles.html
    • open hello_world_gles.html
When the browser open the html file, it should display this scene:
Attached Image

And it is only 200k of js! Amazing :-P


PS! I don't have access to IE11 yet, exciting times if it actually works!

An Evening Of Fun

Posted by , 18 October 2013 - - - - - - · 481 views

Stumbled upon the PUTT contest: https://www.gamedev.net/topic/647849-power-up-table-tennis-contest/

Got inspired for a few hours, and here is the result:


Even has a title screen:
Posted Image

Game play is rubbish, basically you can only loose... Hopefully I'll find some time to polish it.

Code is here: https://github.com/staunsholm/ice-cube



Posted by , 14 August 2013 - - - - - - · 579 views

Do you know Spaceteam? A fun party game app, with lots of techno bable. And lots of fun!

I did a small poc for a conversion to html5, thinking that this should be "easy" to get working in a browser. Good news is that it was quite easy (although the server is not really stable atm.) - if it is up, then you can try it here:


Beware, no pollish applied:
Attached Image

You can play it alone, but it is absolutely no fun at all if you don't have at least one other player to shout instructions at...

Multiplayer is done with socket.io (in node.js) - the multiplayer server is hosted on an amazon ec2 instance. If you wonder how hard that was to set up, then here are my notes. If you fancy a poke through the code, then it's on github.

Used grunt for automating deployment, I am really starting to like the simple task based system that grunt represents. And the eco-system of plugins for grunt is growing every day.

Lots to do, but I actually have the feeling, that this project will be done someday.


One Sense at a Time - Revisited

Posted by , 14 August 2013 - - - - - - · 471 views

Did a brainstorm on One Sense at a Time, nothing solid at all, so this is mostly just to collect my thoughts into something semi-coherent:

* Is this a complete world where everyone only has one sense?
* Do you control a set of triplets, each with his/her own sense?
* Is this a quest to reset the world to normal? Making everyone have all their senses again?

* "Superboost", gain all senses temporarily
* Senses are temporarily switches
* 6th sense? warp time, rewind, see future?

Game type
* Is this a 2D platformer? 3D? Something completely different? 1st person? 3rd person?
* Could I use the Circles idea?

How to depict senses
* Character is missing the limbs (arms, eyes, ears) that he does not posses?
* Character is shaped like the only sense he has? (eye, foot, ear)
* You are a single character, but using a sense "overloads" all other senses - requiring a blindfold, tying your hands, putting fingers in ears?

* Is it completely black when you can't see?
* Could you visualize sound with colors?
* Show icons with sounds (heart, foot, coin, ...)?
* Determine what you are walking on
* Determine the direction an enemy/whatever is at
* Only way to find invisible enemies
* Creating eerie, suspenseful, cheery, sad, upbeat etc. moods
* "Super hearing": detecting heart beats

* Determine what you are walking on
* Walking into walls, obstacles etc.
* Secret locks, keys etc.
* Vibration feed back (rumble in controller, phone?)
* Show temperature as colors
* Briefly show silhouette of things you touch (could show silhouette of what you could image a thing to be, by only touching a small part of it)
* Super strength

* White noise
* Unable to activate things due to no sense of feeling
* Unable to speak
* x-ray / zoom vision

* Pick the sense(s) you need to use before entering a level?
* "In action cut scenes": quite brief cut scenes that are part of the game play (flash backs, story glimpses)
* some flash backs are only available with some senses, particular patterns of graphics, audio, vibration notifies of new story glimpses
* flashes may start out by giving only part of the story, leading the player in one direction - but as more flashes are encountered, the story takes a different direction
* maybe each level is at diffent times in the story?

* Mythology, Gods are playing with you?
* Magic, caught in wizards bizarre sense of humor?
* Science, medical experimentation gone wrong?
* Keeping it close to "reality", but with a twist
* If playing with 3 seperate character, some symbiosis keeping them together, mind reading?
* Multiple split personlity disorder
* Game starts with you going insane, playing through to be sane again
* "fight club": you think you are 3 characters, in reality only 1

So yeah, nothing solid. But fun to think about :-)


One Sense At A Time

Posted by , 27 July 2013 - - - - - - · 533 views

"Basically, whenever you enter a mirror, the world is reflected, but your motion continues." (http://awesomegameideas.tumblr.com/post/48815055810/idea-2-mirror-platformer)

I don't know why, but this sparked the following idea:

How about a game where you can only use one sense at a time? So you can see see but not hear or feel, you can hear but everything is pitch black or you can feel the rumble of the controller but nothing else.

Smell og taste would probably be too grose to incorporate :-)



Posted by , 27 July 2013 - - - - - - · 448 views

Playing around with a prototype of something I don't really know what will be. Currently you can jump around between some bubbles with your own bubble... Hmm, maybe if I could get the feel of soap bubbles (stickiness, surface tention etc.), then something could come of this...

Technically this is also to prove to myself that canvas performs very well in all newish browsers, even some mobile. So far this is actually "playable" on the ipad1, might change when more logic and "action" is incorporated.

Also I started doing a multiplayer version (node.js / sockets.io) since this should be an ideal candidate for doing something that actually works, since predictability should be very high. I'll update if it ever works, especially interested in something that works on a 3g connection.

Here it is. Sometimes you get stuck in the beginning, just reload. And no, you can do nothing but jump around. Should work on touch devices as well:


Attached Image


Birthday invitation game

Posted by , 25 July 2013 - - - - - - · 565 views

Very crude, but serves it's purpose. A game made when we invited people for our son's 5th birthday. He loves Mario, so the graphics may show some resemblance :-P

Runs in most browsers, but needs something newish to work well. A small amount of care has been taken to make it work on touch devices (probably not on surface tablets, since the touch api is different there).

Engine is pixi.js (rendering via webgl if present, canvas otherwise)
Sound is via soundmanager2

Attached Image

Here's the link:


January 2017 »

22 23 2425262728

Recent Entries

Recent Comments