Jump to content
Sign in to follow this  
  • entries
    31
  • comments
    13
  • views
    12245

Building Block Heroes - Mechafolk Capital City

Sign in to follow this  
Aggroblakh

949 views

Building Block Heroes - Mechafolk Capital City

Once they leave the Mechafolk Factory, the Building Block Heroes find themselves among the bright neon lights of the Mechafolk Capital City. In this article I talk about the area itself and some of the design decisions that went into it.

Description

Map_CapitalCity.png

The Mechafolk Capital City is a flashy metropolis whose multi-coloured neon lights assault the senses.

BackgroundCapital.png

For those of you that have played the original Sonic the Hedgehog game, you might recall the Starlight Zone, which essentially provided a respite from the difficulty of the zones before and after it. I went for something similar in the Capital City area of Building Block Heroes. There are no new gameplay hooks for this particular area - instead, I just got a bit creative with the level designs and tried to make the music easy to sit back and listen to (more on this later).

Level10.PNG

To emphasize the city theme, I created a few levels that are reminiscent of city skylines. They aren't even that difficult, they just look kind of neat.

Level01.PNG

The enemies move diagonally, which makes them a bit less predictable than previous airborne enemies, but otherwise aren't terribly difficult to deal with.

CityEnemy.gif

The boss, unfortunately, doesn't follow the same mellow, laid-back vibe of the rest of the area. The boss of the Mechafolk Capital is a jet-shaped Mechafolk who doesn't like to sit still for long.

Boss06.PNG

This boss flies back and forth across the screen at regular intervals, smashing any blocks in his path. He zooms back and forth frequently enough to prevent the player from simply camping on one side of the screen and running to his weak spot, so the Building Block Heroes need to get a bit more creative in their approach.

Boss06Flyby.gif

Design

Because the Capital City doesn't introduce any new gameplay elements, I had to increase the saturation and contrast of the colours used in order to distract the player. For this reason, the lights of the buildings use neon colours that might hurt the eyes if you stare at them for too long.

Tutorial.1.PNG

The boss was probably the most difficult to draw, because I had to animate his turn. This required me to carefully draw all of his features at the proper angles, which forced me to make sense of the sketch below.

Boss06TurnGuide.PNG

Needless to say, it took me a while to get it done.

Boss06TurnGuide02.PNG

I deliberately wanted the music of the Capital City area to be relaxing and reminiscent of a piano bar or jazz bar, so I used a mellow piano hook and a catchy bass line to set the tone. For the percussion I used a TR-808 beat to give the whole thing an almost 80's-style vibe, since the pink and purple reminded me of a vapourwave aesthetic. I then topped off the song with a jazzy saxophone theme to punctuate the relaxing nature of the background music.

 

Let me know what you think!

Feel free to follow me on social media as well if you're interested!

Twitter

Instagram

SoundCloud

The Steam store page is also up, so feel free to check it out and wishlist the game if you find it interesting:

Steam Store Page

Thanks for reading!

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Jhcom
      Hey, could people please help me out with my thesis. It is a 1 minute game you can play on http://julianhana.com/comp/index.html. With this I measure movement patterns and composition techniques! 
    • By BlackSpoon
      Hi guys, let me introduce my new project - Just Smash It! It's all about destruction! Break your way smashing objects with aimed shots!
      * Realistic physics of destruction
      * Smooth game flow
      * Pleasant graphic and sound design
      * Infinite mode after passing the basic set of levels
      * Small size, great time-killer!
      Play Market: https://play.google.com/store/apps/details?id=com.blackspoongames.smashworld
      Feedback are welcome!
    • By Seer
      I have programmed an implementation of the Separating Axis Theorem to handle collisions between 2D convex polygons. It is written in Processing and can be viewed on Github here. There are a couple of issues with it that I would like some help in resolving.
      In the construction of Polygon objects, you specify the width and height of the polygon and the initial rotation offset by which the vertices will be placed around the polygon. If the rotation offset is 0, the first vertex is placed directly to the right of the object. If higher or lower, the first vertex is placed clockwise or counter-clockwise, respectively, around the circumference of the object by the rotation amount. The rest of the vertices follow by a consistent offset of TWO_PI / number of vertices. While this places the vertices at the correct angle around the polygon, the problem is that if the rotation is anything other than 0, the width and height of the polygon are no longer the values specified. They are reduced because the vertices are placed around the polygon using the sin and cos functions, which often return values other than 1 or -1. Of course, when the half width and half height are multiplied by a sin or cos value other than 1 or -1, they are reduced. This is my issue. How can I place an arbitrary number of vertices at an arbitrary rotation around the polygon, while maintaining both the intended shape specified by the number of vertices (triangle, hexagon, octagon), and the intended width and height of the polygon as specified by the parameter values in the constructor?
      The Polygon code:
      class Polygon { PVector position; PShape shape; int w, h, halfW, halfH; color c; ArrayList<PVector> vertexOffsets; Polygon(PVector position, int numVertices, int w, int h, float rotation) { this.position = position; this.w = w; this.h = h; this.halfW = w / 2; this.halfH = h / 2; this.c = color(255); vertexOffsets = new ArrayList<PVector>(); if(numVertices < 3) numVertices = 3; shape = createShape(); shape.beginShape(); shape.fill(255); shape.stroke(255); for(int i = 0; i < numVertices; ++i) { PVector vertex = new PVector(position.x + cos(rotation) * halfW, position.y + sin(rotation) * halfH); shape.vertex(vertex.x, vertex.y); rotation += TWO_PI / numVertices; PVector vertexOffset = vertex.sub(position); vertexOffsets.add(vertexOffset); } shape.endShape(CLOSE); } void move(float x, float y) { position.set(x, y); for(int i = 0; i < shape.getVertexCount(); ++i) { PVector vertexOffset = vertexOffsets.get(i); shape.setVertex(i, position.x + vertexOffset.x, position.y + vertexOffset.y); } } void rotate(float angle) { for(int i = 0; i < shape.getVertexCount(); ++i) { PVector vertexOffset = vertexOffsets.get(i); vertexOffset.rotate(angle); shape.setVertex(i, position.x + vertexOffset.x, position.y + vertexOffset.y); } } void setColour(color c) { this.c = c; } void render() { shape.setFill(c); shape(shape); } }  
      My other issue is that when two polygons with three vertices each collide, they are not always moved out of collision smoothly by the Minimum Translation Vector returned by the SAT algorithm. The polygon moved out of collision by the MTV does not rest against the other polygon as it should, it instead jumps back a small distance. I find this very strange as I have been unable to replicate this behaviour when resolving collisions between polygons of other vertex quantities and I cannot find the flaw in the implementation, though it must be there. What could be causing this incorrect collision resolution, which from my testing appears to only occur between polygons of three vertices?
      Any help you can provide on these issues would be greatly appreciated. Thank you.
    • By FluffexStudios
      Hi everyone,
      Stitched has been released for almost a year now and our game has gone through numerous great updates and revisions thank to feedback from everyone! To conclude a wonderful summer, our game is currently on sale for 30% off on Steam from September 17th to October 1st. Check us out here: Store.steampowered.com
      Also, we would want to showcase some of our artworks for our game. Below are some of the concept arts that we did in the past.
      Firstly, the main subject we wanted to focus on before any art is the primary color of the game. We decided to choose purple as it's a color that stands out and somewhat fitting in a horror game.
      Below is the original title screen and the finalized version of the title screen of Stitched. We original wanted to give Catherine long hair but decided against it because we feel the long hairstyle was done too many times. We wanted to give Catherine a unique look hence we decided upon the new shorter hairstyle. We also touch up on her expression to make the player see that Catherine is terrified. Thirdly, we wanted to emphasize the title of the game by making it glow with light purple color.


      The below three images represent design stage for the doll character in Stitched. The first image is the original sketch. The second image is an updated version to give the character a more serious tone. The final sketch is to give the character her color which include her hair, face, and dress colors. We went through a large amount of revisions for this character to get the right color, facial expression to match her personality.



      And lastly, check out some amazing fan art for our game through this youtube video!

      For anyone who is interested in our art. Check out our deviant art page here.
      For those who have further interest in our game, check out our website here and our Steam developer page here for future projects!
      Cheers!
      Fluffex Studios
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!