Tuesday 24 May 2016

Game Maker Progress 7: Improved RRG, Wandering AI and Basic Stats

Hello everyone, 


The project is shaping nicely! I've made a few improvements to the random room generator (RRG) which have improved how well levels are generated. I still have a number of improvements to add - however; one of the more critical ones is the player spawning in a wall, or being spawned in a small corner room unable to exit - so rather problematic issues to say the very least.



In-Game Image


Besides the improvements to the RRG - I have been able to add a wandering AI as well as stats to both the player and the enemy avatars. I still have to create the code to let them engage in combat - however things are shaping up nicely! The game uses a turn-based approach to movement - as you can see in the stats; you have 5 movement points - then you end your turn and the enemy AI carry out their own movement. 


The structure of the game is shaping up nicely! Once I have the base structure of the game functioning well and I believe the time to build on that foundation comes I will begin with switching the graphics, polish the systems and create content! I look forward to bringing you more details!

Until next time,
Dylan

Sunday 22 May 2016

Pixel Art 4: Improvements

Hello everyone,

I am excited to show off what I have gotten done in the past week or so. I feel an improvement over what I did prior for sure. I feel like I have improved much more in tiles and terrain drawing, character wise there is still some practice I need to do with scaling body parts so they seem natural. Particularly if they are posed in a certain manner.

Grassy Tileset

These are multi-layered tiles, you have the sky and background on a separate layer from the foreground; i.e. the grass and terrain. The tree did come out a little - small; though I think they still fit within the style. I am much prouder with them than I was with any of my earlier attempts at trees that's for sure. 

Into the Cave Pixel Art

This next one started off as an attempt to make a character that has a more natural pose than my usual work. I wanted to give him something to carry - so I went with a torch rather than a staff or a sword; it gives me a reason to work with the lighting and shading some more. After I got the character done I figured why not try to give him a better background? Enter the cave.

This is the first attempt I had on giving a character a background and fit them into it. I chose a cave because it let me isolate the light source to the torch - though I for sure need to improve the background. I feel like the lighting going from light to dark is good - however adding detail on the cave wall and ground would definitely improve the piece.


I look forward to showing you what I work up next!
Until then,

Dylan 

Pixel Art 3: Progress Update

Hello everyone,

I have a few more works to show you. I do feel like I am improving, if nothing else I am getting more comfortable with pixel art - but there is definitely areas where I can do much better.

Step by Step of Phalanx Character

These are a number of snippets I took whilst drawing up this character. More or less, I took inspiration from Greek hoplites - particularly Spartans, except I also had Protoss (From Starcraft 2, for any of you that are interested) in mind so I decided to forego the normal skin colour and play with that. 

Outside of this - I also worked on a tile-set I am currently using for a Game Maker project as I learn the ropes. 

Space Tileset
The game is an asteroids-like game though I decided to try out some exploration elements to help practice other parts of the engine such as the View points and coding opportunities that I would likely not meet with the base asteroids game. 

I will write and hopefully upload a version of the game on here later on!


Until then,
see you all next time!
Dylan

Tuesday 17 May 2016

Book Recommendation: Spelunky by Derek Yu


Hello everyone,

I recently finished reading a book by Derek Yu - who is a developer behind Spelunky, and was it a splendid and inspirational read. Derek Yu speaks a fair amount about the experience of bring Spelunky to XBLA and to PC - going through the challenges and triumphs of the story. There was a degree of honesty that I really enjoyed but there was also another aspect of the book that really gave me some inspiration for a project I'm currently working on!

As those of you who read the blog often know - I've been toying with what I nicknamed an RRG - Random Room Generator; part of that inspiration came from Spelunky - and part of it as a challenge for me to try to conquer now that I've gotten a better grasp on coding. Derek Yu speaks a fair bit on the way random generation was used in Spelunky - particularly how the logic and the reasoning went for it. He doesn't show the code mind you - but he does talk about the more important logic and idea behind it. I highly recommend giving the book a read if your curious about Spelunky, random level generation or just simply want the story behind the game! 


Spelunky by Derek Yu


The book is a relatively short read - I finished it in around 2 to 3 weeks or so, but it was a very insightful one which I recommend giving a look at if you haven't already! 

Until next time,
Dylan

Tuesday 10 May 2016

Game Maker Progress 6: Next Project and Random Level Generator


Hello everyone,

As a fair amount of you know - I've been working on a small platformer project called Sky High in Game Maker. I do have more I want to add to the game and improve on but for now I've decided to put it on the side to focus on something new! This is for a number of reasons - it was getting to the point where if I wanted to try something new or learn I would probably need to re-write a good bit of code or it just wouldn't fit. One of the things I got inspired into trying out is a random level generator! 


Jumping onto this next project - I had ideas and inspiration; but perhaps the most interesting part for me is this project will consist of my work from the very get-go. Whilst I did code ICON and Sky High - I often followed a couple of tutorials for the very beginning to get a foundation and then built my own aspects and modified the foundation to make them what I wanted to. This new project from the off-set - consists of a foundation I am creating myself. I was particularly inspired to test out some random level generation after reading the first couple of chapters of Spelunky by Derek Yu. Spelunky, as there as those of you who know, relies on a random generator for it's levels. Not completely random - but enough to give a wide range of variety. If your interested in that - I do recommend Derek Yu's book! On that note - let me show you what the level generator I have coded yesterday has been able to do. 

Random Level Generator Examples

The generator is fairly simplistic currently. It simply moves tile to tile and depending on how many 'path' tiles touch the tile - it decides whether to put a wall or a path. For a couple of hours work - I found this to be quite promising! The levels look quite similar - this is because currently I set the chance to be quite limited in range - so it's very likely that certain parts may seem similar.

One of the improvements I will be adding is to remove any path tiles surrounded completely by walls. These will be replaced by a wall tile. I am also thinking of a way to make the generator 'walk' through the level and see whether the scale is big enough. Check for example whether the player is able to explore at least 50 tiles - rather than being stuck in a corner with only 2 tiles. This will give me better control in ensuring that levels aren't generated in a way that gives the player a badly generated level. 

Needless to say - the graphics are temporary as I work on the code - but once the generator works well - I can work on adding elements such as items, enemies and the like to the generation!

Until next time,
Dylan

Tuesday 3 May 2016

Notebook Workflow


Hey everyone,

I wanted to talk to you about the workflow system I've been using for my projects (in particular Sky High) that has been working out fairly well for me. The best part is it could be applied in numerous ways - but I found it perfect in my case and it's little more than just a simple notebook, and pen whilst I'm working. 

What I've been doing is simply noting down anything that comes to mind when I'm working on Sky High (or when I'm not but an idea pops up) and then I start ticking things off on a day to day basis! The best part is when I'm done with working on something but I believe I should do some modifications or improve on the work I've done later on - I can simply note it down and and tick the previous entry off. This - together with the blog; adds a lot of progression that helps keep me on track and helps me keep in perspective the work that I've done and that I've yet to do! It can be a major help with motivation - especially when you see a lot of notes getting ticked off or you come back in a month and check how your completed to uncompleted items compare!

I don't think I can stress enough how useful and important notebooks are - and I don't just mean this whilst your working or to keep track of what to do. Ideas often come to us when we are relaxed or just not in a position where we are working - what often happens is we forget the ideas before we even note them down. Which is why I've made it a habit to carry a notebook today - or if I don't have one, I e-mail myself the idea so I can note it later on in my notebook. 

I highly recommend you give it a try - if your not too into the idea of planning ahead for a project; this system is helpful even for you. Simply because you are adding and ticking off items that can be as small as "Fix art bug on player character idle sprite" to as big as "design and test out 3 abilities". Either way - I find that I feel like the project is easier to get done, simply because the project is cut down into small items I can simply keep ticking off and adding what I believe can be beneficial!

Hopefully this has been useful to you and I hope you try it out and it works out well for you!

Until next time,
Dylan