23 Sept 2018

Happy Clouds demo for Skrolli Party 2018

The Finnish computer magazine SKROLLI organized a party for the staff and writers but also for anyone who submitted an entry to either Wild or Realtime Compo, so I decided to make one.

I used Processing which I learned during Assembly 2018 and thought to make a summery demo about going to the beach. The first idea was to have a camera flying from midst of city over a forest, going towards the beach and sea. But things were harder than I thought and in the end I just had the sea and clouds.

My friend said that the clouds could smile like the ones in Super Mario games and I thought it looked cute. Then I wanted to add greetings in the form of boxes floating across the surface, but in the end made them jump out of the sea instead.

Biggest difficulty was to get the faces to show on clouds. Processing does not allow drawing 2D shapes in depth, which seems to mean that the depth is always 0, so I needed to make sure the clouds are further back, but not too much because then the face would be offset from the cloud because of the perspective projection.

Syncinc was also difficulty, mostly because I did not choose my parameters well and the default Rocket editor is so clumsy to use.

I made the music using Beepbox and discovered new features from it. I really like it because it is restricted by default, but allows for customization. And it is easy to share a song link.

I worked on the demo for 5 Saturdays and one Sunday, about 20 hours in total.

For the next time I learned to:
  • Leave an empty measure in the beginning of the song. It leaves space for transition and makes capturing and editing easier.
  • Choose colors and interpolate between them instead of syncing individual color components.
  • Generate random things in relation to previous result. That way I could have made sure that the cloud balls don't spawn inside each other and that adjacent greetings would have different colors.
  • Randomize width and height related things between 0 and 1 and then multiply with actual screen dimension. In this demo I took a random number between 0 and width, which meant that even when random seed was set, the result was different depending on the window size. 
  • Try to have everything depend on time. In this one only the boxes are, but the clouds and waves always keep moving. This helps with syncing.
For the next demo I want to use my own renderer. I think Processing is very good for starting out and trying things, but I came to feel that I want more control over things.

You can watch the demo over at Youtube and leave comments on Pouet.


9 Sept 2018

Flappy Bird in Python

I participated in a codebar gamedev meeting as a coach and helped others to create a flappy bird clone using Python and Pygame. I am not really a Python expert and so I practiced before the event and created a very simple version. I used the nice Python Game Book tutorial.



The event was nice and there was pizza. After the event I improved my practice game into a more refined version and added lots of comments so it could also work as a tutorial.

I have made it available in Github.

It was fun to be a coach and I hope my students got interested in game development <3

9 Aug 2018

Pink in Spaace, a small demo

I attended Assembly 2018 and joined the Demo Programming workshop. During that I learned some Processing and made an entry to the One Effect Demo compo.

Lots of time went to trying to understand what Processing thinks about 3D coordinates, as I have used to OpenGL and that the center of the screen is the origo.
I created the music using BeepBox and Audacity. My friend helped with the bacground, which I made in Gimp.

I did not really have time to do syncing, but next time I will allocate more time for that :)

But I got a demo done and I was really happy. And it was very exciting to see my production on the big screen.

You can see it here, it is Entry number 11. (Skip to start):


You can download a windows 64-bit version, but it is 70 megabytes because of the included Java 8 runtime.

If you want to just see the source or have Processing installed you can download the project folder.

Many thanks to workshop teacher Paavo Nieminen, and the co-teachers BJAKKE, sooda and a guy whose name/handle I did not catch.

30 Apr 2018

Dog Park Lovers

This game was created way back for Ludum Dare 38. My friend emtastik made the graphics and I programmed the game using the Monogame framework, C# and Tiled.

The theme was "Small world" and so we made a game about how dogs leave messages to each other like in facebook.

Initially the story was supposed to be longer with multiple days and everything but both of us got a bit sick during the jam and had to cut it to just one level.


You can download the game from:
>>> Game page on LDjam

22 Feb 2018

Daleks on the Dance Floor




I created this game during the Christmas holidays of 2017. One of my relatives had an old Mac SE computer and had gotten hooked on playing the Daleks game on it (which is a clone of an older game Robots). They had to give the computer away soon and I said I would make a clone of the game for modern computers so they could keep on playing.

I made the game using FreeBASIC as I wanted to try making a game using it and it felt suitable for the occasian. I had used it once before, during Assembly 2016 to make a flying toasters screensaver (the source code to that is sadly lost).

FreeBASIC is simple once you find out the function signatures and very similar to C. It was easy to make the game and I think the best part is how simple it is to create an executable that is also very small in size.

You can dowload the game from my google drive. The source code is included, so you can port it to other platforms if you want.

3 Feb 2018

Space Corgi Loves You



Space Corgi Loves You was created during Global Game Jam 2018(GGJ page)


The theme of the Jam was transmission and I combined dogs and signals from outer space to get the game idea.

My initial plan was to use Monogame, but the computer I had did not run Windows 10 fast enough and Monogame did not work properly on Linux the last time I tried. My plan B failed too so in the end I downloaded all lightweight frameworks and tools that I found in hopes that I would team up with someone who knew how to use them. Those were LÖVE, PyGame and Godot.

I ended up on a team with just me and an artist. I choose LÖVE because I had used Lua before and the web page and documentation were easy to follow.

It turned out to be very easy to use <3

Since GGJ ended I have been updating the game and version 1.1 is now available. I re-tuned the sliders and effects and added two more dogs.

Please enjoy.

Downloads:
Windows exe

Love file for Linux and OS X. To run the game on those platforms you need to install the LÖVE framework, that is available on their site.


Here are some development screen shots:

This was our proof of concept. It had a corgi (in space), a "win game" -button and working music

Next big step was to get the pixelate shader working. I did not write the shader myself, see the credits on the GGJ page.

The game was initially developed for 1280 x 1080 resolution only, which was a silly choice because it did not fit on all monitors because it could not be scaled smaller.

I changed the default size 1280 x 720 and added code to use real full screen mode. This way the game used space efficiently and worked on all kinds of monitors and resolutions.
LÖVE was really easy and well documented and I am going to use it for game jams in the future too.