Snapshot 2 (S160217)

The second snapshot of RogueBox Adventures is out now.
Get it here.

About the pain of distributing Python games for Linux

Python is a great programming language with a lot advantages and only a few disadvantages standing against them. But this few really can be painful...
For me as spare time game developer the main reason to use Python is that it allows me a fast development process and easy prototyping because I do not have to care about so much basic things.
The language is designed to be a Swiss army knife for programmers. By default it contains functions for the most common tasks inside a program.
The only thing that is missing are functionalities that are needed to create games, like drawing a graphical surface or playing audio.
Pygame is one way to add this features to the language.
So far everything sounds nice but the problematic point is that Python is a so called scripting- or interpreter language. That means that you need to have the Python interpreter (with all extensions) installed on your system to run a program that is distributed as plain text file or so called python bytecode file.
Now the Linux specific problem. Python it self is part of all Linux Distros (at least of the big ones like Ubuntu or Fedora) but you still have to install the pygame extension. And this is a problem because every distro uses its own Package management system. Debian and Ubuntu use apt, Fedora yum, Arch Linux pac-man and so on...
This means even the way how to install the pygame package on a system is different.
Everything would be much easier if pygame would be a standard component of all big distros.
I know it should not be a problem for a ordinary Linux-user to install pygame on his or her computer. As less as it should be a problem to make a launcher or to run a python script on the terminal.
But it would be nice to distribute RBA with a binary file that can simply be executed by a double click like I made it for Windows by using pygame2exe.
This would be specially nice for people who are new to Linux and do not know were to start.
Maybe some day there will come some solution to solve this problem. Until then you have to use the source code version if you are on a other platform than Windows.
I am really sorry about this.

Ranged combat (at least for the player), Level-System and optical feedback

Now lets come to positive things.
I have managed to implement ranged combat to the game. To do hat I haveve added a new slot to the inventory to hold magic items in your left hand and weapons and tools in the right one. If you hold a magic weapon in your left hand you can press F to switch to the fire mode. Your GUI will turn blue then and you can fire a magic bolt in any direction by pressing W,A,S or D.
Fire 1
Fire 2
Fire 3
Another improvement is that RBA got a simple level system now.
If you reach a new level you can choose a attribute to rise. You can choose Strange (physical attacks), Skill(defence against physical attacks), Power(magical attacks), Will(defence against magic attacks) or Health(more LP).
Monsters are also spawned with a level that corresponds with the depth they are spawning at.
The monsters choose how to use their skill points by them self. (A orc will focus on strange and skill while a dryade will choose more skills like power and will)
This leads to the fact that every monster in the game now has its individual attributes.
Furthermore humanoid monsters are now created with a individual equipment.(Not every type of monster can use all sorts of equipment)
All in all I hope that these changes will lead to a much better balancing inside the games battle system.
Level Up!
The last thing that is new to this version is a kind of eye candy.
If you hit(or miss) a monster or you are hit(or not) you get a optical feedback on the map now.
If the attack failed a white 'Miss' appears over the monsters head (or in the case that you are the one who was missed over your one). A hit is shown with a green 'Hit' and a critical by a red one.
This does not only look sweet but helps you to keep the overview in combat situations
Beside to this I have also fixed a few bugs like a random game crash when attacking monsters and a few minor things.
Furthermore the wands are correctly called 'wand' now and not any longer 'ward'. The graphic glitch when holding one is fixed as well.
All in all the game should run a bit better now.

What's next?

In the next snapshot I will extend the tiles class with a few new properties that will be used of the new AI(witch will come in a later release). I also have plans to change the tiles class in a way that it becomes easy to make different looking instances of of them. For example this could give me to make different kinds of trees that act the same way like the one that are already inside the game (grow and can be choped down with a axe) or in longer term this would allow me to make seasonal changes of the overworld.
I also thinking about making a new map type that uses this new features of the tiles class.
Furthermore I think it is time to create a real main menu and a save file management system that allows you to play more then one saved game per copy f the game without copy+paste save files.
I hope you will enjoy this version of RogueBox Adventures.