27 February 2019

Combining Mobile and PC Games

More and more companies are switching to mobile game development as more and more companies show that that's where you can make the most income. I do mobile game development myself, for different reasons, but something I have yet to see is a mobile game that is connected to a computer game.

Broad Idea

This is a pretty broad idea and you can or could make literally anything. Thus I'm gonna brainstorm some ideas that I'll mention or talk about. There are some important aspects that we should discuss and consider before though.

PC, Mobile and Combinational Weaknesses

First of all, combing mobile and computer games we need to know the weaknesses of the coupling as well as each of them themselves. Mobile devices have restricted input, using virtual buttons makes it tedious to control them, the view on the screen can, could or is blocked by the user input when using touch. Phone batteries are still limited, many phones in the current generation do not provide cooling.  They can be carried easily in the baggy trousers for example. On the computer side we have the limited transportation. You could use a laptop but that also requires a backpack, laptop bag or some other way to transport those chungus. Coupling them pretty much fixes some issues up above but only to a certain degree. We can now move around playing the game somewhat but we're limited by the phones hardware. Also the usage of the phone at home while playing the game on the computer can be annoying or intrusive. So, I'd say that's discouraged. Could make an interesting mechanic in games where you have to multitask between devices though.

The Untapped Potential

The basic idea of many game developers is to get the player to think about the game in their spare time or free time. Thinking about new strategies to come up to try out or solving other problems for example. Using a mobile device you can make an app that is connected with your game to have something for the player while they can't play the main game. This could be mini-games, gamified tasks that give in-game rewards or provide community and theorycrafting features and the biggest thing about this is, that I haven't found one game that implemented this. Doesn't mean it doesn't exist but, hey. Be the first to get it out there.

Examples

One example would be to use the way Pokemon GO! was implemented to make a similar game for 
resource gathering. Allowing you to gain resources for the main game at the cost of your in-game currency. This gives the player an alternative to do sport, or collect resources while traveling for example.

Another option would be to share and allow communication with the guild chat via an app.
This way people can communicate with each other through your app. This doesn't require the player to download Teamspeak or Discord for their mobile phone or to create a whatsapp group. Additionally it's possible to implement unique game information into it that would not be possible to be provided by other apps.

This one pretty much shows that you can make literally anything. Your only limitation is the
imagination... and well.. user experience design. Anyways you could also make an app that gives you puzzles for chests or areas that are locked off and you need to open them via a puzzle on your mobile phone for example. You could even implement a wait time, that way you can collect these in-game and then when you're most likely outside the game you can do them in the mean-time.

Conclusion

The basic idea is quite simple here. Make a mobile app that keeps your users busy while not at home being able to play the game. I mean, this is not the most interesting thing for mobile development. It does however avoid all the issues that mobile only game development has for big games. Another post I should address...


23 February 2019

Representing the Leveling of Language Comprehension

Sometimes you have this idea of making a game where the player levels things by practicing it. Sometimes you have this idea of actually making the player learn a language. While letting my mind wander and discussions the idea of having a game where you have to practice stuff to improve your level in them and your stats but you lose levels and stats at a set time I came across this other topic.

When We Learn Language

The first thing we learn when getting to a new language is the first words and sentences. Basic words and basic sentences at that. But, we have to go back a step. It would be boring this way and we probably don't want out language from the game to share the same alphabet or symbols as the latin ones. The latin alphabet we use are basically just symbols that are given some meaning to. Basically we assign them the information of how to pronounce them and in which order they come (A-Z). We can even give them a value like in ASCII code. It's the same with the greek alphabet where we additionally have the meaning of "the end" given to Ω (Omega). Another interesting aspect is that the size of the symbols can matter too. In Japanese for example characters that are written half the size are pronounced differently. This means that different attributes of the symbols can create different meaning as well.

Learning a Foreign Writing

So, when we learn a foreign writing we have to understand the difference of these symbols. To someone new the symbols don't mean anything at all. They look different but in our mind we see all those symbols as equal. This is often just the first impression but in the end it could represent the first level: level 0.

Given a sentence we could represent this as:
Level 0: ???? ????? ??? ????

Next up we start to realize they're different symbols. So let's represent them as they are written as a message in this foreign language:

Level 1: 3k?Q "$k3e )dk ยง%s1

If we continue reading we might make things out that represent punctuation. With this we can split the text into sentences.

Level 2: 3k?, "$k3e )dk ยง%s.

In the next step we understand how to pronounce these symbols. In the Japanese language for example this is where we understand there is a romaji for each symbol. We've now reached level 2 and we're able to read text.

Level 3: frd, isrfp lor shubrong.

Next up we start to understand the mechanics that make equal symbols mean different things. Like how an "k3" is read as "aa" but a "3k" as an "ar". You can make up any rules you want for this. The more rules the more difficult to understand. Some mechanics you can use here could be, different meaning at the beginning or end or when following a certain symbol, etc..

Level 4: ard, isaap lor shubrog.

Level 4 and we can already read it. Hooray! Now we need to be able to understand it. With this next step there are multiple ways to do it. One way would be to use transliteration for the symbols. Another way is to translate word for word. Here the Zipf law should be used.

Translating Words...

Small Excourse Zipf Law:

To keep it short, Zipf Law says that the second most used words appears half as often as the most used word. The third most half as often as the second most etc.. This has been proven to work more or less well and hence you can use this here too.

This means now we can translate simple and often used words. You can use Wolfram Alpha to look this up for example. From here on out you can decide for how many steps you want to put in. With the slowest being one word per level. For an extra level you can categorize words together. Like "why, how, where, when" could be the same as "why".

Level 5: they, isaap lor shubrog.
Level 6: they, isaap why shubrog.
Level 7: they, hello why shubrog.
Level 8: they, hello why is.

Transliteration of Symbols...

The other way would be via transliteration. If we say we now understand how to represent those foreign symbols with our symbols we can slowly get to the language we understand. This requires the foreign language to share traits though. In our example both languages use consonants and vocals.

Level 5: tra, fanre bex paah.

Next up we have try to scramble the consonants and vocals to fit it more. Let's say we fit a combination where the same character is the same.

Level 6: tra, barre xbz paah.

Now let's try around with consonants and vocals until we get something similar to a caesar shift. Similar because we stay in our groups when doing the shifting. That means the letter before an "j" is not an "i" but an "h". The letter before an "o" is not a "p" but an "i". A middle step could be for example:
  • Shifted too low, correct, shifted too high, ...: rhi, gemko xgy caep.
Level 7: rga gakki vgx zaam.
Level 8: she, hello why been.

Grammar

Now we have a very similar message in both cases. I changed the meaning a little so it would better match the respective procedure. This is now a sentence out of familiar words. Now we need to make find the correct meaning and apply grammar to it.

There are two ways to do this, either grammar first or correct words first. I do think applying grammar is the more natural way.

Grammar first:
Level 9: Hello, why she been?
Words first:
Level 9: you, hello how are.

Step 10, apply the other one.

Level 10: Hello, how are you?

Finish 'Em

Yeah and that concludes some ways to scale language understanding in levels from zero to ten. This are just a few ways to do it there are many more. Actually, if you're a game designer or writer go and do the following homework. Read up on different languages (No, you don't need to learn them) and learn what's unique about them. You wanna take a look at grammar, reading and/or writing and get inspired. It doesn't even have to be a real language.





21 February 2019

What Subscribe2PewDiePie Actually Means

It's spammed everywhere and probably gets on the nerves of people and yours too. If you don't know the implications and meaning behind all this or why it's an important thing than you're at one of a view sources where you can understand this now. If you do know about it you can very well skip to read another post.. how about the featured one on the right-hand side? >>>>>>>

The T-Series and PewDiePie War

The basic premise is that, the most subscribed Youtuber PewDiePie is about to get passed by the MCN (Multi-Channel-Network) T-Series. Not a big deal, right? Well, the thing is that first of all PewDiePie has been at the top regardless of whether you want it or not. Second of all, Youtube has changed a lot. If you take back a step and look at Youtube the way it is currently evolving may be shocking. The interest in TV has been decreasing and the interest in Youtube skyrockets. This means that more and more companies will or do move to Youtube instead (for obvious reasons). That means that there are a lot of changes, cooperate deals, more companies on Youtube etc.. One of them being T-Series an Indian MCN. So there are two big things happening here now.

Conquering India

Since India is getting Internet access now, big companies, such as Google try to capture all the potential customers and catering them Youtube seems to be extremely successful, hence the growth of the T-series channel

Multi-Channel-Networks

Due to a lot of some-shady some not so shady occurrences MCN or multi-channel-networks don't have the best reputation. Especially since the whole Defy Media story. However, the more channels they combine the more content, with higher quality at a higher frequency with a vaster grip they can produce in less time. This allows them to  grow much faster, which in turn brings fame to smaller channels. This allows T-series to grow really fast.

I Don't Like PewDiePie, Why Should I Care?

It's not like the internet had an option. Aside from his current content catering to a wide audience (PewNews or Book Review covering more serious topics and Meme Review catering to the internet culture basically) he is the most subscribed individual on Youtube. If there's someone to keep above a cooperate channel it must be someone who already has the most subscribed and has not been passed yet. This is how the current situation has ended up.

Even if you do not like PewDiePie, subscribing to him is a metaphor for showing that you want the individual to be above the cooperation. This is what this symbolizes.

And as Matthew Patrick from GameTheory and FilmTheory said in one of his streams.. we can only do this now. Once T-series has passed it's over and there is no back.1

Additionally if you don't like PewDiePie for what he has done and because the media associates him with Nazi... he knows his mistake and has changed. He has done his part now it's time for you to do yours. It's not like he meant it. (Also Germans make fun of Hitler too...)

1 https://www.youtube.com/watch?v=prhVME-0vLI

17 February 2019

Merge Dragons: Recursive Merging!

PC-master race, am I right? I usually don't play mobile games but there was a time when I did. There was also a time when I was playing mobile games to earn cash. It works, but extremely inefficient. (it's more efficient than my blog right now..) Anyways instead of playing Diablo Immortal, if you like puzzle games and build up games, you can play Merge Dragons instead!

Merge Dragons

This is a mobile game that I came across using recommendations from an app that suggests you other apps and gives you points when you play them, which you can swap for gift cards or paypal payment. Anyways Merge Dragons is a puzzle game that allows you to - as the name says it - merge objects of the same type to create new objects. You then travel through different levels that are so far extremely easy to play and challenges which timed levels that are hard enough that even I have my problems with some. So, the goal is to finish the main objective of these levels.

The levels reset every time you go into them, however, there's a camp that works similar to the levels except it doesn't reset. This means you can pretty much build up everything there. Hence I said puzzle and build up games.

Merging Stuff

Let's get to the real deal. In this game there are two ways to merge things:
a) Merge three objects, which will return a higher level object.
b) Merge five objects, which will return two higher level objects.
Objects can be leveled up to a certain point, the level cap or maximum level of an object. This differs from the object category to object category. Due to the rules and confinements of the levels you will have a few issues given by the different types of objects. These issues are mainly:

  1. the space, it takes to combine objects
  2. the object count, it takes to get the maximum
  3. the  time, this game can really eat your time, be careful
Under these circumstances I am wondering... how much do you save by going for five instead of three objects and how much more space do you need?

Using Math :D

Have I mentioned that I wrote a math exam yesterday? Fun! Anyways let's get into it right away.

Merging With Three

First up, the basic merge contains three objects of your liking that are the same (but not exact!) to get out one of the higher ones. For example we need 3x level one to get 1x level two. Then we need 3x level two to get one level three. Needing 3x level two for one level three means we need 3 * 3 = 9 level one. If we follow this thought further we might notice that the numbers will go like this:
3, 9, 27, 81, 243, 729, ...
These are equal to the exponents of three:
31, 32, 33, 34, 35, 36, ... 
Notice that the exponent is equal to the level - 1 of the object. If we assume n is the level of the object we want to produce we need 3n objects of the lowest level (level one):
f(lvl) = 3(lvl - 1)     for lvl ∈ N and lvl > 1
Now for the space... we need three space to create the next higher one. This means we need at most three times each previous level. That gives us this function:
f(lvl) = (lvl - 1) * 3   for lvl ∈ N and lvl > 1
So, for a level five object we need 35 = 243 level one objects and a maximum of f(5) = (5 - 1) * 3 = 12 fields of space.

Merging With Five

Now we merge 5x level one and get 2x level two. This is not an efficient way to only get one of the next higher ones. However it speeds things up. Ignoring the rest if we have 10x level one we get 4x level two giving us 1x level three. So respective to whether or not we end up with 1x level three or 2x level three we had five or less than five before. 

Technically the algorithm is:
  1. divide five: 10 / 5 = 2
  2. increase the level by one: level one -> level two
  3. multiply by two: 2 * 2 = 4
  4. round down: floor(4) = 4
  5. if the number is equal or greater than five go to 1. else go to 6.: 4 < 5: go to 6.
  6. if the number is greater or equal to three increase level by one: level two -> level three
  7. if the number is greater or equal to three divide by three: 4 / 3 = 1.333...
  8. round down and done: floor(1.333...) = 1
Here's the python code:

import math
#algorithm
def algo1(amount):
    level = 1
    while amount >= 5:
        amount /= 5
        level += 1
        amount *= 2
        amount = math.floor(amount)
    if amount >= 3:
        amount /= 3
        level += 1
        amount = math.floor(amount)
    return amount,level

We can't reverse this algorithm due to the rounding. If we do it most efficient (only five-merges) we will have some left overs. The motivation behind this is that we get the maximum at the end. If you want to get only one at the end you have to round everything of with three-merges. To reverse it we start of by either one or two (if it's higher you could merge it to a higher as well and calculate with that). If it's one it is equal to a merge of three. If it's two it's a merge of five. In each of the cases we multiply with the respective value. We decrease the level and then we get into the loop. In the loop we need to make sure that our number is always even as we can't get odd results when always doing five-merges, if we do have an odd one we will add one to it. This is going to be one of the left overs.
After that we divide by two (as we always create two), next up we multiply by five (since we always need five to make a higher level one) which results in the level decreasing again. Once we reach level one we stop.

If we wanted to make 1x level five object for example it would go like this:
  1. if equal to two: set to five else set to three: 1, set 3
  2. decrease the level by one: level five -> level four
  3. if it's odd add one to it: 3 + 1 = 4
  4. divide by 2: 4 / 2 = 4
  5. decrease the level by one: level five -> level four
  6. multiply with five: 4 * 5 = 20
  7. if it's level one, then stop, else go to 3.
Here's the respective python code:

import math
#algorithm
def algo2(amount, level):
    if amount == 2:
        amount = 5
    else:
        amount = 3
    level -= 1
    while level > 1:
        if amount % 2 == 1:
            amount += 1
        amount /= 2
        level -= 1
        amount = math.ceil(amount)
        amount *= 5
    return amount

The result is 65. If we use our function and iterate over the level increasing it we get the following numbers:
3, 10, 25, 65, 165, 415, 1040, 2600, 6500
vs
3, 9, 27, 81, 243, 729, 2187, 6561, 19683
Well... merging five saves us a lot of work, haha. Unfortunately there's a down side.

Merging five takes a lot more space. How much? Well.. in the camp there's a setting to disallow merges unless you actively move one object onto a set of 2+ of the same type. If we assume we have this setting on it takes similarly to our merge three function:
f(level) = (level - 1) * 5

Finish!

Well, is there a simpler way to calculate it? I don't know or have found one. You can basically use an approximate but I've checked the numbers and I haven't seen a simple relation between them to calculate them easier. I'm not sure if I make another post on the Formula for a five merge outside the camp. I guess it depends on how many views this post gets. Let's say.. a hundred views is enough to be worthy.

Oh and on a side note: Upgrading the dragons does not provide more work power, it only increases your dragon power for unlocking more area in the camp. Thus it actually decreases the actions your dragons can do. Decide for yourself which you prefer.


08 February 2019

What's Your Favorite Idea? Mine Is Being Creative!

Despite the title of this post, this is not about "Don't Hug Me, I'm Scared". Far from it even. I want to use this post to shout out to all fellow content creators, game designers or creative people. Even for those who just want to do brainstorming. Because what I'm gonna do now is point out something that is pretty obvious and yet - just like me - there are people out there that never gave this a thought. Literally.

The Idea Behind This

I came up with this idea of thinking about ideas when I was talking to my tutor at the Technical University Munich. In the introduction to informatics: games engineering we have the option to make our own game, in groups or solo. This project starts after getting tutoring in Unity with two example projects: A space shooter and a platformer. The discussion went about the topic of, while you can make any game project you want (no restrictions), most students do a space shooter or a platformer.

This made sense to me, so I answered "Of course!". If you do the space shooter and the platformer in the tutorial you will have these things on your mind as of latest. You can imagine it like a stack. Whenever you experience something it's put on the stack and when thinking about ideas you take things off the stack going down to past experiences. By now thinking further about it you would also have to take in the consideration that a handful of people might actually go into the study with no idea or not even planning to make a game as of yet. On the opposite you have those people who already have an idea of what they wanna make, and that might not and then won't be a space shooter or platformer.

Thinking Through This Further..

That was not the end of the discussion for me. Far from it. This actually created more questions. The biggest one: "Why?". Why do we take almost only recent memories into consideration? The only case where we take older memories or experiences into consideration for our ideas is when we get triggered. The second question is what actually lead to this post: "What if we actually purposely search older memories for our ideas?". Instead of waiting for some outer force or another person to pass us the ball or trigger us, we could try to trigger it ourselves, right?

The Idea of the Idea

So, ideas come from our experiences, life choices, influence of others, our believes and what not. Every place we've been, everything we are or have been interested in and even the people we have had contact with it all gets soaked up by our brain and then it's saved there sometimes filtered as unnecessary or uninteresting other times saved to never be accessed ever again or at least that's how I understood it. This also means that the only time when two people have literally the same idea is if they actually grew up in the same circumstances, with the same people around them, same hobbies, same interests, same experience etc.. Is this the reason why some twins are thinking very alike? Could be. This also means that everyone is unique in their thinking and ideas. That's amazing! Another reason to use the full capacity and not just the most recent experiences piled on the stack.

Shout Out!

And with that, this is the shout out to everyone! Ponder over this, think about how your past experiences influence ideas further and... actually don't even stop there. You don't need to do this permanently but for the sake of experiencing this... focus around the now as well and how this influences your ideas and then look for the future. I know about game designers who are like "go outside, that's where the ideas come from" and I'm like "yeah, but watching other peoples ideas, especially cartoon, anime, movie or reading books also let's you experience good material".

Decide for yourself what's the best for you. Everything and anything you do matters here. It will all shape the person you are and the ideas you'll have and that's scary and empowering at the same time.

Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.