Decisions, decisions

Even though I didn’t work that much on my latest project, my Ultima-inspired game reached a new milestone. I’ve added game states to the game to handle switching from the map view to the main menu and vice versa. In the future additional game states will be needed. A game state is basically what tells the program how to react on certain keypresses, what to show on the screen etc. I’ve added a screenshot of the main menu screen below.

image

I also managed to get some simple animations going, but unfortunately it’s not working perfectly right now. But at least it’s a step into the right direction.

I’ve also added functions to the game which allow me to spawn enemies on the world map. They don’t do anything at this point, but I already have some ideas on how to get them to move around and eventually attack the player.

image

I’ve also added a function which checks which tile the player is standing on. If it’s swamp there’s a certain chance that the player gets poisoned which means they’ll love HP with every passing turn. Of course there’s no way to die at the moment, and curing poison is also not implemented.

What I have to do now is to make some design decisions. What stats do I want to use? What mechanics do I want to implement? Will there be multiple world maps or just one? Will combat be like in older Ultima games (on special combat maps) or more like in a roguelike? Should perma-death be a thing? To make things easier I could also throw out monsters visibly roaming the lands in favor of JRPG-style random encounters. Hmm…

I am also not sure whether I should stick to the Josh Steele tileset or not. It looks great but it also limits me in various ways. On the other hand limits can be great. I am not really an experienced computer game developer and I have to learn a lot of new tricks all the time. So limiting my design choices might help not to overwhelm myself too quickly.

If you are interested in further updates, please let me know. I also can go deeper into the coding aspects of my project if you’re interested in such things. My code probably looks horrible, but it still might help some other aspiring game designer to not repeat my mistakes. Zwinkerndes Smiley

From LUA with LÖVE

Since I got my first computer back in the mid 1980s I love writing code. I never had professional training in it, but over the years I’ve played around with several programming languages and I’ve written programs for various platforms. My big dream has always been to write my own computer game.

A while back I got GameMaker Studio from the Humble Bundle and among the projects I finished was an Asteroid clone and an application that allowed me to view the map from Ultima V using the game’s tiles. I even expanded on the latter and added an avatar which you could move around on the map. Eventually I added the ability to board a ship and sail around. But when working with GMS, I always had the feeling I had to fight it. So I started to look for alternatives.

image

I had a look at Unity (which totally overwhelmed me), Pico-8 (which felt too limited) and various other engines and programming languages. In the end I decided to give LÖVE a try. It’s a framework for LUA which allows you to write 2D games. To my surprise it’s quite easy to learn and is very flexible.

So I started a new project using LÖVE: A RPG inspired by the early Ultima games. The game has no name yet, no story, it’s actually not really a game at this point, but I’m still quite proud. Currently you can run around on a tile-based map with your avatar which is centered on the map. Movement is blocked by certain tiles, while others slow your movement. The map is still hardcoded, but I plan to write my own map editor eventually.

In order to have a reliable backup of my work and to allow others to have a look at my (terribly messy) code, I uploaded the whole project to GitHub. As I said before, the game is far from being completed, let alone fun, but if you want to check it out, feel free to do so. Any advice is highly appreciated.

Playing the classics: Ultima IV

Yeah, it has been a while since my last post. But let’s not dwell on this and look to the future… or rather at the past. Today I want to write about a computer game series which influenced me a lot: Ultima. I think the first Ultima game I ever played was Ultima VI – The False Prophet. I think it was my mother’s cousin who regularly provided me with games for my PC who gave me a pirated copy of that game. Back in these days people didn’t care that much when it came to software piracy…

U4vga

I don’t remember how many hours I put into Ultima VI, but when playing it for the first time I was hooked. Later when Ultima VII came out, I was basically glued to my PC. What I liked most about the Ultima games was their freedom and the intriguing stories. Much like in the open-world games of today you could choose in which order you fulfilled quests, which areas you wanted to explore first, and there were countless ways to interact with the game world. Heck, you could bake bread, milk cows, and all that. Unfortunately Ultima VIII was a huge letdown, and don’t get me started on Ultima IX. This is a story for another day…

I eventually bought a copy of the Ultima Collection containing all Ultima games up to Ultima VIII. But even though I tried, I had a hard time getting into the older games like Ultima IV, let alone the games from the Age Of Darkness. Even though Ultima IV and V were the foundation on which the games I loved so much were built upon, I just couldn’t get myself to actually play them. It was either the outdated graphics, the lack of music or the horrible controls which drove me away.

So why is it so important to me to actually play this game? Ultima IV is the first game which featured the eight virtues and the avatar. It’s the game that set the tone for the rest of the series. It’s not a roleplaying game about slaughtering monsters and taking their stuff, but about becoming a better person. It’s a game about personal improvement and philosophy. There’s no big bad to kill, no treasure to find (ok, there are treasures to find, but its not the focus of the game). It’s a classic and a game changer.

0Lately my interest in roguelike games has increased and I played quite a few games with outdated graphics and byzantine control schemes. Since I was enjoying the gameplay, it didn’t matter that much, that the games weren’t up to par when it came to presentation and user interface. Eventually it occurred to me that I should give the old Ultima games another chance. Again, I skipped over the first three games since – in my mind – they are only losely related to the series as I see it. For me Ultima started with the Quest for the Avatar.

If you want to play Ultima IV nowadays you have several options. The easiest way is probably to get a copy from GOG.com which also included its two sequels. DOSBOX is included, so it runs fine on modern machines. Alternatively you can get a free copy from one of the other sources, but then you have to get it running with DOSBOX yourself.

But an unpatched Ultima IV still looks pretty outdated and doesn’t have the iconic Ultima music. There are several fan patches that remedy that, but I actually recommend to use XU4 instead, or if you are more a C64 person, to check out Ultima IV Remastered (see screenshot above). XU4 is a new engine for Ultima IV which not only supports music, but also higher resolution, alternative tilesets, and a couple of quality-of-life additions. It is IMHO the best way to play Ultima IV on a PC nowadays. You can download the latest build from SourceForge, but make sure you read the included documentation carefully. In my first attempt I forgot to put the original Ultima IV files into a ultima4 subfolder and the program just crashed.

XU4 is compatible with the U4 Upgrade Patch and supports digital audio, so you can add alternative music to the game. Combined with XU4’s quality-of-life features, Ultima IV is now much more playable, especially if you are already used to roguelike games. I just started the game myself, but there are already a couple of tips I can share with you thanks to the friendly and helpful members of the Ultima Dragons Internet Chapter Facebook group:

  • Travel to any city and talk to the people there
  • Write down any clue you get, especially when related to the virtues, runes, and mantras
  • Explore the lands and make use of a map
  • Prepare the Cure spell as soon as possible, the amount of poison in the game is bordering on ridiculous
  • Don’t act like a dick – you want to become the Avatar, remember?
  • Seriously, try to be virtuous

Ultima IV like many games from that era, doesn’t hold your hand, there’s no quest tracker to show the way, there’s no journal, no automap. You are thrown into the lands of Britannia, with no clues what to do and where to go. My last advice: take it easy, enter the city nearest to you and talk to everyone and their dog, and let the clues the NPCs provide you with drive you forward. It worked for me so far.