Good evening everyone! I hope you had a blast of a time making games this weekend! My work is done, a lot has been added since my last blog post. For instance: there are graphics now! I'm especially proud of the donut-shaped overworld. It turned out gorgeous if I say so myself :-) The game is about a thief hungry for gold. Every year he goes to the same places to collect it. Because he gets to know each place better and better, the levels will expand each time it is played. Every level loops around, if you completed the loop, a door will appear so you can escape from the cops and their iron drones! You can say that the thief is a typical "CRYSOPHILIST"! All levels are "limitless", they are all computer-generated. There is also a working high score table :-) This was my first time joining the Ludum Dare gamejam. I had a lot of fun and I learned a lot. I actually liked the theme. First I had no ideas, but within an hour I drew up a plan that eventually became CRYSOPHILIST. You can play the game by browsing to: https://wouter52.com/CRYSOPHILIST/ You can also download the source code by clicking the download button at the top of this blogpost.
This morning I spent polishing the random level generation. Yesterday the platforms generated where too much disconnected. I wanted them to connect more so the textures will look more interesting in the end. Turns out: the code was not optimized to identify each platform using their coordinates. That were just randomly put in a list without order. I had to program code to make it possible to identify platforms by their position in the level. Eventually it worked, using that code I made some more functions that return the offset of the neighbors in blocks. So, for example: a platform has a platform 2 blocks above it. If you call that function asking for the nearest top neighbor it will return 2. This is very useful. I made a heatmap deciding where to connect the platforms using that code. I realized I could reuse the same code to add power ups, so I did! Now it is time to add enemies. I want to have several enemy types: circling enemies, walking enemies and stationary enemies. If I have time I'll let them shoot too! You have to avoid the enemies, maybe I'll add code that you can kill them by jumping on top, but only if I have time. As you can see the levels are built out of blocks. That will change, I just wanted to have the functionality right (and I'm procrastinating creating graphics haha).
The first part of the day was troublesome. I could'n get the colliders to work properly. The character (which is a square right now, use your imagination) was just glitching all over the place. I started work at around 08:00AM. Around 12:00PM I was satisfied with the colliders. Around 13:00PM I started at trying to get the level centered around the character (which is still a square). That was surprisingly easy! Withing 10 minutes I had the code working. After that I went on and tried creating an infinite loop. The idea is that the level will expand over time, the first time you play, it will be one screen looping around. When you revisit the level, it will have an extra screen. Getting that to work was surprisingly easy too! It took around an hour and a half. The last half hour I spent on experimenting with the level layouts. I have to somehow program some rules so the computer can generate screens on it's own. Some of the next steps are: Generating screens Creating overworld (4 levels in a loop, every level will expand by one screen after playing). Creating some awesome graphics Creating enimies Creating sounds Within 30 minutes from publishing this log, I will be away for a few hours (life is calling). I would appreciate if you could play it and give some feedback if you have time :-)
Good evening everyone! It is time to show you my strange but extremely effective setup. Let me walk you through. The whole system runs on Linux (elementaryOS to be specific). It is my favorite OS, but there is one teeny, tiny detail that just won’t run stable on it. My favorite paint program: Paint.NET. That is why I have a separate virtual machine with Windows XP just to run it. Don’t worry, I am aware XP is dead for years. I won’t do taxes on that system of course :P Over at the right-hand side of the photo, you can see my rubber duck. It helps debugging by just listening to my frustrations. It is called “the rubber ducky effect”, google it if you are unaware or skeptical about this effect. I use pen and paper to keep notes. That is how I like to do it, I was that weirdo in IT class writing everything down while everyone else used OneNote or some other kind of note-taking-app Lastly, a good office-chair. It is not on the photo, but I think it is the most important of all. I encourage all of you to find a good chair to sit on to spare your back. You only have one of those ;-) Stay tuned for more! I’m planning to share some more stories about my first Ludum Dare Adventures