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.