How To Make a Roguelike: #20 Wrapping Up

Our roguelike game is now complete. Let's take a look at what we can do next!

How To Make a Roguelike: #19 Win and Lose Conditions

Our game is almost complete now, and the only thing which is missing is a Victory and a Lose screen. Let's add them now!

How To Make a Roguelike: #18 Help and Examine Dialogs

Now we have almost everything in our game, but a new player might be puzzled how to play. Let's add help and examine dialogs!

How To Make a Roguelike: #17 Experience and Leveling Up

We can kill a lot of monsters now but we don't gain anything else apart from the loot. Let's add leveling to our game!

How To Make a Roguelike: #16 Aggressive Monsters

We have loot lying around in the dungeon, but it is kinda lame. Let's create a new type of monster which will carry these!

How To Make a Roguelike: #15 Weapons and Armor

Our character can loot food, but there are no weapons nor armor in our game yet. Let's create them.

How To Make a Roguelike: #14 Displaying Stats

We have a lot of information about our character, but we can't see them. Let's add some visualization for them!

How To Make a Roguelike: #13 Food and Hunger

Having items is nice, but let's improve on that by adding a new game mechanic: hunger!

How To Make a Roguelike: #12 Items and Inventory

Since we have combat, monsters, and fog of war, now is the time to add items to our game!

How To Make a Roguelike: #11 Wandering Monsters

Now that we have Fog of War, let's hide something beneath it: a wondering monster!

How To Make a Roguelike: #10 Vision and Fog of War

Having stairs to lower levels is nice but it is no fun if everything is visible at once. Let's add a vision system!

How To Make a Roguelike: #9 A Multi-level Dungeon

Now that we have real combat let's expand the explorable dungeon to all the levels we have generated!

A New Kotlin Tutorial Project

The lack of updates on my blog were due to me working on a tutorial series which I'm publishing here now!

How To Make a Roguelike: #8 Combat and Damage

Having monsters in our world asks for one thing: real combat. Let's work on that a bit!

How To Make a Roguelike: #7 Stationary Monsters

Now that we can interact with the World, the next logical step is to add monsters to it!

How To Make a Roguelike: #6 Entity Interactions

While walking through walls is fun, it is not a good game mechanism. Let's improve on that with Entity Interactions!

How To Make a Roguelike: #5 Exploring the Cave

Now that we have a Player in our game let's learn how to move him around!

How To Make a Roguelike: #4 The Player

Our cave is ready to explore, so let's add a player to it!

Tips for Writing a Library in Kotlin

Writing a library in Kotlin seems easy but it can get tricky if you want to support multiple platforms. In this article we'll explore ways for dealing with this problem.

New year, new design

New year, new design. The site received an overhaul to its design and also some new content categories were added

How To Make a Roguelike: #3 Generating Random Caves

Now, we generate an actual dungeon, or rather a cave we can explore in our game.

How To Make a Roguelike: #2 Views, Screens, Inputs

We gonna learn how to work with Views and Screens and also how to handle inputs from the user.

How To Make a Roguelike: #1 Project Setup

This article explains how to set up the tutorial project on your computer and get started with it.

How To Make a Roguelike

This article is the start of a tutorial series which will teach you how to write a roguelike game.

By the way - exploring delegation in Kotlin

Kotlin has an interesting keyword, 'by' which can be used for delegation. There is a lot of confusion around it so in this article we'll clean that up.

Gradle Kotlin DSL - First impressions

The Kotlin DSL for writing Gradle build scripts have been around for some time. In this article we'll take a look at it and see how useful it is.

Review: Kotlin 1.2.60

Kotlin releases are quite frequent nowadays and the last few ones were not so remarkable, but 1.2.60 is somewhat special. In this article I'll explain why.

The Nature of Nothing in Kotlin

For someone who comes from the Java world the concept of Nothing might be confusing. In this article, I'll try to clean that up with some practical examples to boot.

Going Beyond Android: Kotlin on the Frontend

While most developers use Kotlin on Android it is also a viable option on other platforms. In this article we'll look at how it works in the browser.

Exploring Kotlin: Useful Standard Library Functions

Kotlin comes with a lot of useful functions like let, apply, with or also. Less is written about what comes with the collections, ranges, and other packages of the standard library. In this article we'll explore them.

Going Beyond Android: Kotlin on the Backend

While most developers use Kotlin on Android it is also a viable option on other platforms. In this article we'll look at how it works on the backend.

Going Beyond Android: Exploring Kotlin Areas of Application

If you have written something in Kotlin chances are that you wrote it for Android. Kotlin, however, has other areas where it can be useful. In the following series, we'll explore what other fields exist where Kotlin can shine.

Data Explorer: a hidden treasure chest for IT professionals

You might have wondered about what technology do others use in the IT industry or which tools are trending. Enter the Stack Exchange Data Explorer where you can find information about all Stack Exchange users.

Kotlin pitfalls and how to avoid them

Kotlin is all the rage lately and while I do agree that the language is well thought out it has - as everything else - its flaws. In this article I'll explain some of the pitfalls I encountered and try to help you avoid them.

Kotlin is the new Java

If you are a Java developer you might be wondering what to learn next. Kotlin is in the sweet spot just where Java used to be and in this article my goal is to explain why.

Why should you open source your code?

Open source software is all the buzz nowadays so it might be a good time to think about whether you can release parts of the project you are working on.

Web Design Cheat Sheet

After reading a lot of guides and tutorials about design I decided to pull them together in a simple cheat sheet. The aim of this document is not to teach you how to design things but to get you started.