About Figglewatts (twitter: @Figglewatts)

Entries

 
Ludum Dare 32
 
Ludum Dare 31
 
Ludum Dare 30
 
Ludum Dare 29
 
Ludum Dare 27

Figglewatts's Trophies

Figglewatts's Archive

Hugline Miami Postmortem

Posted by (twitter: @Figglewatts)
Tuesday, April 21st, 2015 12:38 pm

Hugline Miami is my love letter to Hotline Miami. Who would have guessed?

It can be found here.


Introduction

Sup dudes, I’m Figglewatts, I made Hugline Miami.
I was originally making an isometric shooter that was going to be called “IsoStrike”, but then I saw that Dennis Wedin of Dennaton Games was doing an AMA on Reddit, and the Hotline Miami fanboy in me awoke.
What I’m gonna be talking about in this here post are the good bits, the not-so-good bits, and stuff I’d totally do next time, so sit back and enjoy the ride.

What I used

  • Unity 5 (Game)
  • Visual Studio 2013 (Code)
  • paint.NET (Graphics)
  • FL Studio (Music)
  • Adobe Premiere and FRAPS (That video I put on the page)

The good bits

Visuals


Lots of people have praised the game’s visuals.
When making the original incarnation; IsoStrike, I wanted to go for a really ’80s’ style, and almost the first thing I put in was the static and scanline effect. It works pretty well to convey that ‘old VHS I found’ look.

I was also really pleased with the text effects I put in the game. The rotation effect was implemented via a sine wave applied to the rotation of the text GameObject, and the colour cycling effect was a sine wave applied to the t value of a Color.Lerp() between 2 colors defined in the Unity inspector.

I stuck with one very simple colour pallete for almost all of the graphics in the game, and that colour pallete can be seen by simply looking at the gradient in the background of the game! I found 2 colours I really liked that contrasted each-other well, and you can see aspects of these colours in nearly all of the sprites/textures in the game.

Gameplay


I’m pleased I got as many masks as I did in. I started out with just the Richard mask, then I would add more when I thought of them during the development of other parts of the game. The Richard mask has no effects on gameplay, it’s just there to be a baseline. The default ‘playthrough’.

My main goal for each mask was to provide a slightly altered way of playing, i.e. Graham is more about hit and run attacks due to the high movement speed, Aubrey is for ‘spraying and praying’ due to the decreased cooldown, and so on. The only exception to this is the Molly mask (named and styled after my cat!) which was designed to be an Easy Mode for the game.

The score and combo system was an almost last-minute addition, and I’m glad I put it in. It makes the game have a more ‘arcadey’ feel to it, and in my opinion the funnest part of the game is chaining insane combos between levels. This is pretty much the reason I made the Zack mask.

Music

I really like the genre of music that Hotline Miami (both 1 and 2) used. It’s called “Synthwave”, you should listen to some!

Anyway, I’m by no means good at making music, so the music in this was created through about 3 hours of smashing keys on a MIDI controller, but I think it came out pretty well. I managed to get 4 songs in there! Each one has a ‘hug pun’ on an existing Hotline Miami track: ‘Hug Steppin’ (Horse Steppin), ‘Hugdrogen’ (Hydrogen), ‘Deep Hugger’ (Deep Cover), and ‘Roller Hugster’ (Roller Mobster).


The not-so-good bits


Based on all the feedback I’ve received thus far, I’ve compiled a list of things I didn’t do that well. Feast your eyes upon them!

Slow movement speed

The slow player movement speed subtracted from the feel of the game. It made it feel much more slow-paced than it should have been, and I should have increased it.

Collision issues

The heart projectiles are notorious for not going where you want them to go, and this is very prevalent in tight spaces like single tile-wide corridors. I did fix this post compo, it was an issue with the mouse raycast colliding with walls that were between the camera and the floor, but I’m not going to put this version up. I’m a firm believer that when I submit the game I can’t make anymore changes.
There was also issues with enemies colliding with one-another. This can be seen in full effect on Chapter 5. I’m gonna say this bug is canon though, because that level was totally a nightclub, and that huge cluster of vibrating enemies was just them having a grand old time.
Pathfinding was also a bit iffy, and you can blame this on me not wanting to spend hours tweaking tiny settings in Unity’s pathfinding system. It can probably be fixed, but not without lots of testing.

Not very innovative

The game is literally Hotline Miami but isometric, slower paced, and with less content. Maybe I should have thrown something new into the mix.

Not really based on the theme that much

Swap out hearts for bullets, you have a conventional weapon!


Stuff I’m totally doing next time

  • Livestreaming
    • Livestreaming can be really helpful for getting instant feedback.
    • I can also make a fancy timelapse if I livestream, and everyone knows timelapses are the bomb, so I’ll definitely livestream next Ludum Dare.
  • Post an early build somewhere other than just Twitter
    • I don’t have many followers that aren’t robots on Twitter, so maybe it’d be a good idea to actually garner some feedback by making a post on the Ludum Dare website, or the subreddit, or IRC, or something. Instant feedback!
  • I would also not use the web player next time due to this whole NPAPI palaver. Hopefully by the next Ludum Dare Unity will have finalized their WebGL builds.

Conclusion

To conclude; I think I done did good. Obviously we’ll wait for the judgement period to end before I say anything concrete, but everyone seemed to like it.

I’m definitely making a post-compo version, though I’ll remove the connection to Hotline Miami by changing the title, and making a completely new visual style, but I’ll stick to the 80s aesthetic. I’ll also expand upon the core gameplay, maybe add RPG elements or something, maybe a story. Experimentation!

Finally, I’ll livestream my development of an entry for the next Ludum Dare. So then I can subject everyone who tunes in to the shenanigans I will inevitably end up dealing with during it’s development!


Epilogue

If anyone can beat my high score then I’ll be very impressed. You’re dealing with a pro here.


Shameless plug

Follow me on Twitter or I’ll call the internet police

Hugline Miami – Day 1 Progress

Posted by (twitter: @Figglewatts)
Saturday, April 18th, 2015 5:50 pm

Today I’ve implemented almost everything I need to. That is, level loading, AI, attacking, masks, UI, and lots of other little bits.
That only leaves a title screen, music, more masks, and levels for tomorrow!

2015-04-18_007

Hugline Miami progress

Posted by (twitter: @Figglewatts)
Saturday, April 18th, 2015 2:59 pm

It’s Hotline Miami but with hugs…

2015-04-18_003

I’m in.

Posted by (twitter: @Figglewatts)
Friday, April 17th, 2015 3:02 pm

I’m using Unity.

Day 1 progress on “Cathode Ray”

Posted by (twitter: @Figglewatts)
Saturday, December 6th, 2014 4:13 pm

Day 1 progress

My entry is called “Cathode Ray”. It’s made in Java with LibGDX and a custom framework I’ve made that can be found here.
Basically, you control a single electron in a Cathode Ray Tube, and your goal is to direct it to the end of the tube by altering it’s trajectory with a magnetic field, so it can display the words “ENTIRE GAME” on a single CRT screen.

All the gameplay has been coded, so tomorrow I can focus on making levels (haven’t decided if I’m going to have a really long level or multiple different levels yet..), music, a tileset, and then nonessentials like a title screen and an intro.

I’m in.

Posted by (twitter: @Figglewatts)
Wednesday, December 3rd, 2014 12:30 pm

I’m using this library I made. github.com/Figglewatts/slagd

I’m in.

Posted by (twitter: @Figglewatts)
Thursday, August 21st, 2014 9:42 am

This blog post is just me declaring my codebase.
I’m going to be using this library I made.

“Interim” progress report

Posted by (twitter: @Figglewatts)
Sunday, August 25th, 2013 4:53 am

LEVEL EDITOR.

That is all.

(Also livestreaming development over at twitch.tv/figglewatts)

12-51-PM-DAY2

“Interim” – Progress report

Posted by (twitter: @Figglewatts)
Saturday, August 24th, 2013 2:25 pm

Since the last progress report I have added:

  • A circular timer, with accompanying digital timer
  • Fixed visual bug with lines occurring between modular tiles
  • Level loading from .json files (more efficient and allows for entity instantiation)
  • Player death triggered by timer getting to zero (has a nice explosion effect which I like!)
  • Entity instantiation upon level load (the only entity so far is a checkpoint, which resets the timer [seen here as the transparent cube in front of the player])

I think this just about concludes Day 1.
For Day 2 I have left myself:

  • Adding title screen, level select menus etc.
  • Creating entities to use in levels
  • Creating levels
  • Sprucing up the user interface and HUD
  • Sound effects and music
  • ‘Juicing’ the game

All of which are well within reach! :)

22-15-PM-DAY1

“Interim” is starting to take shape

Posted by (twitter: @Figglewatts)
Saturday, August 24th, 2013 1:22 am

I’ve implemented a modular tileset, along with the ability to load and instantiate tiles from data in a txt file. Here’s a picture of what I have so far.

09-18-AM-DAY1

Fully prepared now, just need to keep practising

Posted by (twitter: @Figglewatts)
Friday, August 23rd, 2013 7:03 am

I have written out game ideas and names for each of the 20 themes in the final round of voting, and will select the appropriate one when the theme is announced.

All that is left to do is practice programming potential features I can implement and ensure that I meet as few problems as possible.

[cache: storing page]