Sunday 10 March 2019

#8 Survival elements and minimap

In the last blog I posted a movie which contained a first impression of the survival elements (e.g. temperature, thrist, ...). In the meantime I redesigned the user-interface (replaced the text with icons) and added some more information (e.g. "what happens when I reach a certain level of temperature?"). Furthermore, I implemented a minimap for a better orientation...

... and here we go:

Sunday 6 January 2019

#7 Crazy ideas - worth trying?

Do you know those moments when you have crazy idea but you take it with a pinch of salt? If so, you know how I felt some days ago.

What if it was possible to develop and implement an algorithm which recognises a simple pattern? (If you are a mathematician you might think: "Come on! That's child's play!").

Let us imagine there are several rooms, separated by doors. Every room is filled with 3 gas. The amount of each gas is not the same in all rooms, nor is the size of the rooms. What does happen if a door between 2 rooms open? The answer is: diffusion.

"Diffusion is the net movement of molecules from a region of higher concentration to a region of lower concentration. Diffusion is driven by a gradient in chemical potential of the diffusing species." [Wikipedia, 28 December 2018, at 07:07 (UTC)]

To be honest: I was never really good at mathematics, physics or chemistry. The higher the difficulty of the related task in school was, the lower was my mark. Therefore, please do not except a totally realistic game. At the beginning of the project I intended to develop something quite realistic, at least when it comes to game mechanics. However, while I was discussing with friend my ideas I suddenly realised: Realism can be counterproductive. Realism does not necessarily mean fun nor does it mean challenge. As a player (or human in general) sometimes you just end up being very frustrated because of realism. Anyway, let us get back to the topic, the crazy idea.

Besides diffusion, the idea gets complexer with the number of rooms involved (e.g. 3 rooms are in one cluster, 4 rooms in another, ...). There are some awesome tools like spss which include amazing algorithm made by some super brains to cluster data (e.g. Single-Linkage, Complete-Linkage, Average-Linkage, Centroid, Median, Ward, ...). Unfortunately, I could not just copy paste them. Nonetheless, these algorithm contain a fundamental logic which is key: similarity. Whenever you want to cluster something look for the similarities. The similarities in my example are the rooms which connect other rooms.

It took me quite a while but finally I managed to develop the algorithm. So what does this mean, speaking of game mechanics? I am not sure yet. However, I really do like the idea that things in the game are connected. If it is going to be a part of the game, underlying physical processes will work simplified (e.g. fix exchange rate, neglect pressure and temperature, ...).

To conclude: whenever you have a crazy idea give it a try! At the beginning I did not know whether it is going to work or not but I kept trying (for several days) and it finally worked.

P.S.: To visualise the idea mentioned above a bit better and to give you some insight about the current state (pre-alpha) of development I recorded a short movie. Unfortunately the quality is quite low. Hopefully it will be better next time.

I hope you enjoy the movie! Roll film, and ... action!

#6 The first view from the window ...

In this post I would like to give you a first view from the window. Though some silhouette are recognisable, yet much remains blurry...

Sunday 9 December 2018

#5 Problem solving and finding new ideas

If you are an aspiring artist (designer, author, ...) you certainly know these moments when your mind is totally blocked. No matter how hard you try nothing comes to your mind, not even a single approach to solve a problem or a new idea.

Solving a problem often requires time (i.e. incubation). It is similar to a computer which needs time to calculate a complex equation or a constant (e.g. pi). In the meantime it might be best to focus on other tasks. Your brain is doing the job and the solution or a part of it will come to your mind when it is done. Sometimes you need another attempt and go into detail again until you have the final solution. Nevertheless, to focus on solving the problem too much might be counterproductive.

From my experience development in general is a process which evolves over a period of time. You can hardly force yourself to generate new ideas. Ideas are like different parts of a puzzle: you find one part at a time and if you collect them you finally are going to be able to create a the big picture (i.e. your concept). Collecting parts means writing down or sketching the idea the moment it comes to your mind. Afterwards you can take the new part and check if it fits to another part. Therefore, an appropriate knowledge management might be very handy.

If you think "blablabla it still does not help me to find a new idea": You are right! Did you know that innovation often results after combining already existing ideas? Do some research and analyse which approach other writers or developers chose. In addition, sometimes it is helpful to combine ideas or approach from entirely different sources (e.g. something which has nothing to do with designing a game, writing a story or dissertation, ...) and generate something new.

Apart from these points, it is not always required to reinvent the wheel. Keep in mind that "new" not necessarily means "better". Some ideas are innovative but at the same time just rubbish. To prevent this outcome, it might be wise to critical reflect whether the idea is useful / practical, coherent, ..., feels good or appropriate, meaningful and so on.

Transferring these findings to this game: I did some research how camera movement and angles were implemented in other games (e.g. in Skyrim, Valheim, Elite Dangerous,...). I started the game, moved the mouse and asked myself: Is the movement intuitive? Does it feel good or even annoying? Where is the location of the cursor? Which body parts do move? Is it possible to look down on the ground or up to the air? To be honest: I abandoned Elite Dangerous weeks ago because of the (at least for me) painstaking controls. However, I do not intend to implement any flying controls so far.
Focusing on player camera movements (first person): From my point of view the camera movement of Skyrim feels very smooth and intuitive. Moving the camera sidewards results in rotating the whole body. Moving the camera up- and downwards results only in changing the angle of the camera. Furthermore, a centered cursor feels somehow normal. In contrast, it felt annoying to have a cursor which reaches the top / bottom of the screen after moving up-/downwards, especially if the camera can move further up-/downwards. Therefore, I did adjust the camera movement similar to Skyrim.
As you can see in this case I did not reinvent the wheel. Sometimes it does not make sense to develop something new if there is a solid approach. Nevertheless, it is useful to try different things out and check how it works and feels.

Sunday 2 December 2018

#4 Priorities


Indie game development usually goes hand in hand with a lack of resources. There are dozens of ideas but never enough time to implement all of them. Therefore, it is important to set priorities appropriate. 

Every idea contains different tasks and every task requires a specific amount of time to finish. For example, if you want to implement a walking animal you need to design a model, create and add textures, program the code required for the animation of the body parts, add a sound for the movement and so on. Depending on the level of detail you need more or less time. For example, if you want the walking animal to be realistic it is going to be very time consuming (e.g. creating a realistic model and very smooth movements).

Does this mean you should not invest time to polish your game if you are an indie game developer? No, it does not. If your idea is a core feature of your game (i.e. this makes your game unique or if it is essential for the game in general, e.g. controls) invest the necessary time. If it is not a core feature it might be wise to set the idea on the list "nice to have".

Transferring these findings to this game: Most likely I will not be able to implement high end graphics (e.g. no detailed facial expression, no high resolution textures). Nevertheless, I want the game to be visually appealing. When it comes to graphics I will focus on a more abstract and artistic approach. The models will have less polygons and no textures but diverse colours. In addition, real time shadows shall help to create an unique atmosphere.

The following picture shows a part of the game's test environment:
survival game qylor test environment