Monday 10 November 2014

The ol' Ball and Chain

This game is a work in progress for procjam and the 7DRL week happening along side it.

The main mechanics are in place but there's not much you can do with them yet apart from killing a few rats.


Your iron ball swings around as you move.  Swinging it through enemies is the only way to attack them.

I found the Ball and Chain in Rebirth yesterday and it reminded of me of Nethack's punishment where an iron ball would be chained to your character.  As with most items in Nethack, it's mostly useless but somewhat amusing.

I'm interested in ways to do turn based combat that don't involve bumping into things and a kind of ally that zips around the level, hitting things in its path is something I've wanted to try for a while.

The ball and chain in Rebirth

I also wanted to add some time based challenge to it.  I've been playing Crypt of the Necrodancer recently and I really enjoy the way the game forces you to think quickly.  In this version, you automatically skip your turn if you don't take it within two seconds.  I'll probably change this.

The vast majority of code is being recycled from other games in case you're wondering.  Despite being procjam, I'm not really focusing on procedural generation for this.


Tuesday 28 October 2014

Still Life

Play it here.

A quick attempt to turn yesterday's experiment into a game.  It's a series of puzzles where your aim in each is to eradicate the life form without letting any of it reach the edge of the map.

I've tweaked the rules slightly since yesterday.  Moving into slime will now destroy it and diagonal movement (numpad/vi-keys) is allowed.

If you beat all five, your can click on tiles to make your own (type 'C' to clear)



It is too complex to be a fun game in my opinion.  I found it easier to solve each one with brute force rather that trying to calculate how my movement would affect the slime creature.

I was shown Dungeon Janitor yesterday.  Your aim is also to remove slime but with a slime behaviour that is much easier to understand making for a much better game.

Conway's Game of Slime Creatures

Play it here

A cross between Conway's Game of Life and the classic slime monster.

You (the "@") count as a "lit" cell for the purpose of the simulation.



I set myself a target of 42 minutes to make this, from creating a new project to having it published online and writing this blog post.

A bug in my life algorithm caused me to go a little over schedule but still, not bad for about an hour I think.

I find it satisfying to be able to walk over to and mess up those still lifes.

Monday 27 October 2014

Minehunter

Play it here.

A kind of minesweeper-like game where you're trying to catch a single mine.



Day 4.

There are a couple of "tricks" to catching it quickly that aren't explained in the intro message.

The mine's movement is somewhat deterministic.  Stop reading now if you want to try it first without being spoiled.

It'll always try to move away from the tile you scan if possible.

Initially, the mine moved randomly but I found this lead to a fairly tedious exercise in removing most of the water in order to corner it after you'd used your first few turns to triangulate the mine's position.

The spawn location of the mine is entirely deterministic based on which tile you scan first.  Once you've tried starting in the same spot a couple of times, you can figure out exactly where it spawns for that seed.

Let me know if you can find a five turn win.


Saturday 25 October 2014

The Battlestar Encyclopedia

Read it here

A guide to procedurally generated battleships of the future.


Day 3 of #30daydev.

I had a lot of fun making this one.  The original plan was to just focus on procedurally generating spaceship pixel art but I felt like the images could use some back story to help bring them to life.

The ship names are generated by a Markov chain, which uses all the ships from Eve Online as input.

Friday 24 October 2014

Horse Simulator

Play it here

A very basic text adventure game where there is only one input and you always win.


Inspired by the South Park episode, "Guitar Queer-O" or more specifically the game "Heroine Hero" that Stan gets hooked on in that episode.  (youtube link)

This is the result of day two in #30daydev.  See my previous post for more details.

Spoiler alert

I tried to have some consistency throughout the text by keeping track of how fast your herd is moving internally and having messages be related to that.  It could definitely use more of this but I feel like I've spent enough time on this one already.

I tried to make it somewhat procedurally generated too but I'm not sure it was worth the effort when you never get to make your own choices.

Mandelbrot: The Game

Play it here

You will automatically zoom in on the area clicked.  If you reach an area where the edge of the set is no longer visible, the game is over.

See how far you can get in a single click or see how few clicks it takes you to reach the maximum zoom (around e-14).


This is the first in what I plan to be a series of mini games inspired by #30daydev.

I'm treating this an exercise to practise, experiment and have fun.

I intend these releases to be rough prototypes at best, focusing on a single gameplay mechanic or idea that I want to explore.

I wasn't really expecting today's game to end up as a game at all but I got a bit carried away.

Friday 5 September 2014

Another bug fix release for Hoplite

Hoplite v2.3.5 is now available for Android and will be released for iOS soon.

  • Fixed fat finger mode
  • Fixed playing taking damage from bombs while descending in certain situations
  • Bug fixes for the prayer selection system
  • Fixed bug where Wizard Beam cooldown wouldn't refresh on level change
  • Fixed tapping on a distant magma tile or altar not requiring confirmation
  • Fixed a cooldown bug when Swift Leap and Lunge are used together while Wizard Beam is on cooldown
  • Taking shield choices from Apollo or Ares no longer counts against "Hoplite Master" achievement




Thursday 4 September 2014

Cards are the Future

Another update to Magma Music today and it's slowly starting to take shape.  

I'm going all "material design" although there's still a way to go before I get there.  You can swipe away albums that are queued to remove them from the queue but that's about the extend of interaction with the cards for the moment. 




Wednesday 27 August 2014

Magma Music

I couldn't find a music player for Android that did exactly what I want so I made one.  You can grab it from Google Play here

What I want:
0) Treat every directory under Android's "Music" as an album
1) Pick an album
2) Play the album
3) Goto 1

If you're looking for a music player with a lot of features, this is not the one for you.

Also, please note, this application is a work in progress.  It is rough around the edges and there are bound to be many bugs I am not aware of.

It already does 99% of what I want in a music player and I have been starting to lose the motivation to keep working on it so I thought I would just release what I have done.

What I plan to add next:
- Gapless playback.  The other "1%" of what I want in a music player.
- Interface overhaul.  The current layout was intended as a placeholder.
- Widgets with playback control for the lock screen/home screen/notification.

Wednesday 6 August 2014

Bug fix release for Hoplite

Hoplite 2.3.1 has been released for Android and will be available for iOS in about a week.

Just a few bug fixes this time.

  • Fixed a bug where you could be offered shield upgrades that had already been taken
  • Fixed a bug preventing incremental achievements syncing correctly (Google Play only)
  • Fixed a bug preventing achievements unlocked before v2.3 from syncing (iOS only)


Saturday 2 August 2014

Leaderboards and balance changes for Hoplite

I'm happy to announce that Hoplite 2.3 is now available.

You can grab it for Android at Google Play or Amazon and for iOS at iTunes



Here is a mostly complete list of what has changed:

iOS only


  • Game Center integration: unlocks and achievements synced between devices.
  • Performance improvements, especially loading time.

Google Play only


  • Google Play Games integration: unlocks and achievements synced between devices.
  • Added missing xxxhdpi support (for some new devices like the LG G3)

Balance/Gameplay


  • Demons now die if they are knocked "through" magma instead of landing on the other side.  This does not affect the player (or bombs) so you can still fly over magma using Reaction & Might Bash.
  • Using recall on stairs will now trigger descending to the next depth
  • Shielding Bash split into two levels, each with a cost of 1.  Level one blocks a single attack and level two blocks all attacks.
  • Cooldowns are no longer decremented when Swift Leap is used.
  • Surge now restores 100 energy instead of all energy.
  • Protection removed from the game.  Flawless now unlocks Shielding Bash II
  • Demon cooldowns no longer decrease while they're stunned
  • Hephaestus now offers upgrades of your current prayers with higher priority - ie. if you have Shielding Bash, you'll be offered Shielding Bash II (if unlocked)
  • Patience has increased chance to be found
  • Winged Sandals increases Leap range by 1 (from 2) and cost reduced to 1 (from 2)
  • Leap Strike cost reduce to 1 (from 2)
  • Wizard Beam cost increase to 1 (from 0)
  • (Greater) Energy now costs 0/1/1/1 for 120/135/150/160 total energy and is capped at four levels.
  • (Greater) Bloodlust now costs 1/1/1/1 for 6/9/12/15 bonus energy and is capped at four levels.
  • Sacrifice cost reduced to 0 (from 1) for the following prayers:
    • Sweeping Bash
    • Greater Sweeping Bash
    • Spinning Bash
    • Recall
    • Follow
    • Plant Spear
    • Slashing Lunge
    • Sword Lunge
  • The number and type of demons has been adjusted in the lower depths to increase the difficulty beyond where it used to hit a plateau.

Other


  • New Achievement "Hoplite Master" for consecutive wins with unique prayers.  You can check prayers made in the current streak under the "Prayers" menu.
  • Minor graphical changes to show when wizards and demolitionists are able to shoot and when player has Wizard Beam.
  • Fixes/improvements to animation/sfx timing
  • Lots of bug fixes

Friday 25 July 2014

Hoplite 2.3 progress II


I've finished up the last of what I wanted to get done before releasing 2.3 including a bunch of play testing with each prayer.  Unless any major issues come up, it should be available in about a week or so.

If you want to try it now, sign up for the beta

Changes from beta build 78 to 81


  • Max Energy/Bloodlust cost and gains reduced
  • Protection removed
  • Flawless achievement now unlocks Shielding Bash II
  • demon cooldowns no longer decrease while they're stunned
  • Hephaestus now offers upgrades of your current prayers with higher priority
  • fixed bug using Reaction and Shielding Bash together
  • spelling/description mistakes
  • minor graphical fixes/improvements for timing of animations/sfx


iOS

  • fixed double achievement pop-ups
  • fixed error reporting in iOS 6


android

  • xxxhdpi support

Friday 18 July 2014

Hoplite 2.3 progress

I've been playing a lot of Hoplite recently.

The main tasks for the next version were supposed to be adding support for Google Play Games and Game Center.  I finished doing that a while ago now but decided to make some quick balance changes before releasing it and, well, I'm still making balance changes.

Thanks for all the feedback and suggestions that have been coming in.  There have been some great ones, which really helps.

Basically, I've been focusing on making the less popular prayers more appealing, toning down some of the really overpowered builds and trying to improve the "late game" as I am continually surprised to see how far some people are able to get.

There are a couple more things I'm still looking at changing but version 2.3 won't be too far off now.

Changes in build 78 (released today)

  • Hades Altars scraped - I just didn't find them fun.
  • "Unique prayer streak" bonus scraped - the idea seemed fairly unpopular and I agree there are some major flaws with it.  The game still tracks these streaks, though, for the awarding of a new achievement - "Hoplite Master"
  • Some minor graphical changes - you can now see when wizards and demolitionists are able to shoot and a couple of other small things.
A few other ideas have been and gone too.  What I've settled on to replace the Altars of Hades is simply tweaking the current game so that the difficulty no longer hits a peak and stops getting harder.  

The number and type of demons has been adjusted in the later depths instead of simply throwing more and more in to keep the difficulty going up.

There have also been several tweaks to various prayers - see below.  The change to Swift Leap doesn't look like much but it is a big nerf to builds that combined this with Shielding Bash and Wizard Beam, which was causing the most balance issues in the late game.

Changes since 2.2.4

Android only:
  • Google Play Games integration
  • Unlocks and achievements synced between devices
iOS only:
  • Game Center integration
  • Unlocks and achievements synced between devices
  • Improved performance, especially loading time (thanks to roboVM improvements.)  This has also fixed an issue where older devices would sometimes not be able to load the game at all.
  • Fixed the error reporting system.  Why did no one tell me this stopped working!? ;)
All platforms:
  • More bug fixes.
  • New Achievement - "Hoplite Master" for consecutive wins with unique prayers.
  • Minor graphical changes to show when wizards and demolitionists are able to shoot and when player has Wizard Beam.
  • Using recall on stairs will now trigger descending to the next depth
  • Shielding Bash split into two levels, each with a cost of 1.  Level one blocks a single attack and level two blocks all attacks.
  • Cooldowns are no longer decremented when Swift Leap is used.
  • Surge now restores 100 energy instead of all energy.
  • Protection and Patience have increased chance to be found
  • Protection only lasts for the turn you are hit and cost reduced to 0 (from 1)
  • Demons now die if they are knocked "through" magma instead of landing on the other side.  This does not affect the player (or bombs) so you can still fly over magma using Reaction & Might Bash.
  • Winged Sandals increases Leap range by 1 (from 2) and cost reduced to 1 (from 2)
  • Leap Strike cost reduce to 1 (from 2)
  • Wizard Beam cost increase to 1 (from 0)
  • All levels of Greater Energy have cost reduced to 2
  • Sacrifice cost reduced to 0 (from 1) for the following prayers:
    • Sweeping Bash
    • Greater Sweeping Bash
    • Spinning Bash
    • Recall
    • Follow
    • Plant Spear
    • Slashing Lunge
    • Sword Lunge

Beta Access (now iOS too)

If you'd like to play the beta version, see here

Friday 16 May 2014

New movement options for Hoplite

A couple of new options for movement have been added in version 2.2.4 (released today for Android and soon for iOS)



Moving to distant tiles while demons are nearby now requires confirmation by default (by tapping a second time on the same tile.)

"Swipe to move" is just about exactly as it sounds.  I've become quite a fan of this myself as it gives a decent boost to accuracy on a small screen without really taking anything away.

"Fat finger mode" requires you to confirm every tile tap while demons are around just like moving to distant tiles.  You can have "swipe to move" enabled at the same time to cut down on some of the extra tapping required.

Long press to inspect has also been moved to a separate button.

Gameplay changes in 2.2.4

  • "Plant Spear" cost reduced to 1
  • "Pacifist" achievement is harder, requiring you to go an extra depth without killing

Other changes in 2.2.4

The tutorial has had a minor revamp.  I've tried to simplify it, cutting out blocks of text and replacing it with animations.

Lots of bugs fixed.

Saturday 15 March 2014

7DRL: Day 7 (Ragtag is a success)

You can play Ragtag here

I was actually very close to declaring this a failure last night.  I had simply tried to do too much in one week and the game was a mess.

This morning, I decided to cut it way down in an attempt to salvage a game within seven days.  I'm glad I did as I'm quite pleased with how it has turned out.



Synopses


You control a ragtag band of monsters attempting to loot treasure in a dungeon filled with heroes.

Only one monster can be controlled at a time.  Tag them out to let them regenerate health or access another set of abilities.

The game focuses on area of effect, knockback-type abilities.  Heroes can be killed instantly by knocking them into walls, traps and so on.

Use the dungeon map to make your way through the dungeon as efficiently as possible otherwise the heroes will gain XP and become too powerful.

Tuesday 11 March 2014

7DRL: Day 3

Very, very "early alpha" playable version here:  ragtag.magmafortress.com

I fixed up all the major bugs (that I know of,) added some more abilities then set it up so that you respawn with a randomised set of abilities whenever you die.

Then I wasted a lot of time trying to figure out why the game was not running the same on Google App Engine as it does on my desktop.  I wish I'd tested this more before the challenge.

It basically came down to differences in the way some openGL resources are initialised.

Anyway, I'm happy to have a version released already.

Monday 10 March 2014

7DRL: Day 2

Day 1:
I came up with a new idea while coding a bunch of player abilities.  My current focus is to have a game based around knocking enemies into environmental hazards to kill them.

Dungeon rooms would be full of traps, explosive barrels and so on and you'll have a bunch of abilities to force enemies where you want them, get around the map quickly and create more hazards.

Day 2:
Having interesting rooms is going to be the big challenge in this game and it basically consumed the whole day.  So far we've got spikes, pools of water, explosive barrels and bear traps and a bunch of other random clutter to fill up rooms.

I'm going for a sort of Sin City style look where it's mostly grey scale with effects in colour.



I like the candles
Fus Ro Dah!

Saturday 8 March 2014

7DRL Preparation

The 2014 7DRL has begun and I'm now half a day into it.

I thought I'd do quick a post showing my starting point for this year's challenge.  The following screenshots show what I'd done BEFORE the challenge started.

Isn't this cheating? I don't think so because I consider it to be working on the "engine", not the "game".  Also, the official rules say it's fine, especially if I state what pre-existing code I started with, which I'm doing now.

Basically, I'd rather spend the 7 days working on gameplay instead of implementing path finding algorithms and so on.

basic layout and mouse input done

oryx graphics

basic path finding added

monsters, basic AI, target

HP, bars

So there you go.  The monsters are low on health because they've been attacking each other and the game crashes if your health drops to 0.  I have a long way to go but I think it's going to be a fun week.

I'm using oryx's tileset and targeting a HTML5/webGL release that should be playable in any modern web browser.

I've also been playing around with shaders recently and the engine already supports basic "glow" effects.  If you're still reading, you can check out the "test app" running on Google App Engine at test.magmafortress.com and see the amazing glow in action by pressing "f" twice.

Edit: one more thing I forgot to mention that isn't shown in the screenshots is that my engine also has a simple particle effect system, which causes pixels to fly out when you hit a monster.  Just thought I'd mention it in the interest of full disclosure as there's no way I'd have time to spend coding such a thing during the challenge.


Friday 3 January 2014

Hoplite News


Happy New Year!

The iOS release of Hoplite has been going very well.  Thank you all so much for playing the game, telling your friends and tweeting about it.

Some recent Hoplite features/reviews:

Pocket Tactics - With your shield or on it
Indie Game Enthusiast - iOS Spotlight
Hoplite on German radio

Version 2.2.1 is under way and the beta is now available.  See the beta testing page for more details (Android only)

Changes so far:
  • fixed bug causing game to keep going after player won or died
  • fixed crash if game is paused immediately after giving an achievement
  • fixed crash on quitting game if google play service killed