Oh wow, it’s 31st already? Maaan, time flies by like crazy. So I guess, I don’t really have any more time to procrastinate this article, huh?
Hi, Egor here.
So a few months ago, I got invited to a game conference in Moscow, called White Nights. I’ve never been to a gamecon before, so I got really excited and started preparing my game, Burning Knight, for the showcase section. At first, 1.5 months looked like a huge time frame to get the game ready, but it flew by so fast…
Hi. I’m a fellow indie developer, who tries to put a word about his game out into the world. And before this September, Steam was by far the most influential platform for me. It allowed me to show my game to thousands of players…
But now it’s over. Steam killed my traffic.
Hey guys, Egor here.
Remember that post from December 2018, where I talked about development plans for Burning Knight? Well, I was right about one thing for sure: the development did not go according to the plan… So let’s talk about this.
Roguelikes are defined by two key things: perma death and procgen. Permadeath is super simple to implement, but that’s not the case with procgen. There are thousands of ways, how you can implement it, and today we are going to look underhood of the Burning Knight engine (it’s called Lens, btw), and see what type of monsters live there.
So I’ve been randomly making tweetcarts for the past 2 years, and I’ve been always obsessed with how much cool stuff people can fit into a single tweet! I see a lot of guys out there who try to start with tweetcarts but struggle with fitting their doodles into such a tiny size margin.
So here is a guide on how to do it, and a few tricks that I use myself.
But what are tweetcarts?
In case you didn’t see this magic yet: tweet carts are PICO-8 doodles, that fit into a single tweet. That means that each of those masterpieces is not longer than 280 chars (bytes).
Tweetjam first started in 2016 on the PICO-8 forums, but quickly moved over to tweetjam hashtag on twitter.
If you’ve stuck with twitter for long enough, you remember, that tweet limitation on twitter was not always 280 chars. It all started out with just 140! So if you check out the early tweetcarts, they all are just a half of the modern ones, compared by the size!
What is ImGui?
ImGui is yet another a small C++ UI library.
What makes it different from most other UI libraries, tho, is the way you define
widgets with it. Let’s take a look at a basic example: I want a button, that logs something
to console when pressed.
Yay! This was a long-waited moment, but it finally happened! Burning Knight Steam page just went live (please wishlist!)!
Also, hey, I wasn’t sitting without a task for the last month, so here is a short list of things I’ve done, that are somewhat exciting:
- Breakable things!
- Breakable walls!
- Paintings (they are also breakable)!
- New enemies!
- Awesome level editor!
- Items are now defined in json!
- New procgen algs!
- Movement tech!
- New shadows
- New website! (https://burningknight.net/)
Trust me, there are so many not exciting things, that I had to cut from this list, just because… Well, they or wherein java edition, or just too boring.
So let’s dive into it, and have a closer look at all that cool stuff!
Somewhere in the drafts of this blog, I have an article, that explains all the flaws of Java 8 (and a bunch of other languages). It probably will never be released, cause it’s just a pile of boring (and sad) facts, but I will list some of them, to explain my actions, that I did.
- Has really old syntax, compared, to C# or any other more modern language.
- Packing an app requires or packing extra 100mb JVM, or having users to install JVM For example, Steam doesn’t ship JVM with it, and just overall packing .exe on Linux is a big pain.
- "Write once, run anywhere" is a lie Java won’t run on consoles, such as Nintendo Switch.
Might be enough already, but there is also the framework, that BurningKnight Java Edition works on – LibGDX. Overall, it’s a great library, but:
- What’s up with gamepad support? Hotplug works only with LWJGL3, but that crashes on MacOS, gamepad remappings for millions of existing gamepads? No, you gotta figure them all out yourself.
- Audio API is super limited Might seem minor, but all the juice, that comes from lowpass filter, writing notes to audio source on fly, and other, is just impossible.
So yeah. It’s all was piling on me for over a year now, and I’ve been dreaming of porting the whole game to C# for a while now. Burning Knight git repo has csharp branch, that is 7 months, but it didn’t really go far beyond rendering an animation of a mummy.
I’ve knew it was a huge project to port, and I was scared of it.
So around a month ago, I told you all, that January would be the month of bugfixes and forest area. Well, something went really differently… Here is what I’ve got done this month.
- Ancient Library area
- Forest Forest area
- Secret Laboratory area
- Womb Ruins area
- Frozen Ruins area
- Floating Island area is work in progress (renamed/retextured Creep area)
Burning Knight battles
That’s something, that I totally forgot to mention, but the game main focus is on the Burning Knight. And BK battle was pretty boring before, and he had the same attacks for all depths, but that’s not true now. I’m currently in progress of creating 16 attack sets, that BK will choose from to make the game more dynamic and interesting.