torsdag 9 mars 2017

The justification for removing the infernal split screen.

In this blog i will talk about why we decided to remove the split screen aspect from our game. As i've said in other blogs; the game concept we chose for our shooter was "Bullet_Hack" which had the main theme of split screen.
In the beginning we tried to keep as close to the concept as we could, but after failing at maknig the split screen as it was described in the document we moved away from the idea and tried a different approach; by using a pseudo split screen where all the scenes in the game only appeared to have two screens but only one screen was used at a time.

During a majority of the development cyckle we designed our game with the split screen in mind. Everything from the sprite sizes, level design and even the amount of health the player would have was a by-product of the split screen. The longer in in the development we got we started to doubt the split screen on several levels. We doubted how the game played, we doubted how it looked aesthetically and we doubted the the sizes of the sprites. So almost everything in the game we doubted because of the split screen.

It all came to a head during the beta playtesting session where one of the most consisten critiscisms we recieved were about the split screen and how ugly it made the game look.
After the playtest we were worried the game would never be any better because we were stuck with the split screen because it was so prominent in the concept document. Fortunaley we asked Marcus about it and he said we could remove it eithout any problem. So we decided to remove it and see if the games quality improved, and to our delight it did.

With the split screen gone we could finally improve our game to a point where the doubts we had wasn't centered around the damned screens. Now our doubts is about how well the art looks and how it conveys the mood we aim to set in our game (the same can be said about the gameplay).




torsdag 2 mars 2017

The curious case of teleportation.

this week I worked on how the player would be transported through the room.
at first we just wanted to delete the door so the player could walk freely between the rooms. This showed itself to be quite bothersome.

To explain how our game works. We're designing a game called "Bullet_hack" wich is about a spy trying to infiltrate a compan to get information about them. You play as the spy and try to hack doors to get to the main server.
You hack the doors by playing a shooter game where you destroy the enemy spawn points to
progress to the other room.

since we change scenes to initiate the hacking game deleting the door will not work since the loadscene(); function recreates everything in the scen you load. So deletion is of the table.
So i decided to try to see if i can get the player to teleport between the rooms upon interaction with the door. This was a huge failure on my part.
I tried using PlayerPrefs to save the players position and change it whenever a level was loaded. In hindsight, this would have caused me a metric ton of problems  and work in the future since it meant that i would need to specify exactly where the player would spawn after every level.

So after a week of frutration I asked Håkan for guidance. Five minutes later the telportation was fixed. He told me that all i ned is a static string and several empty gameobjects called "Spawn_point" (with a number at the end) and tie the players position to the Spawn point and the string as a tool to specify wich spawn point to teleport the player.
This worked and I still slam my head into walls or any other hard surface I find because it's so simple and i didn't think of it at all. In my defence i tried to find answers online, but everything i found pointed me in the direction of PlayerPrefs and, strangely, they also pointed out how bad they are for teleportation and in general. This should have been a big tip off that whatever I would potentially do with the PlayerPrefs it wouldn't be worth the effort when there's simpler options available.
The lesson I learned this week; in the future I will try to ask the teachers if I have problems with anything instead of trying to force google to tell me.