Tuesday, 29 November 2016

Game Maker Progress 22: Dawn of Civilization Plan and Progress


Hello everyone,

I have made a fair amount of progress on the project I am currently working on! Based on the plan I have drawn out for myself to ensure I reach the deadline at mid-January - I seem to be a bit ahead of schedule.







The game itself is proceeding very well! Up to this point I have the map generator working to a degree I am pleased with - even though I know I can add better improvements to it. To keep to schedule I will need to leave this for a later date however. 

The game itself will have the player's settlement split into Districts; starting with a central district as shown in the above map. Other districts; such as a residential district, will allow the player to further grow their population - assuming they can fill the food requirements. 




Up to this point; the functionality for Food Consumption, Housing Requirements, Population Calculation and basic expansion is in place. However this is only a fraction of the systems needed to be put in place. Much of the above mentioned tasks split into a number of other smaller tasks that make up the element as a whole.


Certain components - such as Research may very well be put on the side for a date after the deadline. Regardless I look forward to bring you further update on this project!

Until next time,
Dylan


Wednesday, 23 November 2016

Game Maker Progress 21: Dawn of Civilization

Hello everyone,

Today's post will be short - a small update about the current project I am working on. After receiving feedback on the concept idea of the 4X game - I've decided to take an approach towards settlement management. Having re-organised and re-planned how I would approach the project - it seems to be providing a more original and fresh idea!

The idea will focus more on the player managing resources and ensuring their people can survive winters and events. This means the approach I will be taking towards polishing and building the game is focusing on the Expansion and Exploitation elements of 4X. I have been brainstorming a lot of ideas but cutting down on them due to the 1 and a half month or so time span that it needs to be produced within. 


The schedule as is will still be very tight - the amount of tasks seems to have increased but their complexity feels decreased and of lesser scale. So I hope this means that I will be able to jump ahead of schedule fairly quickly. 


I look forward to bring updates on this project!

Until next time,
Dylan

Tuesday, 15 November 2016

Approaching Designing Something You Haven't Before


Hello everyone,

During the past two weeks specifically I've had to start working towards design projects which I felt I had more limited knowledge in than others. Board-games is one such project and the other being 4X Games. Somehow I needed to gather new knowledge on these - outside of simply having played them. I'm going to be listing a few of the approaches I've used to try to gather knowledge that would serve me during design and production!


Try Games of the Type
One of the more obvious steps is to actually try out games of the type or similar to what you want to create. This could give you some basic insights on what's been done, what seems to work, what you like and don't like. However this only provides very limited information. Keep in mind you are approaching the game with your own tastes, background and knowledge - other players will most likely be experiencing it differently. 

Looking at Videos and Game-plays of other Players
By looking at other players experience the game - you might be able to get a glimpse as to what is liked and not liked about the game. You might also be able to get an idea of certain conventions and elements of the genre that may be critical to your development. Included with this - you can also look at developer videos on the game and genre. With 4X games - I decided to look up not only GDC talks but also talks with Sid Meier. A good approach is to take statements said during interviews, videos and so on - and then looking at what gets mentioned a lot and how it gets mentioned. 

E.g. you might hear 'the player's create their own story...' - ' the world is unique to the player...' these might say a lot about what your trying to create - especially if the idea of narrative and 'uniqueness' is repeated by multiple of note individuals.

Look at Other Sources
Needless to say , you can find a vast amount of information online. Outside of GDC talks, you can find a number of analysis articles on different games and genres which may be of interest. Sometimes - don't be scared to think outside the box in terms of your research. If your looking into making an exploration based game - look at why people get curious or what makes people curious to explore. See how you might encourage people to explore with small clues or systems in the game itself. These needn't be specific to a genre or type of game. 



Don't be scared to experiment and try out new ideas. Whilst it can be intimidating to try designing a different type of game than you are used to - it can give you a lot of knowledge and insight you would have likely missed out on!

Until next time,
Dylan

Tuesday, 8 November 2016

Game Maker Progress 20: Hex-Based Map Generator

Hello everyone,

As I've shown on a preview on the blog Facebook page - I have been working on a Hex-Based Map Generator. This partially began with the notion to work with a pre-set terrain generator - however; I felt this was more critical and more promising to try my hand. I will be using this generator on a project I will be working on from today to January which will likely be a (most likely) small 4x game.

I've been toying with the idea to try my hand at a project of this type - I decided to go for it after being given details on a study unit in the masters programme I am participating in. Now onto the generator!



The generator itself begins with a single tile and expands outwards as you can likely tell from the above .gif. As more and more hexes are generated - the chance for the next tiles to further spawn more tiles is further reduced; creating the above 'island' or 'peninsula' effect in some of the generations. Tiles are also assigned a biome - depending on a setting - players will not only be able to determine the size of the map but also the size of biomes on the map itself. 

Biomes themselves are more likely to cause their adjacent hexes to be of the same type - if the biome size is set to a larger setting. Likewise if set to small - they are likely to be small biome sizes. I am planning on adding more 'behaviour' to the ways biomes are determined (For example, Tundras spawn to the far north and far south). I will be experimenting on that later on. 

Up to this point - I am quite happy with how the generator is working - however I do wish to add ways to switch the generating behaviour - so rather than what looks like an island sometimes is spawned - the generator will instead create continents for example and so on. 

Until next time!
Dylan

Tuesday, 1 November 2016

Game Maker Progress 19: A New Approach to Random Level Generation


Hello everyone,

The last week has been fairly busy - this week in particular is going to be a lot more busy due to the Philosophy of Computer Games conference I am currently attending - which looks like it will prove to be very insightful! 

Recently - I had watched a video of a talk given at the Games Developers Conference (GDC) regarding the procedural generation used in Shattered Planet. The talk inspired me to experiment further with procedural generation systems. Those of you who have read my previously Game Maker Progress posts know about Privateer Dungeoneers - which uses a very basic random level generator to create it's maps. The challenge this time is to make the generation more systematic and meaningful in a sense. 


Privateer Dungeoneers' generator simply relied on chance and a few other parameters I set up to influence the chance to spawn a wall or a path tile. This obviously meant maps are extremely random - and could result in problems of having a room completely cut off from the path of the game. Worse yet - if an exit existed in the game - there was no way to guarantee the player will get to the exit without digging through a wall. I knew I wanted to re-work the generator for that project - however as other elements took precedence - that project had to be put on the side for the moment. 


Spelunky - similar to Shattered Planet, used a number of pre-set terrain pieces for the generator to work with. Unlike Shattered Planet - the pre-set terrain pieces had even more areas within the pre-set terrain for more pre-set terrain. The generator would therefore need to first connect 4 large pre-set terrain pieces, and then if the large pre-set terrains allowed, modify it more (I highly recommend looking at the book "Spelunky by Derek Yu" as it goes into more detail and is a very good read; I have written about it here).  Looking at the video talk for Shattered Planet - a different approach is taken - where pre-made rooms are chosen by the generator, placed in the room, and are then connected via a path. I recommend looking at the video for a better look at how the system works.

Regardless - I will be looking into creating an improved level generator that works with a few pre-set components. Having been inspired by both Spelunky and Shattered Plant's level generation systems. Coupled to this - I do hope to test the generator in a few different game contexts - to see how well it can be adjusted to cater for simple styles of different types of games [Dungeon Crawler, and 4x Style game]. I will likely write about this within the coming weeks - once I've had the chance to sit down and work on it. Whether this will be next week - is highly debatable as the conference will be occupying a fair portion of my time this week. 



That said - I am very excited to be trying out this new approach to creating random level generation! As it will both mean that the levels will appear to be more natural and meaningful - and it will open up a lot of opportunities to test out different game ideas with a single random level generator that can be adjusted depending on the type of game it is being used to generate a map for!

Until next time,
Dylan

Tuesday, 25 October 2016

Game Maker Progress 18: Trade Wing


Hello everyone, 

Last week I mentioned I would write about a mini project I have worked on this week. By mini project - the project itself currently has approximately 8 hours worth of work - which is very small. It is more or less a proof of concept of the game-play itself. I'd like to thank my colleagues in particular who provided feedback on the game itself as well as play-tested it!




The game itself is for two players - and the goal of the game is to earn 1,000 cash before your opponent. To do so - you will need to purchase colonies on planets. Each planet (Yellow, Brown, Grey) represent a type of planet. Yellow are civil colonies - these allow you to purchase 2 of the other types of colonies. Brown are agriculture colonies - these allow you to purchase 2 civil colonies. Grey represent mining colonies - these provide the most income from the three planets. 

Each planet provides both an income and expense when purchased. Once players reach certain amounts of cash (100, 300, 600 and 800) two pirates will spawn on a planet owned by each player. These pirates will seek out planets purchased by players and will begin to harass the planet. The owner of the planet will have to pay a higher expense - if the pirate is near their planet. The way you solve this issue is by flying towards the pirates - who will begin to fly away from you. The general strategy is to attempt to push the pirates onto the opposing player - to hopefully increase their expenses, and lower your own. 


That is the game itself in a nut shell. The interface and graphics as you can see above are highly simplistic - overly so. One of the biggest issues raised as the game was played is that both players were not sure what they were doing - since the planets themselves did not look immediately evident. The game-play itself was enjoyed - however the interface and graphics need a large amount of work. This makes sense since from the 8 hours of work - probably around 7 of which was spent coding and designing the game-play; so it makes perfect sense that these turned out to be the issues experienced by the players.

Changing the planet's sprites, making the player's ships more obvious and recognizable and providing the player with more information as to what each planet does - are the major elements that require improvement within this small project. I may spend time fixing up this project further given free time - and I will take another look at the project in terms of play testing if so! 

This was a very interesting mini project to work on - it was essentially a small warming up session to get back into GML coding after the month-long period I had spent prior to starting off the masters as a small rest-time before jumping into the larger workload required in the masters programme!

Until next time,
Dylan

Wednesday, 19 October 2016

Game Maker Progress 17: Small Projects and Experiments


Hello everyone,

Firstly I wanted to apologise for the late upload - with the Masters Programme time has been rather tight and yesterday was particularly tight. However - I wanted to touch a bit on Game Maker as it's been a fair while since my last post on it. That is not to say - that I haven't been using the engine or that I've moved on from it - however other posts and time constraints meant that I was limited to what I could write with regards to Game Maker progress up to now. 

However - as part of the Masters Programme - we have been receiving a number of tasks towards developing small projects using Game Maker. I will be unable to post a number of the works done - simply because the assets used are not mine personally - so I would rather not post work not my own; even if they are open source or free. If I don't know if they are open source and I don't know who to credit for their creation - then I will simply either use my own assets or keep it off the blog. 

As part of the small project I am working on this week however - the challenge was given to create a non-violent conflict game. The first idea that came to my mind was using Trade. The theme itself was in space - so Space Colonies came to mind. 



The idea itself - after I spent some time fleshing it out - will be something along the lines of the following. The game will consist of a minimum of two players. Players will be competing to earn the highest amount of credits. The game will be played on a randomly generated map - with 3 types of planets to start with [Plains, Forest and Asteroid]. Players can set up Civic colonies on a plains planet - which lets them maintain 2 other types of colonies. Forests will allow for agriculture colonies which will maintain civic colonies and finally mining colonies will be the major income source built on Asteroids. 

As both players accumulate more and more income - pirates will begin to spawn. Pirates lower revenue and increase expenses for any colony that are nearby; players will be able to fly towards the pirates to scare them away. This opens up the strategy of pushing pirates to the opposing player. 

This is needless to say very basic and bare bones currently. However - since the project must be complete before next Monday - it has to be rather small. That being said - I will likely be using a lot of my own work on this project - so I will look into posting more information on it next time! 

Until next time,
Dylan