Game Design

Scrap Pirates – GGC-results, kind of

So, GGC is over. No prize, but Scrap Pirates were nominated over half of the categorize we could be nominated for. Nominated meaning we were in the top five.

Even if we did not win anything we are still content with the conference and we think we will continue working on it again after the summer and a well needed vacation.

Have a good summer, everyone!

Standard
Game Design

Scrap Pirates: In the middle of GGC

So, we are in the middle of GGC, Gotland Game Conference. Well, maybe not in the middle, more like the two thirds through, only one more day out of three. We are showing of Scrap Pirates and a lot of people seem to like it. Tomorrow is the last day, which means that the deadline for voting and the following award ceremony will be held. I would be really happy if we were to win some award for Scrap Pirates because we have all worked so hard to make it as good as we could during this limited time that we had. But even if we don’t I will not feel let down or anything, there is a lot of hard competition this year and a lot of games deserves awards. It is so hard to say which game will win what award and I am sure that it will be a close run in all categories in this year’s GGC.

I will give you all an update on how it went when it is all over 🙂

The two players and one of our enemies, the Caterpillar, in its defensive stance.

The two players and one of our enemies, the Caterpillar, in its defensive stance.

Standard
Game Design, Programming

Week 7: Scrap Pirates, one week left before GGC!

Hello! Week 7 has just passed and Gotland Game Conference is in just one week. A couple of weeks back we decided to cut back on a couple of features like upgrade system, some enemies, multiple levels, among other things, and I feel like that was a good decision because otherwise we would be up to our necks in half-done things and nothing would probably feel finished for GGC.

As I mentioned the last time I had one bigger problem to try and solve, it was the parallaxing windows into other rooms. After a lot of testing with placeholder graphics and a lot of discussions we have decided to put those parallexes on hold until after GGC because of two reasons: first, the graphical artists are already up to their necks with stuff to get done before the conference, and secondly because it does not feel good with our placeholder graphics. I think that the programming part of the parallexes is done, only variable changes so they scroll the right speed, but it is hard to test without the right textures to test with. Anyway, as I said, we have put those windows on ice and will just keep us to scrolling space parallexes instead.

So, what do I have left to do this week? I will need to make a couple of different TriggerZones for different actions. One of them will be that when a player enters it, it will light the lamps in the room and remove the shadowsprite over time. Another zone will be that when both players have entered it, it will close the doors behind. I do not foresee any difficulty in making those two scripts. I will also implement a highscore list so that those that come and test our game at GGC can compete with each other trying to get as high as possible. I have not done a save system before, but I do not think it will be so hard, should be plenty of guides out there.

Other than that, I only think it is bug-fixes and polishing left for my part.

I hope I will see you guys at GGC this year! (Free entrance for the public on Monday and Tuesday!)

Standard
Game Design, Programming

Scrap Pirates – Ranting about Physics

I think it is time for a status update on what I am working on.

 

I have had two bigger problems thus far in this project. The first one is about our physic. It was apparent early that Unity’s own 2D physic did not work so well for us. Because of how we want the magnetism to work and that things in the environment should be able to knock you around a bit, we could not just set the players and the objects velocity directly. So instead we tried to add a force instead, but the problem with that approach was that it felt that the player was gliding around on ice; it took a while before the character came to a stop. Neither of those approaches seemed to work so well for us.

I tried to change the physics material on the players and on the ground, changing its friction to try and work it out. If I had low friction the “ice-skating” was horrible. If I turned it up it felt sluggish to get momentum, it took too long before the character got up to its maximum speed.

When I could not get it to work with the Unity’s own physics I decided to try to write my own simple physics. After some trial and error I thought I had gotten in as we wanted it. There was almost no more sluggishness or slipping around.

Now, the only problem was the boxes the players could throw around were behaving very strange if thrown into the air. They lost all their momentum on the x-axis after just half a second even if it took it more than a second to get back to the ground. This meant that if anyone threw a box in a 45 degrees angle it would, almost instantaneous move to a much steeper angle and going almost straight up before losing y-axis momentum and coming straight down again.

To do this I made a couple of exceptions in the physics. Instead of treating everything the same, no matter what was happening I changed so that if something did not touch anything else, it would not lose any x-momentum. This gave the box-throwing a much nicer arc while still making sure that they came to a quick stop when they touch ground.

Another exception I had to do, in response to the exception above was to only apply that exception on the object if it was not a player. Otherwise the player would have a hard time controlling its character in air, and that would make it very frustrating for the player because we want the player to have much control while in the air.


 

Alpha version of Scrap Pirates, some placeholders still there, most notably the doors and the healthbars

Alpha version of Scrap Pirates. Some placeholders still there, most notably the doors and the healthbars

 


The second big problem I have had is something else entirely. It has to do with “parallaxing” the content of windows on the ship. It is very frustrating and hopefully I will find a solution soon, or else we will have to go with something easier.

The window problem has to do with that we want to give a depth to a room seen through one of the ships indoor windows by having multiple parallaxes. For example: We want a window where the back wall is slowly scrolling, then a couple of pipes scrolling in another speed and yet another layer with more pipes or something else, everything scrolling when the camera moves and at different speeds. I have tried to only scroll the Texture and not having to use multiple Quads, but so far I have not been able to make it look good. Hopefully I will come up with a solution soon; otherwise we will have to rethink if we can do it without having multiple layers of parallaxes.

 

Bye. It is back to work for me now.

Standard
Game Design, Programming

Blog-post nr.1 5SD033: Game Development – Introduction

For soon four weeks, I and my group, have been developing a game we call With Intent (working title) which originates from the idea of Escape, which was a concept created by another group, about 3 month ago.

Each week I will pick an Artifact (piece of the game) and try to explain why we did as we did, how it went and if I would do it any other way next time.

……

The Artifact I have chosen to write about this week is Guards.
So, what is a guard? And how will they work?

The guard is the standard enemy (only enemy type) in With Intent. They will, among other things, be patrolling the level by following a fixed route. As long as the player is not seen or heard by any of them they will continue patrolling until the end of days. But if he/she is spotted they will try to shoot. If the player gets out of their line of sight before he/she is killed, the guards will start searching and there will no longer be any pattern to their movement. In this stage the game just became a lot harder to complete.

The guards will have different tasks they will do.
They will have one of three starting tasks:

  • Patrol: They will go from waypoint to waypoint. At each waypoint they will take a short break to look around before heading for the next.
  • Idle: They stand at one spot looking around. They might appear on crossroads or in rooms.
  • Sleeping: Standing or sitting with their eyes closed. Will only be disturbed by sounds or contact.

And four tasks when disturbed:

  • Investigate: If they heard you out of their field of view they will investigate the sound. If they get to where the sound was made they will look around for a short while and if the player is not seen, they will return to what they did before.
  • Search: If they know of the player but have not seen him/her for a while they will start searching. Going from room to room, looking around. They will start searching in the rooms close to where they were when they last saw the player, and then increase their search area. If they are searching, they will not stop searching unless they find the player.
  • Shoot: If the player stands in their field of view for more than about one second they will start shooting, and that is pretty bad.
  • Chase: If they lose the player from sight the guards will start chasing. They will run to the last known location, either by sight or sound. If they can’t see or hear the player when they reach that place, they will start searching.

We want the game to be a stealth game where confrontation is very bad. If they shoot at the player, it will most likely be game over. To avoid that, there will be three main ways for the player to know if a guard is nearby.

PreAlpha

  • Each of guard, except sleeping ones, will carry a flashlight, pointing in the direction they are looking (not implemented yet).
  • The ripples from the sound they make when they are walking or sleeping.
  • Their actual body is within the player’s field of view, this will be the only way to detect sleeping guards, unless they are snoring.
Standard