Tuesday 4 July 2023

Brick Atelier 0.87 released

You can download it from here:


The release had some last minute issues like when I was trying to remove the console window from SDL. The solution is indeed change the project type to windows application and just use regular main function with SDL.h included, because it's taking care of that with a macro.

This release is not perfect, there are some bugs and missing features. Depending on the amount of feedback I possibly get (there may be none) it could be a motivation for faster release cycles, but we'll see. I don't expect a huge success for this project, because it doesn't have many of the basic features that other pixel software has.

I also feel like I don't have to focus on Brick Atelier for a moment and I can now maybe choose another project for release crunch.

The idea of class library I was talking about last time was a bad one. It's just because how C/C++ "works" in that area. Otherwise it would be a nice dream to have shared source code in multiple projects.

Monday 19 June 2023

Class library

I've had this idea about creating a shared class library for my main projects. Today I just did it, but it was not what I expected... I started with Brick Atelier, because it's an "easy" project to fix if something goes wrong. The way you create a library and add it to the existing project (or solution) in Visual Studio is quite easy, but I already have something to think about.

Some classes in the planned library are using SDL2 which I guess is easy enough to add in the library, too. I'm just wondering is there any complications in the way sdl's .dll is used. Because if you create a static library, does it require SDL also to be statically linked? One way to find out that would be trying it, but I'm in the process of crunching Brick's next release version. Then again, I think SDL2 can be statically linked, it no longer has that restrictive open source license, I think.

It is possible to keep the class library free from SDL2, but it does require some changes and also there are lots of SDL2-using classes that could be included in a library. It was a bit of a surprise that I was only able to move two files (with couple of classes) in the class library... but if you just plan it more like a library it could be possible to externalize quite some lines of code.

Tuesday 13 June 2023

What is wrong with Sweden?

This is the second and probably the last time I order from a swedish art supply webstore. My first time experience wasn't that cool, because they left out one item. However when I contacted them they offered me a discount for that lost item. It was a bit of a mystery how they didn't ship it, because the order was not large, but it could have slipped through the package which I think was poorly designed.

The second order arrived today and weirdly enough they had changed the type of package which didn't have any holes by design, but someone had still punched through the package! Luckily the items were covered by two layers of paper so nothing fell through this time. But you have to really try to damage it when it has a hole of that type. Sometimes you see stuff like that happening inside orders in Finland, but it's very rare. I would only guess the swedish package delivery is not that great, it's more like most countries in the world.

Anyway, I got some japanese Kuretake water colors and a brush which are hard core. They seem to be high quality stuff, but I have not tried out them. Now I have to paint something, even though I have a bad habit to get art supplies and never use them... I just like that stuff.

I try to get back to Teemu and make it my main focus. I have an idea how to handle the RPG system and I hope it works.

Thursday 8 June 2023

It's so cold

The beginning of the summer has been unusually cold in Finland. This is a cold, almost arctic country, but we usually do have short but relatively "warm" (around +20C) summer compared to other seasons of the year. But it's certainly not here yet, today it's +9 and last night was even colder. It's raining, so the sun doesn't warm. It's quite brutal, because most people have already turned the heating off. I'm wearing my trustworthy norwegian wool socks I got as a Christmas present couple of years ago.

I'm working on Legend of Saladir, trying to fix stuff for a release. I still don't know what the original author is thinking about this, because I have not asked yet for permission to release the source code which is already remarkably different than the original one. The state of the source code is ok, but I really have to code a new inventory routine to replace the old one which I simply removed completely, because I could not refactor it. Sometimes it's better just rewrite it, if you know what the thing does.

I'm actually thinking about finding yet another roguelike project to work on.

Tuesday 6 June 2023

How RPG Codex forum got rid of me

Remember when Roguetemple forum permanently banned me, because I didn't fit in their woke narrative? I then went to RPG Codex, which is quite a special forum, because it seems to be one of the last places where freedom of speech is not extremely limited by the mainstream (which is now becoming more and more woke) narrative.

Anyway, russians hacked some moderator's password, which I think was 'password' and for that reason Codex forced users to have 2-factor authorization or 2FA. What happened next was probably my bad as well, because I had forgot to change or requested to change my old mbnet e-mail I had for the longest time. So, I logged in and wrote a message where I detailed the problem of having an old, non-functional e-mail where the 2FA was messaged. I asked if they could change the e-mail and gave them my new e-mail.

I got two messages in reply. The first one was a link to change my password(?). I clicked it of course, like everything I get in e-mails. It redirected me to the forums, but the request didn't even work. "Oops, something went wrong etc..." There was also another e-mail that had a notification of a private message, which I can't of course read, because what happened after I clicked the password change link was that my current password no longer works. So, I replied to the message which seemed to have a valid e-mail to reply, but didn't hear anything back.

So, that's how they got rid of me. I think they saw the opportunity and took it. I think the reason was my avatar, no one seemed to like my rendition of Sonic the Hedgehog. Being kicked out of a forum that has pirates, misfits and other weird characters of course hurts a little bit. The main reason I went to Codex was that I could promote my roguelike projects and Brick Atelier, but then again, why even bother? I can just release them and let people find them from my homepage.

Monday 5 June 2023

Brick Atelier release crunch

Working on a release of the next version of Brick Atelier. It's absolutely hilarious how long these projects take. I began to work on this in 2003 or 2004. It's 20 years ago, although the last release was as "recent" as 2013. Anyways, working on the release is annoying as ever. Testing has revealed more bugs than I would like to fix, even though I know this release will have bugs and/or unfinished features. I had to stop implementing features to move things towards the release.

The main features of the new release are multiple tilesets so you can actually copy and paste from tileset to another (although it could be buggy). Then there is the tool shelf idea that every tool has its own set of options etc. One of the hardest features was the brush pad where you can store brushes, but now it's almost ready (you can't yet move brushes in the pad). I think the last of the big features was the color/palette editor, it's also quite ready, but still needs color data and maybe some palettes, too.

Funny thing is that I could actually still need this program to create tiles for Kaduria. This was the original reason why I wanted to make Brick Atelier and seems like there are no pixel painter programs that would have the features I find useful and wouldn't feel sluggish, because they are so large and not really focused on pixel art.

Saturday 15 April 2023

Microsoft should give us back the EGA palette

I began to work on a side project with curses library which I learned how to compile and use during Legend of Saladir remake development. Rather than just copy-pasting curses code from Saladir I've been deep diving into curses and programming an isolated gui for the new game. While I was testing colors I noticed something strange with them and after some research on the internet learned I was not the only one to notice it.

At some point Microsoft decided to change (ruin) the palette of the console by replacing the age old EGA palette with something worse, of course, we are talking about Microsoft here. So as a result the dark cyan and blue colors are almost exactly the same and also yellow is almost white. It's just ridiculous how this has been approved, but it does seem to follow some kind of "guideline", whatever it is. Probably the "idea" was to "protect" eyes from bright EGA colors, because I can't think of any other reason other than to just annoy Windows users more.

When I say "EGA" some people may point out that the 16 color classic palette is actually CGA, but I've always referred it to EGA, since it was the palette used in EGA games, while CGA had only 4 colors, because the 16 color screen mode was useless in any purpose. The EGA palette is kind of interesting, because it wasn't designed to look good, but the RGB values were simply chosen from a limited set of numbers which were then permutated, thus creating the palette.

If it is possible to edit the color values of the console then this problem could be fixed, but I'm not sure about it. Microsoft doesn't usually give people any useful options in Windows, like for example that you could turn off updates or remove completely useless built-in software. However after writing this I did notice that you indeed can edit the colors of the console. Well, I didn't spend all this time just to remove this entry. After all Microsoft should probably had the alternative palette as an option you could turn on if your eyes were destroyed by the EGA palette.

Wednesday 25 January 2023

New year with new plans

I went through a small self-realization moment and figured out I can't work on several projects at the same time. I need to focus on one project to get it ready, then move to next one etc. The first one is going to be Teemu, because it's very close to be finished as version 1.3. The next one, I'm not sure, but most likely Kaduria, even it sounds almost unbelievable.

The unfinished parts of Teemu are mostly the RPG system and some AI as before, but I think it doesn't have to be a "perfect" system (or AI), far from it. The new version is supposed to be a "true" roguelike, whatever it means these days when almost everything can be a roguelike. Again, I don't think it matters that much, but if I'm at least somewhat happy with the game it's a positive outcome from all the work.

Even though no one reads this blog I try to post development updates at least once a month. I believe that when I focus on one project and try to keep from perfecting the source code it's going to speed up the development of the game itself.