Friday 25 January 2019

The split of two games + exclusive core features


Hello there!
I've got another update on Magnum Foundation. Today I'll be focusing on the issues of splitting the game into two halves as well as some of the core functionalities I've implemented since the last update.

Preface

There has been quite a large amount of progress since the last relevant post, although since then I have split Magnum foundation into two projects, I'll still call it Magnum foundation until I reveal one of the games it contains (around march).
I've also added in a number of features to both games like options of placing tiles, modifying collision data and teleportation. Splitting the game was quite a hard decision to make since I've had to deal with a number of consequences which I'll get into detail in the next section. 

Splitting Cautions

Which time to split the two projects was a pretty hard decision to make, on one end I could try to split early so I can start to focus on adding new exclusive features to the two games. On the other end I could try to focus on building up the core features that would be present in the games I would be making, then I could go on create the exclusive gameplay mechanics and features on each project after this stage is done. Both have advantages and disadvantages.

The former has the advantage of me building up the core exclusive mechanics faster so I could actually spend more time actually making the maps and programming/designing characters for the game and possibly refractor the game's code much earlier. However there is a disadvantage to this, which is that if there is a feature that is fundamental in both games, I'd have to spend time implementing it from one to the other and it would eventually be quite bothersome having to hop back and fourth between the two projects. And this is despite the fact that the solution could be to just copy and paste the needed code.

The latter has the advantage of me having a core solid foundation to base both games on, thus elevating thus eliminating the need to constantly hop to-and-fro between two projects. However like the last point, this also has its own set of disadvantages. For one thing I would need to refractor the codebase because by "laying a foundation", I mean adding all the features that both need in a very FYS (functional yet shoddy) form.

In this case scenario, I have two options - I could either spend even more time on refactoring the existing codebase or split the code as is and have to do the shift-fixing anyway. If I just planned for the two games whilst working on/polishing the foundation for them, there would not be a guarantee that these plans would be the same, because it is one thing that you plan and another to implement (and test) these features.

Furthermore with building the foundation of the two games, it will never be perfect especially since it is the first time I've made games of such scope (think: A short Zelda game/ Cave story). How could I possibly know what needs to be done on my first go? Yes I've worked on some similar games, but there is always something you don't know about when you have stepped into unexplored territory.

Maybe if I make games of this scope after these, I will be far more certain of what I know I'll need when it comes to such things, thus making the split less of an issue. I know this because back when I made "Red-Blue Adventures", I knew much less about developing RPGs and would often run into many bugs that I wouldn't have even thought about. If I made a game like it now, I would make the codebase far more clean and easier to mess with.

Map transitions and collisions

In terms of teleporters or map transitions, I've had experience with mostly ones that take you to the next area and teleport you to only one place. The teleporters in Magnum Foundation are significantly different, they teleport you to certain positions that a map has in its data. Originally I did want to do something like what they would do in RPG Maker where you can just click on where you want to teleport to on the selected map, but this proved to be far more time consuming and harder to do than I thought. Therefore, I decided it was best that I put objects which names you could link to a teleporter that teleports you to that object.

For example, say that I have map 'X' and it has these linking objects. I could have a teleporter in map 'Y' that links to one of map 'X''s linking objects, perhaps with the name 'FromBuilding'. Once the player touches that map transition in map 'Y', they teleport to Map 'X' to the object with the name 'FromBuilding'.

Collisions are far more customizable, as the collision system was written from scratch (using some help from Sebastian Lague's tutorials). Since this is the case, it became far easier to implement a feature where collision tiles do not apply to a certain type of character, so they could just pass through. This would have been handy for Pipe Dreamer's development where there are certain tiles (i.e. water) that could only have been accessed by certain characters. Using Unity's default Rigidbody 2d in these situations can prove to be very difficult as I'd need to constantly fiddle with workarounds and the such like resulting in a large mess of code.

Although some may argue that this is 'reinventing the wheel', at least you know the wheel you're working on.

Layers and tiles

Another thing I would like to discuss is the level editor, more specifically the layering and tiling system.

My experience with making maps/levels for my games would either be using some 3rd party tiling programs like 'Tiled' or making my own, which would be reading from a pixel image with certain colours, for example, Catwalk or Bounty Hunter II (when it was early in development). More recently with Waterstone Temple, Earl's Order and later on Bounty Hunter II, would have their own custom-built propetary level/map editors.

The first two had their tiles built up as a database of every single tile's position and type. Bounty Hunter II's maps were created in Tiled, then exported as a large PNG file (with separate layers), the rest of the information can be found in an earlier post. Since it can be a bit memory-consuming to have a large PNG file (feel free to correct me if I'm wrong on that), I decided with Magnum foundation to take a more different approach.

I decided that Magnum foundation would have the approach of using Unity's built-in editor... editor. This allows programmers to extend the Editor to make it suitable for their own needs. I did do this to an extent in the 3 games I mentioned before, but Magnum foundation uses it to a much larger scope. I did analyse some code from a Level editor that was related to pokemon and decided to create my own level editor based on it. Unity does have a built-in tilemap, but after some serious consideration I decided to make my own from scratch.

The reason I've decided to make them from scratch was to learn how to make my own tile map editor as well as having more control over it. If it's buggy then I only have myself to blame rather than try to wait for an update, as well as that, I'd need to deal with fitting the tilemap into a format my game can read. As I said before with the collisions, at least I know the wheel I'm dealing with.

Conclusion

Progress has been going pretty well for magnum foundation, I've been working consisntently on it on this past month. I haven't mentioned all the features I've worked on because I don't want to blather and overwhelm you with a big load of changes. I might mention them as this project goes along in the development pipeline, possibly when I've expanded on them.

That's all from me!

Tuesday 15 January 2019

Why I quit twitter and will most likely never return.

Hello there!
I've decided to change things up a bit and start this year with something that isn't related to game development. This is something I would like to do more often, I like to present my own personal opinions on certain matters.
Anyway, on to the main topic of this post: Why I quit twitter.

The Preface

Despite the title, this post will mainly be about social media in general rather than just about Twitter, the reason I put twitter in the title was that it was the specific social media I quit. Now then, on to my main case.

I'm pretty sure we have all heard about social media at one point or another, we see brands like McDonalds or Pepsi all telling us to follow things like their Twitter or Facebook. We also see many famous people who have at least one form of social media as a way to get them closer to the general public by showing off the ice cream they had last night or that curry that they cooked lately or those god-forsaken selfies and more pictures of their food. There are also lots of people who are not celebrities who use social media in public places like the train or school, they tend to be the people who would consume such content by pressing the 'like' button.

What I am trying to say is that social media is virtually everywhere we see. And I too was hooked on this grand phenomenon at some point. My first opening into this world was when I joined Scratch c. July/August 2011. It was quite a cool way to interact with others and I even met a few people on there that I still see to this day. At the time, most of my family members had a Facebook account - I thought this was a fundamental bit of tech, however I was not old enough at the time and I hoped I would get one in the future. Hold on to this thought. It will be important later.

Twitter's Beguiling Charm

Starting from 2013, I decided to make a twitter account since I was pretty much inspired by the Minecraft creators at the time and I wanted a chance to speak to them, as well as using Twitter as a tool to fuel my own success. I don't completely know the specifics of why I joined Twitter but that may have been why. Regardless, Twitter became a new found hobby to me and my first step into the world of social media. I thought it was relatively harmless (possibly thanks to the kind environment of Scratch), however the reality could not be any further from the truth.

I would find myself often distracted by the people I looked up to i.e. Markuss Perrson, not to mention I also felt increasingly despondent what with all of the people's 'amazing' lives being presented on social media and them getting a lot of attention whereas nobody cared about my posts.
The reason I still used Twitter and did not delete it, was that I thought maybe some day, some day, in the name of some miracle, people would notice my posts. It was this false hope that kept me going, although I my use of Twitter started to wane.

It was not until I saw Dr.Newport's Ted talk on quitting social media, which I truly realized the hot mess Twitter caught me up in. When I first took a glance this video I thought "This video was quite a lot of rubbish, why is he telling me to quit social media".

However when I watched the video fully later on, I started to realize that Newport was on to something here. A lot of what he said struck a cord with me, and brought up thoughts that were in the back of my mind and I realized the reason nobody cared about my posts and why I would start to feel depressed when I looked at other people's positive images of their lives. I started to ready Cal Newport's blog "Study hacks". Through there, I also found out that the 'Like' button was actually a device used to exploit very basic underlying human traits like being accepted. The worst realization of this, was that these social media companies were using these things to make money. This revelation made me delete my Twitter account on April 2018 and I have no regrets over what I have done.
The last of my Twitter before it kicked the bucket. I wasn't born in 1999 by the way.

The Delusions Of Social Media

Since I'm probably the only one out of many people I know who came to this realization, I would obviously get some criticism when I would suggest that they get off social media. Thankfully most of their claims are quite flawed, and this would be a good time to push in some solid counter-arguments:

"You need social media to promote the product you are making"

This argument does seem to make sense since social media is very centralized, which could help you meet people on there easier than making your own domain. However this comes with a 'but', since loads of people use social media and are begging people to see their products, how will you be any different from the next person who uses social media?

 Believe me, some people on social media use some very dirty tactics like "If you like my stuff I will like your stuff" which makes me question the value of the promotions on social media. Plus, since social media is so focused on bringing people constant novel stimuli, how will people even stick around for long enough to understand what your product is, compared to some dumb posts or memes?

I think blogs are a better way of promoting something because they emphasize more on the quality of the content (possibly since it does not have a silly 500 word limit). I'm pretty sure a good blog post would be infinitely better than some tweet that is essentially "BUY OUR STUFF"! A blog post is more like trying to write a good quality book rather than a silly message.

"You need social media to keep up with your friends latest stuff"

This argument is far weaker, for a simple reason too: because I don't care about what my friends are up to.
I don't need to know that they were married or what they ate today - that's their own business not mine. Even I wouldn't share this stuff either, because it's my business not yours. If I want to communicate with my friends, I have things like Email, Discord, and Text message. The middle one is much more privatized than social media a bit like Skype and allows you to establish your own server with your own rules and perks, (as far as I have researched about Discord). These are enough to have me live and communicate with friends.

"Aren't video games the same thing as social media?"

This is an argument does have some truth embedded in it. Especially with mobile games like Candy Crush and the manipulation of the human brain it brings with it. There are games that function a lot like social media with the low effort needed to put in to tasks and trying to seriously hook the player in. However, this is not what video games should be generalized on, I think that video games should be viewed as an engaging hour or two long experience (given it is not in school or work hours) rather than a silly 5 minute distraction.
Social media on contrast is based on constant swiping and tapping on your phone. The amount of people I see tapping away on Snapchat like mindless drones is unbelievable. You can enjoy a video game in the same way as you can enjoy a sport or a book, they are great fun to play with friends or solo. Social media is probably the kind of thing you would do when you have dead air. It is filler to a void that could have been filled with otherwise more productive or enjoyable activities. Think about it, do you think constantly browsing through a feed and refreshing the page is much fun?
I wouldn't think so either.

"You use YouTube right? That's a social media!"

That's true, I use it to listen to music, look at certain tutorials if I'm stuck or a way of learning something new. However, do you know what YouTube has, that Facebook, Twitter, Instagram or Snapchat doesn't have? YouTube is a platform for sharing videos, which is a problem that these other four do not really solve. YouTube has given a way for people to share videos (which are an important form of information) which was very hard for people to do pre-YouTube.
With all that said, there is a catch to YouTube. Since YouTube has grown bigger over time, they introduced a partnership with numerous creators which allowed them to make money from advertising. This does not seem like too much of a bad thing at first, until you find out the fact that YouTube have algorithms that decide what content should be viewed more. Many youtubers criticize the fact that algorithms rather than human beings are doing the work of viewing content. They presume that algorithms are far less superior than human work and therefore causes a problem. However they could not be further from the truth; they need to consider the fact that a human needs sleep, food and hygiene whereas an algorithm does not. I think these algorithms are far more efficient that humans at doing tasks like these, however the main problem is not the algorithms, but what they are being fed. One example of a problem like this can be found here, when content creators are finding a quick 
But I still think there is some value on YouTube relative to most social media, and there is definitely a way to make YouTube an invaluable tool without the negatives it may bring. With most other social media however, there is very little value that is provided by these activities alone, possibly highlighting that these 'tools' may be incredibly overrated.

The over-exposure effect

I mentioned several points ago that I desired to have a Facebook at some point. As you may have figured out, that 'point' never came. I'll tell you why:

I have established that YouTube had something to offer whereas Facebook did not, I learned this lesson from using twitter because that much like Facebook did not have anything new to offer other than create a new 'cult' within the internet - but why are these social medias incredibly popular anyways? 

The answer could be to do with being over-exposed to such things. In my case a lot of who I saw had social media and they were posting a couple of funny and cool tweets, this gave me a reason to sign up for platforms like Twitter. This could have definitely been the reason why my friends and family signed up for these platforms which they would then submit their waking hours to. Although this problem exists far beyond social media, however the effects of it could be arguably much more drastic as social media is based around constant 'news' and 'updates', and then checking them around the clock - in a similar addiction to drugs, tabloid news, smoking and gambling among many other addictive habits. Whatever they are, that glance off your school's friend's public opinion you were just notified about (which you probably did not need to know about in the first place) seem to be making Zuckerberg and Spiegel (not "Spike Spiegel") lots and lots of juicy money. That's quite a business model indeed. 

Conclusion

Don't take this as me forcing you to quit social media, this is ultimately a choice you make. This is mainly a post to project my opinions and growing concern with such social media platforms. No better time than now would be when I post them. With that being said, I don't really care if you use social media or not, if it allows you to link to posts you find interesting or you use a bot to post links to your actual, more valuable content, then more power to you. But you are probably better off using social media for at most an hour or just quitting it entirely.

That's all from me!