Dienstag, 5. Mai 2020

Finally working again

Problems, Problems, Problems

How could it any different? With Corona all around us, my study became really complicated and it was so easy to forget abot this project. After around 2 months without even a thought about this project, I am now at full force again (or whatever my motivation allows me to do). I basiclly restarted my whole project and started again coding from scrap. The project still has the name "Age of Roguelike", now is written with C# in Visual Studio 2019 and uses SadConsole, GoRouge and the new Sadconsole.Goroguehelpers.

One Step at a time

What I learned restarting the project, that it is okay to not have motivation one or two days for the project or not having time because of reasons outside of your control. What matters at the end, that you dont stop thinking about it, that you at least look at your project once a week or maybe braimstorm a little bit about possible features. Only then you get into the habit of working a long long time at a thing you love, without forgeting about it or feeling stressed because of it. 

What I have achieved

This isnt a full articel, this is the little thing I forced myself to do, because I want to get into the habit of writing an articel at least twice a month. I dont know if it will work, but I can at least try, right? The articels really helped my getting into the mood of starting the project, so I at least hope they will help my future self of coding at the project again.
This is my crafting feature. It isnt perfect, but It works. Other things like, map generation, items pickup and FOV work as well, but this is more the achievement of SadConsole and GoRogue, since it is way to easy to have a simple roguelike in like a day or two with there help.
This is my code, checking the player choice against all existing recipes. CraftingType.NULL are the empty places inside the recipes, itemList are the nine choices the player can do and if itemList[i] == null, then at this position there isnt an item placed. I am not proud of this, but It works and that is enough for now.

Hope you all have a wonderful week and dont stop working at things you love at the right pace,
Till next time,
Age of Roguelike Dev

Samstag, 2. November 2019

The problems that come, without even starting to program

How to start programming a game (or anything really)

In my studies, where I learned to program little things like calculators or alarm clocks, we learned pretty quickly, that you can't predict every problem that comes with it. Still, you need to try because with a little bit of work, bevor you start your programming, you maybe don't need to rewrite hundreds of lines of code afterward. Since this should be my first proper game, I want to make a good plan, about how I structure the game code and how I can solve problems about design and gameplay along the way. What should a class inside a program consist of:
  1. Should have a clear and unique task
  2. This task is solved inside the class, without jumping between multiple classes
  3. UI, LOGIC and STORAGE classes should be separated as best as possible
  4. Every code, that is used multiple times, should (based on the scale of the code) an own method or class
But still, after all of this, you really can't plan everything out to the last detail.

How I try to structure my game code

First of all, I try to split the game code into two sections:
  1. This will be the roguelike. It will have a classless system, where you get your spells and skills based on the items you created in the crafting system. The crafting system, on the other hand, needs the resources you find in the dungeon and by slaying monsters and bosses. I think about adding a skill system, where you can put skill points, to get better at crafting, fighting, etc. On the other hand, I think it would be better to get all kinds of skill points through weapons, armor, and tools, that you yourself created. 
  2. This will be the RTS. After slaying the boss and leaving the dungeon, you can search for a good place to start your own town. You can upgrade the buildings and get passive resources. You can build things like smiths or barracks, to upgrade yourself or your tools. After a while, you will get more resources through the town, than through killing bosses or finishing dungeons. But the roguelike part will still be important since this will be the only place of getting rare metals or material, that you need for end gear or buildings. 

The problems that I see

But even after planing and thinking about so much, I still don't have an answer to all problems:
  1. How do I structure my crafting? Will I do it like Minecraft with a 3x3 Grid? Or can a player just insert their resources into a pot and if given the right materials, becomes something out of it? Will there be things like crafting books or recipes? Or do I expect the player to write down their creations?
  2. How do I achieve, that the RTS Part doesn't get repetitive? Given that there still be a permadeath (or maybe a second chance, when you build a church or something), there is a good chance that building your town will get boring.
  3. How do I want to generate the world and dungeons? The only thing I can do is the "simple" rooms with paths structures and I don't think that is the right way. Maybe there should be a digging feature since you need to mine your resources?
  4. And how do I get to stay sane after dealing with all of the problems? :P
Thanks for reading my blog and maybe next time I will have an answer to the problems. Maybe you have an answer? I'm open to any kind of advice or idea.
Till next time,
Age of Roguelike Dev

Montag, 28. Oktober 2019

The hard beginning of every creation

Introduction

Hello everyone, who just seems to be stumbling about this blog or who just came from the r/roguelikedev subreddit and wants to read about my little journey. Thanks for being here. My name is Christopher Schwandt. I'm 22 years old and study software development. In my free time, I always used my time to program little games and ideas, to further deepen my understanding of programming languages. As a little bonus, I always try to add a thing or two, which I'm not familiar with. In that way, I try something new every time. And the next thing I want to add is a real proper game, which I could show other people and this blog should help me stay productive over a long period. Given that German is my main language, this helps me get better at English as well.


What should my roguelike even be about?

After seeing this video my passion for creating my own roguelike came rushing back. I created a generic roguelike, a cannibal roguelike, and a D&D roguelike. So now was the question, what should my roguelike be about? This decision wasn't really hard to make, because I already had an idea in my head for a long time. In the beginning, I wanted to make an RTS game, but after I thought about it long enough I decided to merge both genres together. For example, when you beat a dungeon or a boss, you collect resources on the way. With the resources, you could upgrade your town and in return could upgrade your character. Of course, I needed to be very careful or it would really don't become a roguelike at all. I needed to make a proper plan with all the pitfalls or problems that could arise over the time of the development. But that is a theme for another blog.

What could be a good name for my game?

My biggest problem for creating a game was for me personally coming up with a name. My games were always called "First Roguelike" or "D&D Roguelike". Now, this wouldn't cut it anymore, because now I wanted to show my game to other people and then it would need a good name.
  • Keep it short: you don’t want to see your name truncated in the app stores.
  • Keep it simple: easy to spell and pronounce, preferably common words.
  • Make it enticing: it’s entertainment, after all.
  • Make it unique: You want to be memorable, and no trademark lawsuits.
This site helped me really much with it. It gets the process of choosing a name for your game down in 4 lines. I made a list of all the ideas I had and got some friends and family to help me decide. And of course you already knew the name:

AGE OF ROGUELIKE

The reference, if you played Age of Empires, should be pretty clear. Additionally the same is unique, as far as I found out, the name gets the point across and for me personally combines everything there is about this game. 

Thank you for reading my first blog about the development of my game.
I'm still in a project for my study, therefore I can't really start right now, but I want to lay the groundwork. Then after the project, I will really start with my new game "Age of Roguelike".