So, both me and Razgriz were pretty silent for a long while. Sorry about that, changes in our lives, etc. etc. I, for one, joined the illustrious Owlcat Games studio to work on Pathfinder: Kingmaker and future CRPGs. Here’s an article I wrote about my experience on adding turn-based mode to Pathfinder: Kingmaker, which is what I, along with my colleagues, were working for quite a while:
I’ve been doing some work with Ethereum blockchain recently, and the idea I worked on requires that we write a relatively large array of integer values in smart contract’s storage. Now, most tutorials warn you not to store a lot of data on blockchain, because it’s very costly. But how much is “a lot”, and at which point the price becomes too high for practical purposes? I needed to find that out, since we really needed this data on-chain.
For a quick approximation, let’s have a look at a wide-spread type of contract, ERC20 token. At the very least, it stores a mapping of addresses to token holders’ balances. The address is a 20-byte value, and the balance is usually 32 bytes, so we have at least 52 bytes per token holder, which in reality translate to 64 bytes, since the storage in EVM is parceled in 32-byte blocks. A somewhat popular token can easily have 10000 or more holders, so our estimate that it stores about 625Kb of information. That’s quite a lot, actually – more than enough for our purposes, since by our estimates, we only needed to store maybe tens of kilobytes!
So, let’s go ahead and pass that data to EVM and write it down to the storage:
2018 seems to be a year of spiritual successors. Not exactly sequels – for copyright reasons – but games that draw directly and unashamedly on a single source, rather than the whole corpus of “old-school RPGs”, as was often the case in the previous years. Whether any of those “successors” prove to be of any worth remains to be seen.
I decided to post my yearly overview of released and upcoming RPGs and tactics in English this time. Some explanations before I proceed further.
This list will only included games released, or announced for 2018, and only those games that I consider to be of interest to me. This means it mostly consist of turn-based and/or isometric RPGs and tactics, though sometimes I make exceptions for high-profile games or titles I consider to be interesting because of something else. However, there will be almost no mentions of non-tactical JRPGs, as I’m completely uninterested in the genre and can’t provide any comments on it, as well as most action-RPGs, including AAA titles. Oh, yeah, and the list is text-only, but with links to game’s site, for the sake of brevity.
Projects that I consider to be the most interesting are marked with ☆ sign.
With that in mind, let’s recount what titles have already been released in 2018 at this point.
A few of my colleagues and me decided to try our hand at creating an RPG. Now, this is a long process, and we’re presently at the very beginning, and none of us are experienced game designers. So the only way to go is to prototype, iterate and playtest.
Today, I invite you to test a combat system for this RPG. It looks a lot like JRPG/Dungeo Crawler combat, but I tried to make it a bit different from the usual fare in these genres, by putting emphasis on difficulty of each combat, instead of dungeon (a sequence of combats) as a whole. So, health and mana of all characters are fully restored after each battle, like in many modern western games.
The test is quite simple: you have to fight 5 battles of increasing difficulty until you defeat a boss. This should take less then an hour, I believe (and so there are no save/loads). I’ve been working on this for some weeks in the evenings, so don’t expect much of it, especially visually, but I think it should be playable enough for more-or-less experienced players now. The test is programmed in C++, but is compiled for web via Emscripten.
I welcome all feedback you can give: what did you like, what frustrated you, what was funny etc. Please do not hesitate to write a comment to this post, or drop me a line by e-mail.
More than year has passed since the release of Return of Dr. Destructo, my remake of ZX Spectrum arcade Island of Dr. Destructo. Soon, the work began on the mobile version of the game, but I only finished it now. Go ahead, and give it a try if you own an Android phone or tablet!
What’s new since the desktop release (besides the necessary adaptations to make the game playable on mobiles):
1) Planes now have super-weapons, including powerful bomb, bullet spray, mines and the ability to freeze enemies.
2) 5 new planes! Each with its own look, speed, turn rate and super-weapon
3) Tutorial to make things smoother for new players. Hopefully, this will do away with the confusion some players felt about the goal of the game.
I also have some further plans for this game, but I’m not ready to announce them yet, as I want to see if there is any interest in it first. Google Play no longer gives you any organic traffic, as the new games do not appear anywhere in the store, so I’ll have to fight tooth and nail for every player.
In games with complex UI, creating a library that supports that UI and tools that allow designers quickly iterate changes could be a daunting and a time-consuming task. A task that you’d like to solve once and forever, and not write a new solution for each new project, or even for each new company you work at. Life, as it can be said, is too short to roll your own UI libraries!
So, in desperation, you begin to search for a third-party universal UI library. Once, this was the domain of CEGui and the like, but the current generation of game-specific UI frameworks is dominated by Scaleform and Coherent UI. Although, if HTML-based UI is what you want, you may simply choose Awesomium.
Unfortunately, this trio has some problems with performance, especially apparent on mobile devices. Just a few years ago, I’ve seen a nearly empty screen rendered with Scaleform take up 50% of frame time on iPhone4.
So, I always wondered why does no one use Qt for game UI – a library that is well known for being one of the less-fucked-up UI toolkits for desktop applications. This is not actually entirely true – a list on Qt Project Wiki has some games that do use it, but it’s mostly open source, small-time projects or ports of old games.
Of course, it’s obvious why you wouldn’t use Qt Desktop Widgets in a game. They are not at all suited for hardware-accelerated rendering, and while you may try to work around this problem, it’s far more troubles than its worth. However, for a long time, Qt had a different library, the one that allows drawing hardware-accelerated widgets: QtQuick.
Not only it is said to be specifically targeted at mobile devices, it also has a very nice text format for describing UI screens, which is well-suited for quick iteration.
Still, I have never yet heard of a professional game developer using QtQuick. As I could find no posts or articles that could give me the reason for this, I just had to check it out for myself.
It’s been a while since I bought myself a Meizu MX4 Ubuntu Edition phone, but I finally found time and motivation to learn more about this new mobile platform from Canonical. I chose to port Allegro game library and my pet project, Return of Dr. Destructo, which is presently also nearing release on iOS and Android as a commercial app, to that platform. This post, however, won’t be very specific to my own projects, but can be used as a general set of answers to some problems with Ubuntu Touch-targeted development of OpenGL apps.
The worst thing about developing for a new platform is lack of coherent documentation. Even Windows Phone, with MSDN and Microsoft’s large workforce had this problem in the beginning, as it was impossible to google answers to even the simplest questions. In this post, I will try do document some peculiarities, problems and solutions of developing an OpenGL application (namely, a game) for Ubuntu Touch. If you’re more interested in developing apps with native UI (QML, QtQuick), then it will be slightly less useful to you, but you may still find something here.