Salomonsson.se
Nov 24 2019

Drawing an enemy animation...

Wanted to do a test to see how fast I could draw an animation for a game, to see if it ever would be worth producing. The answer is an astounding NO. This super simple animation took an entire evening.

Still funny enough to post though. Would you play a game with this kind of graphics?

Sep 24 2019

Starting out with C++ and SDL

I’ve spent some time trying to port my text engine to linux and mac, with the following results:

  • On Linux (also valid on Mac) I cannot detect keyUp. “Fixed” it by gimping the game a bit on those platforms…
  • On OSX I cannot set colors correctly! The exact same sourcecode that works on Linux turns into dark blue text on semi dark blue background. Unreadalbe.

So I have abandoned that path for now. Instead started looking into the SDL library instead… and it is really smooth to work with! (at least on Linux). I have currently managed to get it to work on both Linux and Windows!

I can even work with this code on my old, very beloved, Asus EEE 1005PE netbook. A ten year old 10.1” computer that freezes if it tries to open any random webpage (Gmail? Just forget about even trying), however it has a whooping 250gb harddrive, a keyboard like a dream and a battery that lasts for an eternity. Writing C++ code in VIM (in a terminal window) works like a charm… like in the 70’s ;-) Compilation is around 1-2 seconds, which is not only acceptable, but also faster than Unity compiles on my powerhorse workstation.

This looks very promising for the upcoming Ludum Dare competition!

Sep 16 2018

Fight The System

This evening I managed to render 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).

May 16 2018

Ludum Dare 41: Dememtory

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 >>
Apr 19 2018

Cpp text console application, part 3

Now writing to bufferes and writing those to the output. Writer class that prints text character by character and interprets simple commands (right now only newlines and changes in speed and pauses). Two days left to Ludum Dare.

Tutorial that describes pretty much exactly what I’m playing around with

http://cecilsunkure.blogspot.se/2011/11/windows-console-game-writing-to-console.html

Good to keep as reference!

https://github.com/Tommislav/cppTextEngine/commit/1110c6c53b7abb51c5c5a34364d7f450046d8c35

Mar 15 2018

Cpp text console application, part 2


More fun with your terminal:

  • Colors
  • 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 windows.h.

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

Cpp text console application

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:

  1. Create a makefile (my very first one)
  2. Code a small console application in VIM (and compile it using :make)
  3. Have the program print out text letter-by-letter
  4. Read the content of the text from an external text file
  5. 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

Metro Siberia - part 2

Matrices!

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 memcpy!

Aug 24 2017

Metro Siberia - part 1

intersecting triangles

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.

Mar 30 2017

Ripple Haxe Port, 1

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

Simple Algebra

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

Hamster Hoops

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

Kingsmountain, Part 2

“Don’t worry about the dog, he’s very nice and only wants to play!”

Jan 02 2017

Wonderglade

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
Jun 13 2013

Ripple Dot Zero

Lets cut it short! Ripple Dot Zero is my Magnum Opus! For five years me and my childhood friend, Simon StÃ¥lenhag, worked on this in our spare times. It’s an action platformer, heavily inspired by our favourite childhood Sega Genesis game titles such as Sonic the hedgehog, Strider, Wonderboy in Monster World…

READ MORE >>