Monday, 29 February 2016

Class 14 - Another Game

Post 97

More Games
Today I attempted to further progress my knowledge of GML by creating yet another test game. Making these tiny little unfinished projects is good practice for me and has greatly increased my understanding of code in GML. This new game is a platformer type game, its still very unfinished and I will probably never finish it or work on it again. But every day I spend coding these games I never intend to finish I learn something new and become more familiar with coding in general. So I think its very much worth my time. Tomorrow I will probably start another mini-project to further increase my understanding of GML and how to develop video games. Which is something I am greatly considering as a career path.
Another thing I might do is continue coding my animation test game. 
  

Saturday, 27 February 2016

Class 13 - Big Trouble In Future Changes




Post 96

Animation
Today I started to continue my work on the "Lifter", a giant boss like enemy in our game. I created the "Lifter" along time ago but haven't necessarily finished it. I still need to work on its overall look and structure, currently it has the same hands and feet as the Dragger, I plan on changing those to fit its more brutish style. To finish it I will require some inspiration, so I started doing some basic animations even though its in a unfinished state. Currently this Idle animation is a work in progress and will most likely be changed throughout the development of our game.I didn't attend class Friday because I was on a field trip, so this blog has been made on my free time!





















Howard's Requests


I also created the player falling animation so it looks a little bit more polished when he jumps. This was requested by Howie. He has also requested some other minor changes like the running animation for the Dragger to be modified. So I have gone back and changed it substantially! What I did different this time was I took a more uniform approach instead of just making it as I go, the end result is significantly different and loops perfectly. Last time I just made the animation out of thin air, this time I looked at other running animations around the internet and planned out the movement first.




I might end up going back and removing the arm movement entirely for the Dragger, just so it gives him a more primitive style.
It will also give it some what of a unique running style.



    













Future Changes
So currently the Animations are all one big picture. This means that when any other animation plays, like lets say for example the player swings his machete well running, the legs will stop moving and act as if he was standing. Now. We could make a running version of the attack, but then there's no way for the legs to move the appropriate way then. Basically the running legs in the attack and the running legs in the moving, wouldn't sync up properly and it would look very strange.
How can we fix this?
With animation sections. What this means, aside from tons of work, is that we will chop up each animation into roughly around four different animations.
1. Legs  
2. Arms 
3. Chest 
4. Head
Now what this will do is allow us to string different animations together, like a collage of images. So the player can do something with his legs, like run or jump, but also do something with his upper body like attack or push.
Doing this will multiply our animations by four. That is a lot of animations. So unfortunately I will be drowned in an endless tedious work load of boring tasks in the near future.

Rest In Peace  
                Jake's Work Ethic, 
                                         2015 - 2016 

Thursday, 25 February 2016

Class 12 - A + D = Running In Place Forever

Post 95


Bug Fixes 
Today I fixed my very first game glitch. The glitch I am referring to is when you press both "A" and "D" the player character does not move but his animation still plays as him running to the right.

My first thought was to make more variables to tell the game when the player is pressing "A" and "D" and to switch the sprite index, but then I couldn't have the character switch idle sides. So I had to find I way to tie it in with the Idle direction Variable. Eventually I tried to just add more to the basic movement codes trying to get it to switch. That didn't up working either. So I tried a third time, this time with a variable called "Notmoving". This variable is always equal to 1, UNLESS "A" or "D" is pressed. Then all I needed to do was setup a few lines of code a hope it works.
AND IT DOES!!!
Tomorrow I will be blogging from home because I have a field trip, so I will work on the "Lifter" enemis visuals and animations.
Below is a GIF of the working game and the code that was required to fix it!

Wednesday, 24 February 2016

Class 11 - Multiplayer and Rooms

Post 94

Today I continued my work on my Tester Game. I started by adding a floor throughout the level, I also greatly increased the length of the level. This was achieved by some basic room settings, as well as view options.

I also started to code a second player for our test game!
The code on this was easier to create however because most of it was just copy and pasting into a new object that operates the same way as the player character!


I also changed the second player character's colour so its easier to distinguish between the two characters. This was done by simply going into each player sprite duplicating and changing the colour.
Tomorrow I will try to fix the "A" and "D" glitch or make the walking animation look better. Because I have notice it can look strange at times.


Tuesday, 23 February 2016

Class 10 - Running Around





Post 93

Running Around
So I decided to work on the running code in my test game again. Last time I was over complicating everything, this resulted with me getting lost in a tangled web of various variables and pointless strings of code. This time I sat down and looked at it a different way. I just needed to change the basic "If" statement for my movement code.
if (keyboard_check(ord("A"))) and !(keyboard_check(vk_shift))
This new code allows my sprite to have a different walking and sprinting sprite, well keeping the Idle Direction detector I created. Making it all look functional!










I have now exported the running sprites making the tester game look more functional! Now instead of having a black cube, I have a running sprite!
Tomorrow I will attempt to fix the problem where if I press both "A" and "D" the players sprite just stays moving right, no matter what order you press "A" or "D". Hopefully this fix is simple and useful and then I can move onto some more animations!


Monday, 22 February 2016

Class 9 - Half Day

Post 92

-HALF DAY- 

Today I thought I would try to attempt to improve my code ability, I did this by trying to add a sprint button to my existing test game. My thought was that if I have interchanging variables it would be able to switch the sprites to the sprinting sprite when the player is pressing the direction key and the shift key. However this didn't seem to work. I believe its not working because something in my original code is conflicting with it making it constantly switch between the two images. After around 30 minutes of countless fails I gave up. But I think I increased my understanding of code despite my failed attempt. It allowed me to become more familiar with GML's coding process.
Tomorrow I am still unsure what I will do, but I might go back and make the sprinting animation for the player character look a little bit better.



Thursday, 18 February 2016

Class 8 - Concept Art

Post 92

What is Concept Art?
Today I worked in the real physical world, yes... people still do that.
So I spent a good chunk of my time drawing some pictures in my sketch book.
"But Jake? How is that InfoTech blog worthy?" Says the voice in Jake's head. 
"Well its worthy of the blog in my opinion because its not just any artwork, its concept art" Types Jake to himself, like a crazy person.

Concept Art is a very useful tool I have used in the past. And if you have an artists eye you can often spot out the potential. The whole point of the Concept art is to just make a bunch of low quality pictures of different ideas, then pick the one you like best and further develop it. Now your probably wondering where I have used Concept art in the past... and well it was the Dragger. Believe it or not I didn't just create the Dragger out of thin air. I first started with sketching various creatures and picture the one I liked the most.
Anyways back to today's concept art.
I started by playing around with the Idea Bandits.

My Concept Art
This first Draft more or less just looks like a homeless person with a shotgun, which works for our game. But I wanted to be more creative with the design of our Bandits.
But who knows, this homeless man could come back in the future.    








The second iteration is a little less homeless and looks a little bit more organized. This version seems to have more character despite not having a face.










The last iteration of the Bandit is the most detailed one, for sure. His clothing is the same as version two, but he has added pieces of armour. This version also has a ski-mask and a helmet, giving him more of a menacing feel. Not to mention his kitchen knife bayonet.

And as you can see in the bottom of this image, there is one more picture. A new Dragger type.











This is the new Dragger Concept, that may or may not find its way into our game. Currently it still doesn't have a official name, so I will just call it Mr.Crawly.
fast, fast, fast, fast, fast. FAST. Basically that's all that's going to be different about Mr.Crawly. Obviously his speed is significantly better then every other Dragger because he moves on all fours. And has a smaller frame. And I will make him more of a pasty white instead of the pinkish flesh colour of normal Draggers. Basically this is the last stage of the disease.  

Wednesday, 17 February 2016

Class 7 - If (Post_has_code = True) { Instance_destroy; }






Post 91


Exporting & Importing
- Not Drugs, Sorry.
Instead of re-doing the running animation right away, I decided to create a testing environment for my sprites. First I had to export a selection of my animations. I ran into a few problems with exporting, but only because I accidentally checked the wrong option, so that problem was quickly fixed.
Then I selected all 125 images and put them into Game Maker.
Then I had to repeat the process and flip the image as a whole, instead of flipping each image as a separate picture, which I can say confidently would take me 125 times longer then the way I did it. Either way I switched it so it would be both the left and right animation for being idle.
I then exported the walking animation and imported it into Game Maker. Doing the exact same process to create to separate animations, one for each direction.













Coding the Basics
 After I got all my sprites setup I dove into code. I learned how to create a successfully animated walking character in Game Maker Studios, and this is how I did it.

First by creating some variables like
Idle = 1;  - The idea behind this Idle variable is to tell the game which Spr_Player_Idle sprite it needs. Whether its the left one, or the right one. So in order to make the Variable work I had to assign a meaning behind its pointless number value - with the following code.

What Activates the code to act will be labelled in Orange.
What happens when the code is active will be Red.
Notes for helping the understanding of code will be Light Grey. 

Obj_Player/Step Event/ 
if (idle = 1)
{
    sprite_index = spr_player_idle_left;
(If Idle is set as 1, change the sprite to the left version)
}

if (idle = 2) 
{
    sprite_index = spr_player_idle_right;
(If Idle is set as 1, change the sprite to the right version)
}

This makes the sprite change according to the number that is currently assigned to the variable Idle. 
But currently the variable Idle has no way to change. So I needed to add in a little bit more code.

Obj_Player/Step Event/
if (keyboard_check(ord("A")))
{
    sprite_index = spr_player_walking_left;
    idle = 1
    x -= playerspeed;
(When the A key is pressed - Set Sprite to the Walking Left Sprite, Set the Idle Stance to Left, And Make the Player moved left on his X Axis)
}

if (keyboard_check(ord("D")))
{
    sprite_index = spr_player_walking_right;
    idle = 2
    x += playerspeed;
(When the D key is pressed - Set Sprite to the Walking right Sprite, Set the Idle Stance to right, And Make the Player moved right on his X Axis)
}

As you can see, I added some basic controls. Along with a system that sets the Idle value to the correct number upon movement. This allows the player to be idle in the last direction they were moving. Here is a visual demonstration of what I have learned today! Tomorrow I will change the sprinting animation and possibly add more to my visual demo!


Tuesday, 16 February 2016

Class 6 - Stop, Drop, and Roll... and Run?

Post 90

Running
Today I actually started on my running animation, which had its fair share of challenges.
My first problem was trying to get it to look good. Everything is mostly fine but the back leg seemed to drag behind compared to the front leg, this was caused by an extra frame I had in the timeline. This took me around 30 minutes of searching to actually locate this problem. I then removed it and made the animation actually look decent. Today let me learn more about Spriters in depth timeline mechanics as well as more about running animations, which are incredibly hard.


After some research I found a very useful looking picture. This picture is a frame by frame of running, which I will try to recreate with my animation tomorrow, to see if it looks better then my free style one. The idea behind this is to use something a little bit more professional and accurate to real life.









Rolling
I also thought it would be productive to create a rolling animation for a dodge button. So my thoughts would be you can do a roll for a quick way out of bad situations. This is the first "Rolling" type animation I have actually done. So it was interesting setting it up right, I'm also not sure how the loop should work on it.

Monday, 15 February 2016

Class 5 - Combat & Other Games




Post 89

Combat Ideas and Requests
Today I didn't end up working on the player running animation, instead I worked on another animation we need for combat. As requested by Justin and the gang.  
Currently we want combat in our game to consist of Guns and a Machete. The idea is to have a quick light attack that does less damage, and then a slow heavy attack that does more damage and has a chance to stagger the opponent. Along with this we would like the ability to block attacks and even shove enemies that are a little too close for comfort. We hope having three different forms of attack will give the player a greater sense of control of their surroundings. And to spice up the combat even more so the player isn't just absolutely crushing his foes with his machete, I want to add all these same mechanics to the enemies, obviously with some variation so the enemies don't all feel the same. But that will come further down the road towards a beta version of our game.

Other Games
Today I started to learn more about basic combat mechanics for games, I have always played video games but I have never actually thought about all the work and mechanics that actually go into them to make them, well games. 
In my spare time I decided to play a game, for inspiration.
"This War Of Mine by 11 BIT STUDIOS".
Now... this game doesn't have a lot in common with our game, but it does have a very cool combat system and looting system that is very thought out. The game makes you play as a group of people trying to survive a war, but your not soldiers fighting, your civilians hiding and struggling to find food and survive. It has a very realistic gritty take on war and doesn't glorify it which is a nice refreshing take on the completely overdone setting. But overall it touches some pretty interesting subjects, such as depression and suicide. Throughout the game you can make moral choices like helping kids save their dying mother, or spending a night keeping someone safe instead of looking for food. But when you cant or wont help these people your characters can become depressed or saddened by your lack of action. 
The combat is fairly straight forward you point and you click, but somehow it feels more in depth then it really is. I would like to believe its because of the connections it makes you establish with your survivors, and the very scary permanent death they can face. Along with unforgiving injuries and infrequent amounts of medical supplies.   
From what I have played, it is a very solid game with lots of depth for its size. 
So what I learned to day is more about the time and effort that goes into intertwining mechanics and gameplay. Along with increasing my knowledge of animation and sprite editing. Also that having more risks in combat make it more tense and fun. 
So final verdict I really think we should have some system in place to make death something you really want to avoid in our game. 

Something that makes you bash your head on your keyboard? 
or
Something that makes you feel like you killed a whole school bus of puppies(kittens)? 
Hopefully somewhere in between. - But we still need to figure out what dying actually means in Drop Dead.

       
Combat Animations!
Here are the new combat animations. They still could use some improving, but they will do for now.
Shove animation for player. - This will allow the player to push enemies back giving him/her more options in combat. 












Stunned Dragger animation. - This will happen sometimes when the Dragger is hit with a shove, but only for a few seconds, giving the player some time to run away and shoot it, or cut it to bits. 

Friday, 12 February 2016

Class 4 - Running, into obstacles.

Post 88


Running Animations
Today I wanted to finally do the player running animation, which is something I have always ducked and avoided since the old days of frame by frame animation. But now with our new style of animating I really have no excuse for not doing it, other than I just didn't get around to it. So I decided to dive into the animation head first and just get it done. However that doesn't always work out, especially with a running animation, the hardest thing to animate (In my experience). So instead of actually finishing the animation and moving onto the heavy attack, I just got stuck. Very, very stuck. I tried pulling up the Dragger running animation up for reference, but it didn't really help. Maybe because it doesn't exactly run normal, or just because I couldn't copy the motion correctly. Who knows.
In the end I got stuck with a clunky running animation that just doesn't fit well. I cant quite place my finger on whats wrong, but tomorrow I will place my finger - on the delete button.
Today was still productive though, because I learned a little bit more about how to do running animations, and animations in general.
Tomorrow I hope to finish the player running animation and then finish the heavy attack.


Class 3 - Some more mistakes?

http://jakeinfotech2015.blogspot.ca/2016/02/class-3.html
I accidentally posted to my other blog. So here is the link!

Wednesday, 10 February 2016

Class 2 - Already Making Mistakes


Post 87

Mistakes
My plan for today was to finish up the "Lifter" enemy. But last night I had some free time and did some major work on it. Now this isn't exactly a problem. But. I didn't have enough time this morning to upload my progress to my Dropbox, so if I worked on it now, I would be doing the same thing I did last night. And I would do the bone structure of the "Lifter" but because of the new sprites I changed last night it has a different size and dimension, so when I actually switch to my new sprites it wouldn't fit.
Now I need to find something else to do.

I think I will work on improving the basic attack animation for the player, and making a new attack animation for his heavy attack.

Attacks
I started by looking at the light attack, and did some very, very minor changes which don't really effect too much, so they aren't going to be getting a spotlight in this post. However I did some major changes to the heavy attack. I started by deleting the old version where he does a two handed over head strike. As shown by the GIF.
I then started to use the Light Attack Animation as a sort of template for my new Attack.
What i'm wanting from this heavy attack is something that looks the same as the light attack right up until its too late, for the enemy that is.


Ninja Skills?
Currently this animation is in a experimental phase.
Right now the character swings his blade backwards to bash the enemy with the reinforced spike side. Honestly not the most practical attack, but whatever, its a video game. But the attack seems too fast and too fluid, it looks less like a heavy attack and more like the main character is a trained Ninja from an over the top Hollywood movie. So next class I will be redoing this completely.
But what I was aiming for is like somewhere between a bash attack and an upper cut, but with a machete.

Tuesday, 9 February 2016

Class 1 - A Not So Fresh Start


 

A NOT SO FRESH START
Today is my first day of Second Semester Infotech. I wasn't planning on going back into Infotech for a second semester but I ended up in a class that I wasn't all that excited for, so I talked to Mr Bilesky and got switched into another Independent Class. This semester I am going to try and direct my efforts to learning how to teach Ian the basics of coding, and hopefully teach him to enjoy this class as much as I do. But mostly I will be trying to focus on animations for our game. The last day of my old Infotech class was very productive, I learned a new way to animate that was 1000x more efficient then my previous way. This will allow me to kick start my progress through this course. 

POST 86

More Animations
Recently I went back and changed the default Idle animation for the Dragger. 
(The Zombie in our game)
Previously I was doing hand drawn animations, frame by frame. But then we discovered a new way to create animations. The way the new system works is like Pivot, but with more complicated images, bones and lots of other little settings and stuff that nobody really cares about.
So back to the changes with the Idle Animation. 
I took the old animation, changed the way he was standing ever so slightly and gave him some little hand twitchy-ness. This makes the animation look a little more alive then it was in its previous state.
   

New Enemy
I also started to develop a new enemy type, the "heavy" so to speak. This enemy is what I will be setting up next class. The character itself is still very unfinished. The skeleton mesh in this picture is practically a carbon copy of the normal Dragger, which doesn't really fit well. Because of the big size difference, so I will work on setting up a new skeleton for the "Lifter" as Justin calls it.
Tomorrow I will set up my first animations for the "Lifter". Along with his proper Bone structure.