An ending in time for GGC

For GGC we wanted an end to the game instead of showing the player a blank screen whit game over. So we decided that something would be shown at the end and our game title would be displayed. So as a team we decided to show a cut character that walked up to the player and then display our logo or game title on screen.

EndofGame

This was mostly only for GGC and Was not intended to represent the end of the actual game. If the group chose to keep working on this game a new ending will be made relavant to the story. To make this we simply made the camera stationary at a position when the player entered a trigger. Then we played the animation and start drawing the games name on screen.

 

Thank you for reading.

The wonderful world of Re spawning

So Somethings we changed for GGC is the way we re spawn in the game. The checkpoints implemented glows whit a fire particle and a water particle when Lumi(Fire squirrel) and Terra(Grass ball) moves inside a trigger. This then gets recognized ass the re spawn point. If Lumi or Terra then die this is the position they will re appear at.

RespawnAndCheckpoint

The Gif above Represents what happens when the players go to far away from each other. as shown the screen loses saturation the further they move away from each other. Also the life bond or Health bar at the bottom of the screen stretches. Finally when a certain distance is reached the health bar snaps and the screen transform into black.

A certain thing was added that was when the characters re spawned or a player re setted from last checkpoint the characters were placed on screen relative to their controls stick on the controller. To clarify Lumi is controlled whit the left joy stick and is then placed left on the screen when a re spawn occurred and Terra is then placed on the right.

RespawnButton

This makes it easier in my opinion to find the character and controlling them after re spawning.

 

Thank you for reading.

Tooltips or Button prompts to help Players

Hello This one will be a bit short. We implemented a system of button prompts that will play an animation that blinks the button to be pressed to make it easier to proceed.

tooltips

This is an example of the prompt that we in the group called a tool tip so  will to from now on. This tool tip were one of several meant to show the player what to do in a situation in the beginning of the level and also when we introduced new mechanics to the player. This specific scenario show the left side of the controller and is the jump button for the Right character on the gif. We also color coded them to represent their specific characters. This was to make it moor clear that they are associated whit the character.

These tool tips were simply made whit a large trigger in unity that displayed a animation when the specific character is present whiting the trigger other ways the animation stops and stops being drawn on screen by the system.

Thank you for reading.

 

Relatively longer this time.

So a few days ago i set out to implement controls on Terra that allows it to walk upp vertical walls by pressing upp on the joystick and respectably down by pressing downwards on the joystick. And This ledd to some reworks in the controls of Terra and how it logically works.Screenshot_2.png

Most of the work is in Figuring out logically how it will work together with the other code parts. This will Take some time but hopefully it will be worth it. And the new control scheme  will improve overall game feel.

thank you for reading.

Another Short One

So this week we added support for Terra to move Up wall when pressing upp on the joystick while being stuck to it.

Screenshot_1

This will hopefully help players that think the old controls were confusing or hard to use. And also make the game more intuitive to play. Some animation changes were also made to Terra to make it flow more between animations.

 

Thank you for reading.

Short One this week

So this week we had our first play test. and it went rather well and we got a lot of feedback. So next week we will focus on fixing buggs for the beta that week. There will be a lott of work but we knew that wen we started this project.

Otherwise i have been working on a moss giant Ai that will make it walk and follow campfires and in the end help the player. Screenshot_1Att first i did not really work on a Ai structure but i ended up writing a state machine when it became complex in its behavior. We will se how much work will be put in this guy for now. Bug fixing what we got seems more important.

other than that thank you for reading this terrible blog.

Bonding

Hello  this is the third week  And i have mostly been working on fixing errors in code and helping my dear leveldesigner when the characters ar bugging out. Something nice to look at is the life bond i have been working on. This is the health bar for the players and it stretches when the players move away from each others and contract when closer.

Life bond

Its in the early stages so it doesn’t look that good right now but it will improve whit time. Also this week was the camera for the game. it was designed for following the players. But its not much too look at or from.

other than that here is a gif of the life bond.

NewSplit

Thank you for reading this horrible blog.

Rays for Days at the pool

New Project and new things to learn. Over all i will be keeping these bloggs short.

What i have been doing this week is to make movement script for a character in Unity(5.3.4f1). This Peculiar character will walk along walls and alls have the ability to pick up blocks and flip to a platform above it if it exist there. To make this happen i used ray casting in unity and in a total of five rays for this character. Two Downwards relative to the character that then get the surface normal  of the underlying material. They then take this normal and average it from the two rays. Then we rotate the characters up normal vector to be equal to the surface normal. apply a little force in the opposite direction and we have a character that stays along the ground and rotated to the normal. Other rays ar for checking blocks that are Liftable. Also if their is a platform above close enough to flip to.

TerraRaysForDaysThis is the character and he rays are temporary visible so it can be debugged.

Another thing this week was the Water cube i added this is made of old premium assets that came whit unity. It dos not have any code for lifting other objects or Viscosity or the like but it looks pretty cool.

Poolparty

 

Thank you for reading this broken English.

Let there be light stuff

So another blog post for the collection. This week a focus was fixing the atmosphere of our game. And Atmosphere is usually made whit light and sounds. And the light part was something I worked whit this week. Earlier in the project we wanted something more than a visible circle surrounded by darkness. So we wanted dynamic light that could cast moving shadows surrounding the player and environment. But as time moved on so did the idea of this. Because to put it simply it was quite a lot of work for something that wasn’t going to be a focus point in our game. So simpler light was the new direction.

And That simple light was solved by sf::Blendmode  in sfml. For his light I decided to make a manager to handle reading and creating lights. This manager will have functions such as reading light points from a txt file and then also colour of the lights.  The lights will then be placed around the world. A function of the manager is also to create lights by calling a function that will make a light by the point that was sent to the function.

To create this light effect I used blendmodes and also sprites and render textures. The render texture is created whit a size of our largest map which is 4500 * 4650. This is because we only create one render texture and there for its good if it’s bigger than the lever it’s drawn over. We also create a normal texture that gets a light picture that look like this.

light

First we clear the render texture everytime whit the colour that it will darken the screen whit. We then crate sprites that get the texture position and colour and lastly gets pushed back into a vector whit all the sprites. This vector then gets looped trough and we draw all these sprites to the render texture and blend them whit blendmode add. And to be completely honest I don’t really understand what this particular blendmode does but it seems to replace the render textures colour whit its own.  Then after all that work has been done we display the render texture and draw it to the window whit blendmode multiply to make it simply be laid on top of everything else. We draw it before the H.U.D but after everything else. So the H.U.D doesn’t get darkened. And this is how the result ended up.

11064992_10153185747534329_606220213_o

Well I couldn’t have done it whiteout this links help so a special tanks to Pontus Person for his helpful tutorial. (http://pontuspersson.se/gamedev/simple-lighting-in-a-2d-game-with-sfml/)

it’s the little things

Ok now we are getting really close to the beta for our game. Which is tomorrow In fact. And whit this we have to fix the little things that are remaining for our game to be more complete than before. And especially this week I have been working on several things which includes fixing our second enemy’s attack and also the font for our hand held artificial companion (H.A.C).

So first was some bug fixing regarding our second enemy. Our second enemy is a tongue enemy. And that means it fires its tongue towards the player and then it returns towards the alien. And if the player is caught on the tongue he is dragged back whit it. Our Tongue projectile in this case Inherits from our bullet class which have basic code for creating a projectile and getting it to move in a direction. Our tongue projectile worked very simmer ally to this except the returning towards itself part. So our tongue projectile fires towards the player and then the distance between the tongue end and itself. If this distance reaches 500 or above its speed is reversed. The tongues movement is calculated whit speed so if it’s negative it will decrees in its movement direction and return from whence it was shot. Then after this it’s deleted and the tongue can then be fired again if the player is whiten its range.

diagram

Here is a diagram kind of thing describing the range of the tongue. The orange thing is the player and the green one is the alien. The blue circle is the distance the player needs to be within for the alien to shoot its tongue at the player.

placeholders

And here’s a picture whit some placeholders. As you can see some of the sprites here will not be in the final game but is just here to show where the will be. The red projectile move towards the player and then it move back toward the alien dragging the player whit it. Right now it only have the red part in the future another more blended sprite will connect between the red one and the alien so it resembles a tongue.

The problem I was having whit this system is that when removing the projectile it also removed the values from the enemy which this projectile belonged to. What caused this was that in the projectile we also have a method that handles this class parent which is the enemy which fired the bullet. And because the parent was a member function we needed to remove it in the deconstructor. And an asterisk in the wrong place ultimately removed the enemy whit the bullet. But it was fixed and it’s working very well now.

We had some problem whit the font we chose not game breaking or of similar kind. But the problem was that it was rather hard to read in the text box which is H.A.C. The font which was first used was called Byte Police (http://www.dafont.com/byte-police.font) and looks like this. And some of the letters looked rather similar which made it hard to read so a new font was chosen. Abduction 2002 (http://www.dafont.com/abduction-2002.font) is the new font and it’s rather thick and easy to read but still kind of sci-fi. And as such it was chosen.