Salomonsson.se
Dec 09 2019

Pew pew pew. Part 2

Replaced the player ship with free model from asset store since the cube looked too horrible, even for me. Replaced player bullets with laser beams.

In this gif it’s hard to distinguish bullets from enemies…

Nov 26 2019

Space shooter prototype in VR, part 1

Got an Oculus Quest a few months back. Love the device, but I’m not overly enthusiastic about the games you can buy. Not to mention that they are very expensive!

So I started writing a small game of my own. A little space shooter/bullet hell with fast, arcade-like gameplay inspired by games like Geometry Wars.

This is the very first progress. Only an hour into the project… good progress for such rapid prototyping. Lots left to do (obviously).

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?

Oct 06 2019

Ludum Dare 45: Mad Mans Vengeance

Theme: Start With Nothing

Finally a console game with screen shake!

http://games.salomonsson.se/ld45/LD45_MadMansVengeance.zip

My second text-based c++ game, this time however not in actual console but in a fake window using SDL (porting a console program to mac/linux was too much effort).

Even though the game was submitted in time, I did not get any rating. In order to get rating you need to recieve 20 votes, and safest way to get those is to rate 20 games. Unfortunately - in order to do so in an honest fashion a lot of time is required, and I could not get any more time after these full two days.

Therefore this will be my last Ludum Dare entry. Getting a result, being in the competition, is the very reason I’m doing this! Seems I will have to try and find another game jam I can attend instead. I feel sad about this, but I have been getting the feeling for quite some time that Ludum Dare has grown more than is actually good for it.

Link to source code: https://github.com/Tommislav/ld45

Link to ludum dare entry (because why not): https://ldjam.com/events/ludum-dare/45/mad-mans-vengeance

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

Download the game (Windows only)

Source code (github)

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.

Jan 30 2018

Narrows

Ship Ohoy! Narrows is a strategy game inspried by games like FTL, but with it’s own spin on it… and on the high seas of course!

I was on the project from the very start, prototyping, production, polish. I worked mainly on the ship view/sea combat. I was the only programmer during prototyping and the fencing mini game, but was involved in almost every part of the game.

This game is very close to my heart. Near the end the game was so much fun to play that development took forever since every time I needed to test something I got stuck playing…

Unfortunately the game is not very easy to get a hold of. At the time of writing this it only exists on Google’s (now discontinued) mobile VR headset Daydream, or Oculus GO. I hope it will get ported onto more platforms!

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++.

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.)