Tuesday, 26 April 2016

Game Maker Progress 5: New Patrolling AI, Abilities and Controller Support

Hello everyone,

I am excited to show you and tell you about certain new additions I have made to Sky High in the past week! Let's start with a new patrolling AI.

New Patrol AI Example

The new patrol AI is able to climb 1-tile high blocks and go down 1-tile high ledges. It's simple - but it does add some new potential ideas and create more interesting enemies. One of the ideas I was thinking of is an enemy that rushes the player - this is made better if the enemy is able to jump up and down at least 1 tile high obstacles! As you can see by the yellow square (I've used it to test the code before I actually try it with an enemy) it can climb up the 2 steps - but once it reachs the 2 + high wall - it turns back and climbs back down!

Activatable Abilities

Another feature I've been trying out is adding a few abilities! I've kept the first 3 simple - Shield, Rapid-fire and Speed respectively. The shield makes the player invincible for a time, rapid-fire removes the cool-down timer on the attack and speed adds to the players maximum movement speed. I am currently thinking of what abilities would make the game more interesting and whether or not to include ways to upgrade or change the abilities via collectibles - I'll likely toy with the idea this week. As you can see in the image above - underneath the icon for the ability you have the cool-down timer when it is unavailable (it also becomes greyed out) and the hot-key when it is ready to activate! Which brings me to my other addition!

I have added controller support - more particularly I used an xbox 360 controller to code it but I believe it works just as well with other controllers such as a play-station controller. In case you were wondering - the hot-keys for the abilities also change if you have a controller attached;

Activatable Abilities (Controller)

The game feels much better and more fun to play using a controller - which does bring up the thought on how I could improve the use of a keyboard if the player chooses to go with that route. Although part of the comfort of playing with a controller I found to just be inherit to it being a controller - however if I find ways to improve a keyboard-play experience; that'd be better!

Until next time,

Monday, 18 April 2016

Game Maker Progress 4: Traps and Guards

Hello everyone,

I made a fair amount of progress on the platformer I nicknamed Sky High. I managed to add a modification to the collision system that allowed me to create trapdoors and make the horizontal moving platforms function right (Before the character wouldn't match the movement of the platform and fall off).

Sky High; Sky Golem, Trapdoor, Crush Trap, and Archer

As you can see in the top image - starting from the left; we have a sky golem which is an enemy that activates when your nearby and patrols left to right. Next up we have a trap door that opens up and drops the player below if their not paying attention. Next we have a crushing trap that will fall onto the player when they pass underneath it - currently I am toying with a way to make it so it makes sure your underneath it and not below some other tile as you can see in the image. Finally is an archer - who is a stationary enemy and shoots arrows at the player.

I am quite fond of the archer! Reason being is his animation come out very nicely on the very first go - which I felt quite proud of. Needless to say I can improve it further - but it's nice to see the higher quality from my previous sprites and animation!

Archer Attack Animations
Archer Reload Animations
Archer Idle Animations

These are the animation frames I made for the archer - the top being his attack animation, middle reload and bottom idle.

Sky High Tiles

I have also added the single tiles that we talked about last week! Those definitely look much better than they did before. I made a few different grass tiles as well - this way; the grass tiles in the middle (as shown in the bottom left set) will be random. By random I mean they will have different vines coming down the side and such. This opens up a lot of ways I can make the terrain actually change and be different throughout - the best part is that it's easy to scale, so I can add and remove tiles with little worry that the code won't work right!

Sky High Crates

Finally I added a few destructible crates - with some place holder graphics which I do want to find a more fitting style eventually. When destroy they do brake into a small effect of broken wood - which I am looking to improve because as of yet it's simple but it gets the job done for now.

I'm excited to show you all how this project continues to evolve - I am definitely learning quite a lot from it on using Game Maker and it's coding language! I really like how this project is coming along and I look forward to bringing you more updates on it!

Until next time,

Tuesday, 12 April 2016

Game Maker Progress 3: Platformer Progress and more

Hello everyone,

So today I wanted to show you some things I've been working on. Particularly the platformer I mentioned last time! I've made a fair bit of progress - needless to say I still have a list of things that need to be done however.

Sky High In-Game

As many of you know by now I have been following some courses and tutorials of for example Heartbeast Studio and RM2KDev among others. All of which are very insightful and a joy to follow - however just like ICON which was based on a tutorial by Heartbeast Studios I wasn't content in just following - which is why I added features such as selecting weapons, ammo, different power up, scaling difficulty and my own personal art assets. This project is not any different.

One of the things not immediately evident in the screen shot about is the tiling - which I am rather fond of. Not the art of it mind you - but the way it is set up in code is that the tile detects it's position and changes it's sprite accordingly! Simple I know - but you can imagine for someone who just did it the first time; I was rather happy to say the least! To show you what I mean exactly - have a look at the below image.

Sky High In-Game Tiles

The tiles with the dirt ontop are one object, the marble stone tiles are another object. As you can see above - they detect if there is a tile next to them or above them and change their sprite accordingly. This has no effect on gameplay needless to say but is rather convenient when designing levels. The system is far from perfect (you can see that the tile I'm standing on is actually not fitting perfectly - that is because I haven't created a sprite and told it to check if there is a tile to the left or right and adjust to something). You can see it in the individual blocks as well on the top - they don't fit very well on their own - but that is easily amendable I just need to create an individual block that fits by itself!

Outside of that, I added a glow on the orb of the player's sprite - that goes for all his movement and jumping sprites as well. I also animated his idle state so now he doesn't just stand still when the player doesn't move.

The other thing I wanted to show you was a small work in progress of a tutorial I am following by RM2KDev - I am keeping what I do very different from the tutorial however - I mostly use it to guide me. In terms of graphics and at times even the code itself - I tend to try to follow my own way so I can experiment; if I get stuck or it's something completely new I haven't touched upon much yet - then I follow the tutorial.

Sword and Staves Preview

I am trying to keep the graphics simplistic - for a number of reasons. For one I want to work more on the platformer - and another I wanted to explore a much more simpler style of pixel art. I am rather fond of how it is currently turning out and I am excited to see how it develops further as I go!

Until next time,

Thursday, 7 April 2016

Planning the Day Prior

Hey everyone,

Sorry for the delay in getting the post out this week - the week sneaked by after starting university again and Tuesday completely slipped my mind. Regardless - I wanted to speak on something I found extremely effective in getting things done. 

I'm not sure how many of you experienced having gone through a day - feeling it was productive only to realise it was productive in only a certain project; or it was just "busy" productive and not actual productive. If so - I can assure you that you aren't alone on that. I've had some days where I spent more time thinking what to get done next than I spent actually getting it done! 

I've tried out a new technique - I say technique; it's more of a habit, of planning the day before what I want accomplished the next day. This helps me focus on whatever I want to get done instead of thinking what I think I should at the time. You could note down the goals on a notebook - or what I found to be far more effective is I use a Google chrome extension called Momentum. I didn't used to use the To Do feature of the app - simply because I've got other means of keeping track. In this case however, it was perfect! It's fast, and I could write the things I wanted done the next day fast. 

More importantly - every time I open a next tab it's in front of me, so I always have an eye on what I want done today. Needless to say - you can find your own way that works best for you; though based on personal experience - I found that having it on a new tab helps me more as I can open it throughout most of my devices that have chrome without having to install a new software or carry a notebook.

Give it a try - see if it works out for you!

Until next time,