Sep 16 2018
Pretty much every experienced programmer I meet who starts working in unity does the same thing. They try to work around Unitys own way of doing things, and I was no exception. I have given this phenomenon a name: to Fight The System. Usually it ends up biting you in the ass, and have you do it the Unity way with your tail tucked between your legs.
But now I’ve been working with Unity full time for over three years, and a while back I got an idea too good not to try. It’s the ultimate Fight The System!
This evening I managed to complete minor milestone #1. Rendering tiles from an old Ripple Tilesheet to a runtime generated mesh, using a custom shader to map the tile values.
It does not scroll yet, but supports rescaling the viewport (although only to even pixels in height).
This is a good start!
May 16 2018
Theme: Combine 2 Incompatible Genres
View the Ludum Dare page
Using my partially completed text engine I’ve been working on in C++ I managed to get a top ten score in the category mood!!
READ MORE >>
Mar 15 2018
More fun with your terminal:
- Write character at position
So far I’m surprised by the speed (the delay you see is actually me pausing the thread)! The last time I tried stuff like this directly in the terminal it flickered like hell. But that time I was using
conio.h, this time I write stuff myself using only
I’m not using buffers yet, only moving cursor and writing to that position. Guess writing to buffers will make it even faster. But thats for another day…
Feb 11 2018
Ok, for the first time in a long while I got two hours that I could spend on programming! Need to refresh my c++ knowledge quite a bit (the metro siberia part below uses OpenFrameworks to do all the heavy work for me). But in these two hours I still managed to:
- Create a makefile (my very first one)
- Code a small console application in VIM (and compile it using
- Have the program print out text letter-by-letter
- Read the content of the text from an external text file
- Store config flags, such as speed or pause in the text document
Not very exciting, and now the time is up. Time to hit the bed. Felt good to do some programming anyways.
Sep 14 2017
Small progress. Started porting over my matrix implementations from haxe. At the moment it actually looks more like C-code than C++.
Been playing a lot with arrays and pointers. Even some
Aug 24 2017
Started a re-make of my old game Metro Siberia in C++. This is the big plan:
- Custom rendering methods in it’s own header file
- Game code is platform independent
- To start with, only draw lines and simple fills
- Currently using OpenFrameworks as “backend”, because it is almost zero hassle to get working
- Plan is to change from OpenFrameworks later on… but we’ll see. At least the structure will allow it.
Currently nothing more than a window that renders the picture above.
Apr 24 2017
How do you create a nice user (developer) friendly Behavior Tree in Unity? The hardest part with BT’s is not making them, it is maintaining them! As they scale they become pretty hard to grasp, and you need good visual tools to debug. But I just got an idea that I want to write down somewhere before I go to sleep and forget all about it.
First some links
Introduction to BT’s, if you don’t know them:
Interesting project with viusal editor (though way to buggy to be used, and also I don’t like the performance warning in the readme):
Here is a rundown on how to create a similar visual editor, using Scriptable Objects:
And lastly, you might have to read up on ScriptableObject as well:
So, ScriptableObject has some problems for our usecase: It does not support polymorphism. So here is the idea on how to solve it.
- A BehaviorTree class, with custom PropertyDrawer
- All the basic nodes are built-in into BehaviorTree, such as Sequence, Parallel, Repeater and so on
- Custom Condition and Action nodes are added as MonoBehaviours to the gameObject (and thereby serialized with all their properties), but added by reference as a nodes in the BehaviorTree
It’s not a pretty solution, but to me it beats most of the other solutions I have seen. Then it’s just a matter of building that custom inspector for the BT.
Mar 30 2017
Finally started on something I’ve been wanting to do for a very long time. A serious try to port Ripple Dot Zero to haxe, so I can compile it to c++, run it on Windows with full gamepad support and full, smooth framerate!
This is after a few hours of experimenting with openFLs new
Tilemap API, and one day of porting (well… mostly rewriting) the tile rendering part of my old engine. Now it runs on a solid 60 fps after compiling to C++, even though there are tons of optimizations to be done.
Right now it renders all static tiles (no animated tiles, and no sprites) from an existing level, and lets the camera move in a huge sine wave over it.
A very promising first step!
Mar 29 2017
I always forget or mix up how to extract variables from a formula when division is involved, which always slows me down as I have to sit with pen and paper to get it straight. So lets just get it straight and simple here, so I can look it up whenever I need it!
(Note: the one furthest down is the interesting one. Not even sure why I have addition in there, but I let it stay.)
Mar 23 2017
Three months after the initial release we added Pass and Play functionality to Wonderglade, and at the same time added a new mini-game.
I think it is worth mentioning this update in its own post as Hamster Hoops is (in my own humble oppinion) the very best of all the mini games. In this game the greatness of our team really shined through!
I spent over two weeks just prototyping the controls (turns out throwing basket balls using a 3-DOF Daydream controller is not only more difficult than you can imagine, it’s pretty much impossible), and also working very close with our new, and extremely talented game designer to make the challenge interesting enough. Not to forget the awesome 3d-artists who implemented most of the art during the two days I was home sick with the flu.
Jan 15 2017
“Don’t worry about the dog, he’s very nice and only wants to play!”
Jan 02 2017
Wonderglade is the second game from Resolution Games I worked on (also the second game they released). It’s a collection of mini games in a theme park setting, and it was released for Google Daydream, their mobile vr project. The game was released for free, and has really good ratings!
Screenshot from Google Play Store, taken 25 sept 2017
Dec 15 2016
A while back I found all the raw material for a game me and Simon were working on a long time ago (actually before both Ripple and Metro Siberia, so somewhere around 2006 – whoa, thats TEN YEARS ago!!) called Kingsmountain, and I’ve been playing with the idea to try and recreate one of the minigames.
My first attempt was with Haxe, and a 2d skeletal animation tool called Spine. However, the Haxe runtime implementation for Spine was buggy as hell, and I spent many hours trying to animate the running little dude, but finally the bugs made me give up.
Instead I restarted the project in Unity, and here you can see the result after just about 2-3 hours.
Oct 31 2016
Today is the last day of my parental leave. For 6 months I’ve been home with my twin daughters (they were almost 9 months old when I started, and soon 16 months).
I’ve spent a lot of time with them, but I have managed to stay creative in the few hours every now and then when they were taking naps. I have to say I’m a bit impressed in retrospect!
READ MORE >>