Saturday 25 June 2016

Game Maker Progress 12: Smart-Tiles


Hello everyone,

I am excited to be showing what I have manage to implement in the past week or so. Those of you who follow the blog will remember I decided to code in what I nick-named a smart-tile system for my previous small project Sky High. The system simply checked what adjacent spaces were occupied by - such as a tile or empty space - and adjust it's sprite accordingly. Relative to this - that system was extremely simply since it worked with around 8 different variations if not less. 

This new smart-tile system I am using for Privateer Dungeoneers uses 48 different tiles - each with their own separate conditions to check whether it should be used or not. It took a lot of tweaking and adding new tiles (originally I only pictured around 20 tiles needed - after testing and checking for tiles that seemed off, the reality was I needed 48 at least). 



That being said - I love how the result turned out! The benefit of the system I have now is that it works with the Random Room Generator (RRG) fairly well! So any adjustments I make to the RRG means that the smart-tiles will simply adjust accordingly to what is needed! Another benefit is that whilst the above image shows an example of a room generated and the smart-tiles in action - I can simply add even more tiles than the minimum 48 to add variations to the various different tiles! 


Adding variations is far simpler since now I have the code and conditions set out - it's simply a case of creating the tiles and telling the system to randomly pick from a set of tiles that match that particular slot. As I add different types of tiles (dirt walls, rock walls, chasms, water and so on) they all can use the same system - it's just a case of changing the sprites!

This system was particularly important towards graphically improving this project - and whilst it had it's complications - I love the result and the potentially different additions I can implement with it!

Until next time,
Dylan

Tuesday 21 June 2016

Game Maker Progress 11: Equipping Weapons



Hello everyone,

I've managed to get a start on being able to equip items to your character (force?) - it will take some explaining however for you to understand why I'm doing it the way I am. As a character you will have a number of 'units' that will in turn determine your stats. Equipment works in a fashion you would expect when you have multiple units to equip items to. Each unit can equip a weapon and an armour piece currently - which will give it a benefit to the stats it confers. 



Stats Diagram


The above diagram shows how the system will work. With the above - your character will have 15 attack total. If say all your footsoldiers had swords - then you would have a total of 20 attack. It is also worth noting that if you don't have any units to equip a particular weapon to (say bow to archers) then you cannot equip it. Units are the key point in this project for all systems to function - they determine your stats, they equip the items you find and they represent your overall progression in the game.

Equipping Items 1


As you can see in the Available tab you have 1 /  1 - the right integer shows how many of a particular weapon you have, the left integer shows how much you  have that you can equip to a unit. On the right under Equipment Details - you can see how much units have weapons / armour equipped out of your total of those units. The button between the two allows you to equip x1 weapon - depending on how I decide to expand on this I'll likely adjust this accordingly for the sake of convenience (if you have 100 units - I don't particularly want to have the player have to press the x1 button 100 times).

Equipping Items 2
Above we have the same interface - but we have equipped the Iron Sword to one of our footsoldiers! This system provides a lot of flexibility in terms of equipment. I can create simple equipment that confers certain benefits - but the player is free to equip as much or as little of that equipment as they wish - which means they could realistically create their own equipment in the overall sense. Let me explain. 

Lets hypothetically say for now that you are able to have different types of damage, physical, lightning, fire, so on. Say you have 10 footsoldiers with 1 attack base, you equip 5 with a sword that adds +1 attack and +1 fire damage; then you equip your other 5 with a sword that adds +1 attack and +1 lightning damage. That means in combat - you will deal a total of 20 normal damage, 5 fire damage and 5 lightning damage. Effectively the combination is something you as the player have made - not me as a developer. This opens up a number of possibilities to experiment and explore different equipment designs and sets!

Until now - you don't gain benefits from equipping items, and you cannot unequip them - I will be working on that next, but I think the most challenging part has been dealt with so I hope to not have too much issues on those two elements.

Until next time,
Dylan

Tuesday 14 June 2016

Game Maker Progress 10: Small Fixes and Additions


Hello everyone,

The past couple of weeks have been slow - due to exams. However I made some additions and fixes which were simple so I at least got some work done plus it was a nice relaxation from the examination studying! 



One of the basic elements I made was the framework to build a main-menu. Up to this point I simply launched the project directly to the in-game screen. Having a framework to work with - I will be able to create a better main-menu once it gets to the point where it is needed! 


Immediately apparent is that I changed the graphics; these are still place-holders but I simply had gotten a bit tired at looking at the full-colour box - this was a slightly welcome change. Besides that - there are at least 2 other objects on the map now - a crate looking object and a door (The object above the player was only to signify an entrance). The crate was a place-holder for the generation of loot or chests. The door on the other hand would be the exit of the dungeon. I mostly added these so I could try to see how I would work them into the actual room generation - so currently they don't actually do anything.

If you look closely underneath the player avatar - you can also see a pickaxe icon on the wall; that indicates that you are able to dig through a wall (you cannot dig through the border wall however). This fixed a number of issues in terms of how the RRG generates - however it does mean I may need to get more creative in how to add to the exploration of the dungeon itself! Digging through a wall does take 2 movement points (plus 1 because you stay where you are whilst you dig) so there is a possibility to find ways to incentivise the player to be faster in clearing dungeons - but I will explore that realm later on.



Enemies also have a marker on them now - with the above image you are more able to see the 3 different markers for the movement! Once I get back into the full swing of things - I will start working most likely first on the equipment system. Whilst I do have a way of collecting and storing items - right now you can't actually equip them!

Until next time,
Dylan

Tuesday 7 June 2016

Game Maker Progress 9: Basic Inventory Set-Up

Hey everyone, 

This week I'm going to show you a simple inventory system I've been working on. It's far from complete - up to this point I've only completed the interface, as well as the ability to walk over an item, decide if you want to collect it or not - and keep moving should you choose not to. I'm still trying to decide how to go with storing the items - however I've decided to show you what I have until now because it took a fair amount of thinking to get done!

Inventory Menu

As is - this is a bare-bone appearance of the inventory window. The system basically uses a 2D-Array that holds all the details of the object in that slot and place it within it's associated slot. It took a few tries to get it to work right - as it turns out that certain functions weren't working the way I expected them to work - eventually it worked out however! 

Collect or Leave Item


At the moment - you can't really collect items per se. This is because I'm still working on how I'm going to store items and detect whether a slot is taken or not - but the system to leave the item on the ground works fairly well! After I have the inventory system working - I also need to work on the equipping system - but one step at a time! 

Until next time,
Dylan

Wednesday 1 June 2016

Game Maker Progress 8: Combat Engagement


Hello everyone,

I've added a fairly basic combat interaction between the player and enemy avatars. One thing you might realise from the engagement screen as I've called it; is that you are actually in control of an army or group - not simply a character. I wasn't particularly keen on simply making a dungeon-crawler or RPG as been often done with a single character. Whilst technically - yes you will be in control of a single avatar character - all the systems will function as though you are in control of a larger force - as will the enemy! 



In-game Engagement Screen

I am hoping this will make a more interesting take on the game itself - plus I felt inspired and motivated to take this approach as I find it more exciting to try out new ideas than I do simply copying what's been done. This gave me some freedom to build systems in a way that interact differently - in terms of combat and equipment, but more on that later on! The engagement screen is essentially combat currently - it is very simple for now, if you want to attack you simply click engage and combat is done automatically. Later on I hope to add more control over what you are able to do in the battle - something like formations, tactics and terrain advantages, however needless to say those are ideas which I still need to build upon! 

However the system did show promise in how I structure the stats for both the player and the enemy - this meant I could keep working and building on that aspect and see where the tide takes us so to speak! This addition definitely thrilled me - regardless of how simple the system is. The game itself is starting to show form - going from idea to concept to proof-of-concept and eventually to what I hope will be a full game! I look forward to bringing you more details next time! 

Until next time,
Dylan