Wednesday, 27 April 2016

Class 43 - Games In Unity

Post 126

Games In Unity

So this post I will be talking about more of my Unity research. Right now I am looking into what exactly Unity can do as a 3D engine. I am still unsure if I actually want to start working in Unity, so that's why I think it is necessary for me to look at things made in unity.
So currently I am browsing the internet finding games that have been made in the newest version of the Unity engine (Unity 5).
Interestingly enough I stumbled on a game I am familiar with, and have played in the past without knowing it was using the Unity Engine. This game is called Rust, and is basically a survival game that lives off a very strong sense of PvP (Player Vs Player). The game is currently in an Early Access state and has bi-weekly updates. But the best part about me stumbling onto this game is that they have a blog. Not just any blog though, they have a development blog closely resembling what we independents students have been making on our own. Now obviously their blog doesn't really tell you what they learned and focuses on what they have made and added. But it provides a great deal of material to read and learn from.
Overall I think it was a good find, and it is defiantly something I would like to read just out of curiosity.

It also shows me and nice example of where a game can go in just 1 year of development. Because last time I played this game it looked like this.



But just in one year the developers took this game and expanded on it, and took it through all the versions of Unity on the way. And they ended up making something that is the same, yet entirely different. So now this game looks like this.



The new version not only looks better it is also just better. And as far as I can tell they added tons of new weapons, items, and animals.
The game also holds servers with 200 people and has gigantic maps all randomly generated. So unity definitely does not limit your capability to make a big game.
Next Class I am still unsure what I will do. But possibly look into more things made with Unity and or learn more about the development of video games by trying to find more Devblogs or continuing to read the Rust Devblog.

Unity 5 Showcase Video

Class 42 - Looking Into Unity

Post 125

Looking Into Unity

So today I want to research new idea's for something I can make on Game Maker to just further my understanding of making games in general. Not exactly sure if this means I am going to make a entire new game once again and call it "Learning". Or if it means I will just play around inside Game Maker making small stuff expanding my knowledge of the coding language, and of course what makes a game, a game.

So basically what I am doing is just spending my time looking at the Unity website skimming through the tutorials to see if any of them spark my interest. Currently i'm still uncertain about the whole switch to unity thing, but I want to learn more about it and what games run off of it and how good of a program it really is. So far it seems pretty decent and not too complicated, but don't get me wrong, it looks complicated and will require some serious learning.

I also did a little bit of research on what coding language to use within unity, and as far as I can tell the best one to use for beginners is JavaScript
Next class I might look at some games already made by Unity just to see what it is capable of doing. And what exactly is possible when you add the 3rd dimension into game creating.

Unity Website

Monday, 25 April 2016

Class 41 - My Development

Post 124

My Development

So this blog is going to be somewhat of a report on what I have done so far and where I am right now. As of yesterday I have made the bare bones of a game demo, it has music, sound, gameplay, and a very basic boring AI. This is somewhat what I intended to do. But I feel like I have reached a wall with the development of my game because i'm not exactly sure where to take it. Now i'm not saying I don't like my project, I just feel like its potential is very limited. But honestly I still can't precisely pin point where or why I am feeling this restriction with the project. This doesn't mean I don't want to finish the project though, I just feel like I don't have the required skills I need to finish it to my standard of liking. Now looking a this you can obviously see I have a bit of problem now. Because one side of me wants to finish the game and continue to work on it.
The other side wants me to stop and learn more about coding in GameMaker so I can make a game worth making.
So now I have to decide where I want go with my independent studies. And i'm not exactly sure where I would start to find things to do. But maybe I will look into doing stuff with Unity. After all this class is all about learning new things, and I don't have a single clue how to work with unity. Or how to create animated 3D models.
So I am going to use the rest of my time in class to think about where I want to go with things.
However there is only a couple more classes of this month so I wont change what i'm doing too much until the start of next month.


Friday, 22 April 2016

Class 40 - Recording Sounds

Post 123

Recording Sounds

So today I am going to talk more about the sound effects I have made for my game. Currently there are around 10 sound effects in my game. Keep in mind this number is 100% an estimation, and I am not exactly sure how many sounds I have made exactly. This is partly because I never really counted them.

So currently I am recording all my sound effects at home on my headset.

Steel Series
Siberia V3 Prism

This headset is okay and serves the purposes I require it for. But like all other headsets it claims to have a crystal clear mic, which it doesn't really have. But that is partly because my bed room isn't very sound friendly. So I record off that tiny little retractable crap mic. But its not the end of the world because most of the sound effects I make go through a intensive audio editing process. Where I fiddle with them until they sound really good.
The program I am using for sound editing is a free software off the internet. Which is obviously not ideal, but dropping one hundred something dollars on a sound editing software doesn't sound that appealing to me. So Audacity is the program I am using for now.
The program is fairly easy to learn and basically just lets me hit a big red button to start recording. Then I take the sound and mess with pitch, speed, echo, and bass. And add the occasional additional reverberation making it sound better.
So to give somewhat of a demonstration I will take a hunk of metal and slide it against some more metal (my bed frame) and turn that sound into a foreboding transition sound.

Boring Original Sound

After Audacity Tweaks

Not exactly sure what I will do next class. But it might have something to do with my sound design or physical concept art I have been working on.

Thursday, 21 April 2016

Class 39 - Making Sound Effects

Post 122

Making Sound Effects

Today I will be working on in-game sound effects. So currently my game only has a few sound effects, which makes it feel very strange when your playing and you don't hear anything. Sound in video games helps put the player in the world, its a form of immersion that is required to make a game feel good. It assists in making the world feel real as well.

So I will attempt to make some sort of bloody hit sound for when a enemy is attacked. Now obviously I cant get a sword and slash someone open and record the sound they made, because that wouldn't be ethical... Stupid laws. Anyhow I had to get a little creative with how I could make a sound similar to that of a slushy bloody gore sound, so I grabbed a metal bowl from my kitchen, then I got a rag and dampened it. I then sat down in front of my computer with a wet rag.
(And bowl on my lap to stop the water from going all over me)

And your probably thinking, Hmm this doesn't seem like a good idea
(Having a bunch of water next to your computer for splashing)
Well you would be surprised to find out you are 100% right... The recording software turns on and I give the rag a squeeze successfully making a nice wet spray sound, but one problem. It wasn't loud enough.
(Don't worry you're still right)
 So with out thinking I grabbed the rag tighter and in one giant squish water sprayed out in every direction. My computer screen was instantly covered in a layer of water.
My computer was unharmed. I just wiped it down. Anyhow the sound came out pretty good and it is the one I will use.
Tomorrow I will probably talk more about how I made my sound effects. And of course what program I used to fine tune them and make them sound more, "Soundy"?

Click For Sound Effect
SOUND

Side note. When I was looking for a picture of someone squeezing water out of a rag, all I could find were images with blatant watermarks across the them. Its as if they thought someone is going to try and steal credit to a picture of hands squeezing a wet rag.

Wednesday, 20 April 2016

Class 38 - Finishing Impacts

Post 121

Finishing Impacts

Today I am going to try to fix the scale up on the enemies. So basically what I am going to do is quite simple, I plan on taking the code that makes the enemy flash red and then return to its normal colour also change the size of the enemy. I'm not exactly sure why I completely over looked this last time. But I already made a code that activates something for a second or two after the hit has been detected. So I am under the impression all I will have to do is insert a bit of code into two different places. One being where the enemy is set to red , and the other being when the enemy is set back to its default colour.


For the sake of the blog I exaggerated the size increase from a 1.1 to a 1.5. Which doesn't look or sound like a big difference but in fact is very, very different. The reason I did this is because the GIF's quality is not the finest and it would make it significantly harder to notice the change if left at the default amount.
Next class I will work on creating more sound effects for my game. And of course finally putting them in the form of a link so you readers can hear them.

Tuesday, 19 April 2016

Class 37 - Working On Impacts

Post 120

Working On Impacts

Today I started to work on giving the player more impact when they attack an enemy. So to do this I will try to make the enemy you are hitting increase in size then shrink back to its original. Now this comes with its problems as simple as it sounds. The first iteration looked something like this.

Currently i'm using a simple "image_xscale" and "image_yscale" code to increase the size of the sprite. This will work if I can just get it to size up a little bit then return to its original size.
Now this GIF is not what I wanted at all. Basically my code is completely broken in every respect.
I am quite certain I can figure out But you are supposed to learn from your mistakes. So I will continue on it until I get it to work.

Once again after some changes, it still is broken. Sadly the end of class is near and I must move onto the next post. So next class I will work on fixing this monstrosity. I should be able to make it work successfully next class. I think i'm pretty close to figuring out my problem. Sadly this problem seems to be really stupid and is probably just a typo, like having a "+=" instead of just a "=" sign.

Friday, 15 April 2016

Class 36 - Planning Impacts

Post 119

Planning Impacts
So today I decided to make the combat feel better, I thought about ways I could do this for awhile just by trying to brainstorm everything in my head. This sadly took up more time then it should have. But I decided I want to have some sort of knock back for when the player hits an enemy. But just adding that wouldn't be enough to change the whole feel of the combat. So I also thought about another way to make the combat feel responsive and good. I could do this by adding more frames in the actual animation. Another idea I have is by making the image of the enemy scale up for a few seconds then scale back to the original. This sounds sort of strange, but I think it should give this slight feel to the swings creating a better experience for the player. Tomorrow I will attempt to implement all this into a working fashion in the game.

Thursday, 14 April 2016

Class 35 - Working Armour

Post 118

Working Armour
Today I started to work on the implementation of working armour in my game. Basically it is just like having a secondary health bar that changes the amount of damage you take when its above 0. The code behind it along with the overall concept is simple. It involved going into a lot of code and changing some basic statements to be a little different by adding in extra options and "If" statements. But for others it was more simple. Like how I didn't want the player to bleed when they had armour, I achieved this by just having a step event like this, "
If Armour (is above 0)
{  Bleed = False }
This just stops the bleed before it does anything to your health or creates the bleed effect.

The biggest problem I faced well creating the armour was the sound it plays when the armour itself breaks. Making a armour being hit sound was fairly simple, but making a different sound play once and only once when the armour dropped to 0 was hard.

After a couple of stressful minutes of code I managed to get it to work. Currently I don't have an actual dedicated sound to the armour being broken so I just used the shield thud sound.
Tomorrow I will work on making hits feel more responsive and impact-full.

Wednesday, 13 April 2016

Class 34 - Armour

Post 117

Armour
This class I decided to make an armour stat that decreases along with your health. The idea behind this is that when you have armour your health doesn't take as much damage because a good portion of the damage received goes towards your armour. The armour will also stop you from taking bleed damage. So unless your armour is broken you shouldn't be able to have the bleed damage applied to you. This will help balance the extreme damage from the actual bleed. I also plan on making the armour not decay when blocking. Because currently when you block attacks still do damage to you, but at a reduced rate. But armour shouldn't be damaged when your shield is being attacked. So tomorrow I will put all this into the game. So basically today I just made the nice visual aspects of my Armour stat.

Tuesday, 12 April 2016

Class 33 - Bleeding

Post 116

Bleeding
Today I began to work on making on hit effects. Currently I spent all my time and effort into making one on hit effect, bleeding. This effect will occur when the player gets hit by a enemy with bleed damage. What bleeding does is slowly damages you after you have been hit. This gives attacks more variety.
So currently bleeding works by having the variable "bleed" set to 30 for example. The bleed variable then begins to reduce its self by 1 every step of the game. And for every step of the game the "bleed" variable is greater than 0 the players health is reduced by 1. This basically reduces the players health by 30 in 30 steps. But just having this doesn't really communicate well with the player so I started to work on a visual aspect of the bleed damage.


So I made this little dripping blood animation to display over the players head. This makes it obvious that the player is taking bleed damage.
Next class I will make some way to protect yourself from the bleeding damage. I'm think something along the line of breakable Armour.

Monday, 11 April 2016

Class 32 - Picking Up Health Pots

Post 115

Picking Up Health Pots
Today I wanted to start making a simple system to allow the player to pick up health pots and save them rather then just using them instantly whenever they pick them up. The idea behind this mechanic is pretty simple. Instead of having the health pot add health upon being picked up, it just simply increase the variable "Healthpot_count". When the variable "healthpot_count" is above 0 the game will allow you to press the health pot button and restore some health, along with removing one of the health pots. This gives off the illusion that you actually obtained something and used it, but instead all you did was increase some numbers and hit a button to reduce some other numbers. Pretty nifty.
Now along with this I had to make some balancing changes. This is because there is no limit on how high the "healthpot_count" variable can go. So you can pick up 100 health pots and just spam them well you are being attacked and become invincible. So that is obviously not something I want in the game. So in the future I would like to add an animation for drinking the potion and a cool down, so you can't spam them. But for now a simple limit on how many you can carry will suffice. Currently I set the limit at three, and might possibly have an option to increase your limit in the future as an upgrade. I also made sure that if you have reached the limit of potions you can carry and you try to pick up more it wont let you. This stops the extra potions from vanishing into thin air when you try to pick them up. It also gives the player a chance to use one of their own potions freeing up some space so they can pick the new one up.

Next Class I will work on possibly adding in passive effects, so like bleed damage, or poison damage.
This will give enemies variety in the future, and also might be used as upgrades for the players weapons.

Sunday, 10 April 2016

Class 31 - User Interface Improvements?

Post 114

(Post for April 8th)

User Interface Improvements?
Today I decided to work on improving the user interface for the player. After lots of work with trying to create a fancy looking health bar using the health bar functions and trying to tediously layer a sprite over top of it I came to the conclusion, the conclusion that it is not worth it. Currently I have two options for my health system. I can make a sprite with millions of different frames for different levels of health, and have the image_index match up with the current health status of the player. This would be effective, but setting up this kind of health bar would take an immense amount of time. So I have decided to do most of my UI in numbers. For now anyways. In the future I might switch to another method of creating visually appealing stats and health bars. But for now I will work on making a simple number based system.


So here is the screenshot of the working number UI system.


Tomorrow I want to try and implement some new systems like bleeding effects. Or the ability to pick up health pots and save them for later.

Thursday, 7 April 2016

Class 30 - Random Chance

Post 113

Random Chance
Today I began to work on making the pots drop health pots randomly, as well as the occasional enemy drop, just so there is variety. Because currently the game is very repetitive. So I started to do this by setting up a simple variable called random chance. Random chance is a random number range between -2 to 1. When the level starts it randomly sets its random chance to one of these numbers.
Inside the step code it asks what the random chance number is equal to. And if the random chance is positive, It asks one more question. Is the bad chance positive. So what this does is it has two random chances inside each other. When the random chance is equal to a positive number it will spawn a health pot upon being broken open, unless the bad chance is also equal to a positive. Then the pot will spawn an enemy when smashed. Resulting in a dangerous choice for the player.
 Get more health? Or get attacked?


Tomorrow I will work on adding some more depth to the player UI.

Wednesday, 6 April 2016

Class 29 - Health pot, pots

Post 112

Health pot, pots
Today I wanted to create another way to obtain health pots other then killing enemies. So what other way to do that then. Well. Having more pots, that drop health pots. Now this doesn't mean like little pots like the health pot that drops the health pots. This means big pots like this.

So if I have a bunch of these pots laying around the level, with the chance to have health pots in them. The the player will have two ways to obtain some more health. However this class I didn't get enough time to finish up putting the code together for the pot because I had to show Justin how my camera worked by following both the player and the cursor giving him sort of a run down on who I made it, and how he should make it. Along with that I showed him the screen shake.
But before the bell rang I managed to finish up the visual aspect of pots.

Now... Im aware it doesn't look that good. But that is because my game is using very very tiny pixel graphics. So here is a smaller picture of it to show you how it increases in quality as it gets smaller.

And here is the animated version, for when it falls over.

Tomorrow I will implement the random dropping of items from the pots, and maybe even add enemies that can be found hiding inside them.

Tuesday, 5 April 2016

Class 28 - Cameras

Post 111

Cameras
Today I wanted to dedicate my time making the game feel better well your playing. So I started to do lots of research on what makes games feel good. And what repeatedly kept popping up in my wide variety of differently phrased googles searches was... *Drum Roll* Camera SHAKE!  Now this was something I was very hesitant to do. Previous to this I never really worked with view settings. So I thought training myself through some quick tutorials off Youtube would get me ready. After watching a few different videos on Camera related things I managed to make my own. Now, this isn't the Camera shake, this is just a dynamic camera that follows both the player, and the mouse location.


So after getting familiar with the view options I attempted to create a camera shake. My thought process behind the shake was to have a variable that is always reducing itself to 0, and when its past 0 it is shaking. This idea would make implementing camera shakes to any action in the game as simple as "Shake = 10", then the camera would hypothetically shake for approximately 1 second. Obviously the bigger the "Shake" value, the longer the shake.
So after a few minutes of punching in variables and view_angle commands, here we are.


So currently its easier to show you what it looks like by using my hotkey for "Shake" testing. But my plan is to make the camera shake when you hit a enemy, and when an enemy hits you.
Tomorrow I will work on having pots, so when you smash them you get the chance of having a health pot drop.

Class 27 - Random Drops

Post 110

(Post for April 4th)

Random Drops
So this blog is a little late but as you can see it was intended for April the 4th.
So Today (last night) I worked on random drops. This is kind of a simple thing to do as it turns out. This is a area of code that was made to make my enemies play a death sound, but only once. So instead of having multiple lines of code I just thew the creation of the random item in here. The whole idea is the same, the enemies dies, this happens once. This greatly reduces the size of the code in the game and overall is a handy trick. Another thing to note is the "randomchance" Variable. Basically what that does is when the character is created it "randomchance" picks a random number between -5 and 1, if the number turns out to be positive, the health pot will drop. This means not all enemies will drop health pots.
Having health pots rarely drop is a balancing choice, It makes the blocking mechanic so much more worth it. However something in the combat still seems extremely off. I think it might be because of the high damage output from the enemies, well and because they are very prone to miss you entirely, especially if your standing still. Tomorrow I will work on making the game feel better to play, so probably camera related stuff.

Friday, 1 April 2016

Class 26 - Health Pots

Post 109

Health Pots
Today I decided to attempt to make something that will heal the player. I first started to play with the idea of the classic health regeneration. However having health regeneration seemed too easy and doesn't really fit my game. So I set out to make random health pot drops. First I started by making the health pot itself. My design is kind of a cliche health pot look, but its hard to be extremely creative when the main character is around 10 pixels tall and 5 pixels wide.


I ended up with this very basic design. The second image is supposed to be when the player can pick up the health pot. This makes it easier for the player to understand that they can pick up the health pot.


The above code tells my health pot everything it needs to know. When the player is touching the health pot it changes to the yellow outlined version. When the player activates the health pot it heals them. But if the health pot isn't used it slowly fades away and destroys itself. Also if the player already has full HP they wont be able to drink the health pot, kind of wasteful. But who cares.

The next thing I need to do is make it so the health pots actually drop from enemies. But I will probably do that tomorrow along with something else. It should be relatively easy to create a random drop chance as well, which is what I defiantly want.