Wednesday, 12 August 2020

Pirate Ghosts...

Last entry in the ship's log, we talked about the oft-asked "dash/escape" question, and how we had re-invented the "Bull Rush" - a mechanic that had been part of the game since its initial design - into something that would fulfill our Expo players' requests while retaining the original spirit and characterisation of the move.

This time, we're looking at another feature that has been in since the beginning, but has been shown by our players at shows to be in need of some upgrades - ghost mode.


Spot the ghosts... there's two of 'em!

From the get-go, we knew that players' characters needed to be able to respawn, but we wanted to do something a bit more fun and player-led than just a time delay before that happened. And since ghosts are almost as integral to a good pirate story as the pirates themselves, the idea we came up with was that when a player character died, their ghost would appear at the body's location, and the player would have to "corpse run" back to the respawn point (as made popular by a certain well-known MMORPG!) in order to join back in. And since ghosts can do nothing but move around, the faster the player got their ghost back to their respawn point, the quicker they could get back into the back-stabbin' treasure-grabbin' action...

... at least, that was the theory. But at shows, we started spotting a worrying trend - some players got the ghost thing immediately. Others needed a bit of explanation before getting it; fine at a show when one of our able crew is around to tell them what to do, but not a desirable quality in a release version. A significant number just plain struggled; either they did not realise that they were supposed to move the ghost, or where they were supposed to go, both of which were definite "red flag" situations! And finally, there were those who simply did not even see the ghosts... okay, it's not quite as bad as the image above when everything is moving, but still, totally unacceptable!

Our first thought was "okay, how about we switch over to a timed auto-respawn?", but taking away that control from the player just felt... wrong. Moreover, some of our more canny players had realised that ghost mode allowed the resurrecting "Water of Life" power-up to be used strategically - since a character's respawning causes a blast wave which knocks back and damages any nearby characters (a deliberate mechanic to prevent spawn campers!), a player could move their ghost into the middle of a treasure-rich area and fire the power-up to clear the area of other players and enemies before grabbing everything they could! However, we quickly realised that we could combine the existing ghost mode mechanic with a timed auto-respawn: if you got back to your respawn point before the timer ran out - great, you're back in play that few seconds earlier! If not, and the timer expires... well, you're still back in play, but you lose even more treasure on top of what you lost for dying in the first place! This double-penalty not only is designed to push players towards trying to respawn under their own steam, but also fits the game's plot concept: the heathen gods of the Iles de Ser-Lloyn will not let our bovine buccaneers rest until they have passed judgement on them!

So we've got a solution for making sure dead players don't end up just wandering around as ghosts - great! Now we just want to make sure we are not penalising players who do not realise what they are supposed to do when their character dies... we need the equivalent of Ben or Paul, or whoever yelling "Player two! You're dead - get to your respawn point, it's over here!"

Well, the first step was to make it very obvious which player's character was where. We had already made some changes to make it much more obvious which character was being controlled by which number player as part of another piece of work (which we would have blogged about earlier, but it involved UI work, so Ben doesn't want to talk about it!), so it was simple enough to add that information to the status panels. Next, a marker with the player's number was added for each character: while the character is alive, the marker tracks them around the arena. When the character dies, the marker tracks above the ghost instead - however, every few seconds, the marker will move across the arena from above the ghost to the character's respawn point, before fading out and reappearing over the ghost again. So - hopefully - this will provide some much-needed guidance for our poor, lost players who either don't realise they're ghosts, or don't know what to do about it! And, as a final touch, we made the markers configurable: show always, show only in ghost mode, do not show.


Follow the pointy sword... or wait for the auto-respawn

Of course, this is all theoretical right now - thanks to COVID-19, the chances of getting a show around our usual time in late September/early October are pretty much in Davy Jones' locker, and with them go the opportunity for any real public testing and face-to-face feedback. In fact, at the moment it's sketchy whether or not we'll be back in business by next February... so to everyone out there, we would offer the following advice: face masks look great when paired with pirate hats!

Monday, 11 May 2020

Ye asked... ye got!

For some time now, one of the most-often-asked questions we hear at shows (after "when's it going to be released?") is "Is there any way to move faster/dash/escape?"

Back when Bullion was in the design phase, it was decided that the signature move that united all the player characters would be the "Bull Rush": once charged up, a player character could drop to all fours and bolt across the arena like an enraged bull. Any chests in the way would be smashed, enemies and other players would be knocked flying and take damage... the down side was that once rushing, the character had to keep going in a straight line until either the power ran out, or they ran out of the arena or into a solid obstacle (rocks, trees etc). It was intended to be a showcase "finishing" move, requiring flashy start-up animations plus several others just to execute the move, and caused more bugs than we would care to remember (yes, this includes the infamous "Teleporting Dead Bull" bug)! But we eventually got the mechanics working for Silverside by the Play Expo Manchester show in 2017...

... and then it kind of got forgotten about! We decided that we would work with a "minimum requirements" set in order to get additional playable characters plugged in; Bull Rush was not a necessity for a new character to be playable and had a high animation overhead, so it simply got switched off for all the characters that followed. And because of that, while Silverside's rush option was left switched on, we never put any time into balancing the mechanic or publicised it at shows. It became something "we would sort out later".

Well - it's "later"...


Chaaaaaaaaarge!!!

The message from our players is that they don't want a big flashy move that takes time to fire off once triggered - they just want to be able to get from A to B faster (or at least part-way), or get themselves out of trouble if things are going bad. So we took Bull Rush back to the drawing board and simplified it, while retaining as much of its "charging bull" signature as possible - at the end of the day, the "cow" part of Bullion was always intended to be something more than just an excuse for bad puns!

Gone are the big, drawn out flashy entry sequences and the complex all-fours animations. Instead, we now have a leaner, meaner Bull Rush: the player hits the button, the character immediately bolts forward. Gone too are the fiddly conditional charge-up and the "all-or-nothing" lack of control: the power charges up over time and once full, the rush lasts until the power runs out, the character leaves the arena or hits something solid OR until the player takes their finger off the button (okay, so we've introduced a minimum requirement that at least quarter of the power is used, but that's it). The character is still invincible while rushing (good for escaping!) and still has to go in a straight line, but our new Bull Rush introduces both immediate response and a degree of control to the player while also vastly reducing the development overheads.

In these mad times of viruses and lockdowns, we have no idea when our next show is likely to be. But rest assured, we fully intend to have all our bovine buccaneers able to use their Bull Rush to dash and/or escape by the next time we dock for a public demo!


Back-mounted cannon equals jet-pack!

Wednesday, 8 April 2020

A plague be upon us!!!

All good pirates know how fickle a mistress the ocean can be... and right now, the seas of life that we - and by we, I don't just mean the Bullion team, but everyone on this globe of ours - must navigate are possibly the stormiest we have ever faces... we're definitely off the map and into uncharted waters here, lads and lasses!

Of course, we're talking about the menace that was brewing half a world away as we, the crew of the good ship Bullion, were laughing and patting ourselves on the back after a great show in Margate: the world's new foe, the pox known as CORVID-19, or "Coronavirus".

Now ye all might think "but hang on - you're game developers and you were already working in a distributed team, so apart from a bit of extra care, it's business as usual, right?"... oh, if only that were true! Ultimately, we are a part-time team, developing Bullion in spare time around day jobs - and those day jobs have to come first. And, ironically, with those day jobs being at home, for some of us it is actually proving more difficult to carve out time to keep Bullion moving forward...

But our troubles are pretty small fry, when we think of all those people we are mingling with at the Margate show only six weeks ago... complete strangers sitting down less than a foot away from each other to gather round our demo rig and take on Chilli Con Carnage, or see what Kanonbul is like to play - in this new world of social distancing, that would be unthinkable! And then there are our friends at Replay Events, whose livelihood depends on these shows that are now impossible...

... our thoughts are with you all as we navigate these troubled waters. Stay safe, stay home, and keep a weather eye on the horizon - we will survive this storm.

Saturday, 29 February 2020

Through the Storm...

We're back!

There's no denying it's been a rough year or so, as evidenced by the lack of updates on this blog and our social media channels. Captain Long John Silverside and his motley crew of bovine buccaneers may have been drifting in the doldrums for a while, perhaps even headed for the rocks - but at the eleventh hour the sails billowed, and last weekend the good ship Bullion docked once again in the safe harbour of Margate, our perennial Winter show.


Leda Entertainment has exhibited in this old English seaside town every year since 2013, missing only last year as there was no February half-term expo in 2019. Perhaps the disappointment of that had fed into the slump we'd found ourselves in. So a triumphant return to the Winter Gardens venue was just what we needed! Not this time the brightly lit, cold corridors of Dreamland; instead we were back in the cavernous space of the old theatre, the semi-darkness making the retro console screens 'pop', with chip music echoing off the walls. All that was missing was that copper-and-ozone smell of the old video arcades. We set out our stall on the exact spot of our 'breakthrough' year in 2014, exhibiting our platform runner 'Bopscotch', when such was the demand that we'd had to trawl local GAME stores to gather enough kit to build a second rig overnight! All the omens were there for a similarly epic gig this time around.


So many memories...

10am Friday morning, the doors opened, and the first few visitors eagerly approached our stand - families with children aged 8-12, our usual target market. Our hearts lifted! And they spoke to us with wide eyes, saying.... where are Fortnite and Minecraft? And our hearts sank again. But we'd have the last laugh when those same children would come back to Bullion, some several times, during the course of the day - eager to have another go on our family-friendly brawler. That MarioKart-style local multiplayer magic lives on!


Families are still our biggest audience

The team had done us proud: we had both a new character (Kanonbul, a new favourite amongst our younger players) and a new island (Chilli Con Carnage, which certainly lived up to its name!) to reveal to the public. It wasn't flawless - we had to make a few new builds of the game during the event, and notably one day we were still coding at the venue and deploying to the demo rig 15 minutes before the doors opened! We found one (fortunately rare) game-ending bug, but otherwise all the issues we spotted as developers didn't spoil our players' enjoyment of the game. The feedback was extremely positive, with many players somewhat disappointed to discover we still have a couple of years of development to go. Many commented on how great the game looks, with strong characters (thanks Matthew and Stuart!) and beautiful environmental artwork (thanks Paul J!). Sadly the venue was too noisy for the great sound work of Tristellar to get the appreciation it truly deserves. Constructive criticism from our players included confusion around the character select screen, the lack of an "escape" mechanism when being mobbed by enemies, and that the AI players would often easily beat less experienced players. The former was solved with some brainstorming on the journey home; the second is because the signature "bull rush" move is still awaiting animations for most of our characters, so had been disabled; and the final issue is the focus of ongoing AI enhancement efforts. Addressing these issues will be the priority for the next phase of development.


Chilli Con Carnage got a thorough playtest

Is that parrot debugging?!?

Good interest from press and Youtubers too...

As ever, the camaraderie between the indie developers and other familiar faces at the event made it special. The hardest working man on the UK indie scene - Quang, of Asobi Tech - was there with the incredibly cute Mao Mao Castle (launching soon!); he also gave a presentation about his extensive collection of retro game gear. Drive Buy from Glitchers drew a crowd; a neon-electric capture-the-flag driving game, impressively demonstrated on two Nintendo Switch cabinets alongside a couple of PCs. The dungeon-crawler Millions of Minions, by the young Matt of Head Tilt Games, was impressive in its first outing. And the beautiful retro-styled beat-em-up Okinawa Rush from SteveX felt right at home in the vicinity of the Double Dragon arcade cabinet and the Street Fighter 2 tournament playing by the main stage.


Certainly quality beating quantity in the indie presence!

All in all, a great event - and there are so many people to thank! The tweenagers who kept returning to our stand, bringing friends and family along, buoying our spirits. Andy, Simon and the rest of the Replay Events crew, who were great hosts as ever - and we're looking forward to future events with them. Friend of indies Trista Bytes fending off illness to hold court on stage, hosting several talks. Kim Justice and Stuart Ashen keeping watch over events, feeding back all they saw to their audiences on YouTube, the latter finding time to enjoy a quick game of Bullion with our character artist Matthew ("it's fun already, being halfway done", he observed). And our spirits were lifted by the Gaming Muso rocking out on stage; days later I'm still humming along to the earworm of Outrun's Sound Wave playing in my head.


Matthew and Ashens take on Chilli Con Carnage

Even Replay's Simon got in on the hats!

But the enduring memory of the event will be the sound of Ben cheerfully screaming "Volcaaaaanooooooo!!!" while helping our players test the new Chilli Con Carnage level. Here's hoping we rise, phoenix-like, from the remains of the past development phase, reborn from the lava.

Observations of Play Expo Margate 2020 by AI coder Paul H

Thursday, 8 November 2018

Swabbin' the Decks

To many game developers, front-end UI is one of those necessary evils that gets put off as long as possible. It's basically all the menus, options and other bits that are an absolute must-have, but are not actually part of the gameplay, and therefore perceived as "not as fun to program".

Regrettably, game front-end developer Ben P falls firmly into this category. But we decided to just go ahead, bite the bullet and, after two years of scraping by with placeholders and cobbled-together hacks, put together a UI that would not only fulfill all the game's setup needs, but also bring some consistency to places like the pause screen or when the round ends.

Updated title screen mock-up
For a long time, we knew we were going to have to provide a means whereby players could  not only select their own characters, but configure those driven by AI as well. But it was actually something we had observed at the various shows we had demoed at that prompted the decision to go ahead: if two players join the game at the same time, how do we know which player is selecting which character?

Needless to say - this would involve planning... and post-it notes.

The first big change was to ditch changing the appearance of the option buttons to indicate which was currently selected, and have a cursor instead (in the shape of a pirate's hook, natch). This greatly increased the clarity of the UI, as it removed the problem of "is this option disabled or just not selected?" We also took the opportunity to revert back to having one of the islands in this opening screen, greatly enhancing its colour and thereby its impact, and reinforced the bull's-skull-and-crossbones motif from the ships's flag by using it as a background in the options and game setup views.
Options view mock-up
We also reversed the sequence in which the game is started - previously, all players joined, and then any of them could alter which island was selected on the map. This had proved to be rather chaotic at shows, so in this new UI it was decided that only the player starting the game can select the island (and round time/game mode), with other players joining in after this - although they do have the option to cancel the game setup, should the original starting player not be able to finish the job.

Once through stage selection and setup, the view then pans through to the crew on the ship in much the same way as previously.
Updated character selection view
So we're now back to that old chestnut of what happens if two or more players joining at the same time - which we solved by stopping it from happening!

When a player joins the game, their character set-up cursor (marked "P1", "P2" etc) appears - at the same time, their controller now vibrates and a message stating "Player [n] has joined" is displayed. Following this, there is a half-second block on other players joining - hopefully not so long that it becomes annoying, but long enough for the successfully joining player to realise which cursor they are in control of.

Will this work? We'll find out at the next show!

There are also a number of other enhancements, most important being the optional random setup of AI players, and the game being blocked from starting until all human players have selected their characters - again, driven by feedback at shows where we had to restart several times following players not joining the game in time!

There's still a lot of fine tuning to be done, but the whole team agrees that this is the polish that the opening and game setup screens needed...

... but that's not to say that Ben has changed his mind about coding front end UI...

Tuesday, 21 August 2018

Longhorn Lubbers in London - Play Expo London 2018

The weekend of the 11th/12th of August saw Replay Events' inaugural Play Expo London - and given our history with their team, there was no way we were going to pass up the chance to be there! Moreover, the timing of the show could not have been better, neatly falling on the end of our standard six-month "slow agile" development cycle, and thereby providing a great opportunity to get public feedback on the latest game features...

... or at least, that was the theory! Truth be told, the last six months has been very challenging, with our "life comes first" philosophy taking on a whole new depth of meaning; the entire plan for this phase of development ended up being completely re-worked, and it is a testament to the team that we managed to get at least an alpha version of the boss battle up and running in time! Even at the last, there were a few gnarly bugs that ended up being worked round as opposed to fixed, giving the demo build a feel slightly reminiscent of the original GEEK 2017 pre-alpha version.


The view from the booth

The new "Defiance" mode got a good workout

So with no small amount of "hope we don't have anything too embarrassing happen!", we hit the road to Printworks, Canada Water, London to set up... arriving in the middle of rush hour - not our finest bit of planning! On top of that, unprecedented rainfall the night before had caused some flooding in the venue; we arrived to find the Replay crew re-working the floor plan, once again proving their mettle in the face of difficulty. But once we had actually got there and found the new location of our booth, setup went smoothly and we were as ready as we could be for the weekend ahead.

Kick-off on Saturday morning saw a solid flow of people through the stand - and this pretty much set the tone for the entire show; consistently busy, but not as crazy an Play Manchester last year had been. Of course, at Play Manchester, the indie aisle had been right on top of the entrance to the show! Once again, the feedback was great, with many players having a go at the new "Defiance" boss battle, and despite our concerns, the build held up well, the only new bug being an irritatingly sporadic issue in which the game would lock up at the point of returning to the title screen - a little embarrassing, but fortunately pretty un-intrusive when it came to the actual gameplay experience.


Good to see Jupiter Hadley again

Sadly no pirate cosplayers playing this time

Having four of us on the stand definitely made life a lot easier - both Matthew and Stuart were on-hand (Stuart's very first time exhibiting! Bless!) to get first-hand reactions to their artwork, with favourable comparisons to the likes of Spyro, Crash and Jak & Daxter. The extra manpower also allowed everyone to take some time out to go and play, and check out the other indies at the show: once again, we found ourselves in the company of childhood heroes, with Jim Bagley of ZX Spectrum fame on one side and Huey Games - the next generation of Hewson - a couple of booths down on the other, plus a number of familiar faces and some new ones to boot... as ever, the indie camaraderie was strong, one of the great things about shows such as this.


Baggers plays Bullion!

So once again, a very enjoyable show with plenty of positive feedback and ideas to take forward as we move into the next phase of development. And with the extended team now feeling a lot more solid, we're finally beginning to think ahead to when we want to actually release this thing we're creating...

... ultimately, what happens over this next development cycle will be pivotal in setting that date!


A motley crew if ever there was one...

Sunday, 24 June 2018

Going Krackerz!

The Bullion team is growing again! We are very pleased to welcome aboard new crew members...

This has been a huge boost to the team - we have been wanting to add more artists to the line-up since GEEK 2017, and as with Matthew and Ben before them, we feel very lucky and privileged to be working with such talented people.

On top of this - as those who have been paying attention to our social media will know - we will be exhibiting Bullion at Replay Events' new Play Expo London in August! We are very excited about this, and since our new artists came over as being so enthusiastic, we decided to drop Stuart in at the deep end and give him the first Bullion boss battle to design... which ended up with Cap'n Krackerz - an undead pirate parrot!

Raised from the dead to bring the wrath of the gods down on our bovine buccaneers...
Of course, this brings with it a host of new challenges, not least being how to integrate a boss battle into a game where the basic idea was to grab the most treasure in a timed round...

For the boss battle we decided to do away with the timer, but otherwise, the basic premise remains the same: be the one with the most treasure at the end of the round and if the whole crew wipes out, the round ends with no winner. To push the players towards fighting the boss, we set up the boss's health bar with a number of units - the player who scores the hit which completely depletes a health unit gets a big, fat treasure reward which - unlike the smaller treasures - cannot be stolen by other players. The stick to this carrot is that the boss's attacks will gradually increase in damage over time, so the longer the boss is alive, the greater the chance of the crew wiping out becomes. So once again, our players are faced with the choice: do they collect treasure? fight each other? fight the boss? Compete or collaborate - the key concept behind Bullion's gameplay.

"BFD"s (big fat diamonds) drive both the boss sequence and the player actions
As expected, the boss battle has brought a host of new coding challenges: Krackerz has multiple "special moves", including summoning minions and projectile attacks (what, you thought that cannon under his arm was just for decoration?) which his AI has to be capable of choosing, and then the game front-end has to deliver. The latter of these has actually proved a lot more straightforward than anticipated, largely thanks to the massive rebuild that took place after last year's GEEK - once again, time well spent! Similarly, following the debut of our computer-controlled players earlier this year, we are expecting to see similar returns on the planning and effort that went into building the AI framework.

Meantime, Deanna has taken on the job of taking the Salty Swamp stage from the current placeholder-heavy demo version up to production-ready. Building the island arena stages presents its own unique challenges, which we will be looking at in a future post - along with some before-and-after and other showcase images.

So - exciting stuff! And while we don't want to count our parrots... sorry, chickens! before they've hatched, we're pretty confident we'll have a boss battle to show off at Play London... and maybe a few other additions besides!