M. Brandon Miller dot com


  • Blog
  • Games
  • Code Snippets
  • About

Pixel Pens and Programmed Paper

2/28/2023

 
The VR spaceship post lead me to recognize that I haven't said too much about what I do outside of my professional work  Having just wrapped up a deep dive into the subject of wizards, it may be a good time to segue into talking about the world of pen-and-paper RPGs.

I had dabbled in pen-and-paper adventures back in high school, but I wasn't part of a long-running campaign until I joined one with my friends from 360Ed.  I must say, if you ever get the chance to have a friend who is a professional game designer run your RPG adventure, definitely jump on that.

Meanwhile, I was encouraged to try running some content of my own with some friends on an internet forum.  Oh, how long ago was that, then?  Looking at the map files, this was around 2009, so still in the midst of the 360Ed era, for me.  I guess even then, forums in general were kind of on their way out.  The group did eventually to Skype and eventually Discord as the landscape of the Internet shifted.

But setting aside the changing landscape of the real digital world, let's talk about the imaginary world I attempted to create.  It was suggested that I "D&D in Space" as a sort of modern take on Spelljammer, and despite knowing very little about that classic setting, I used that as a jumping-off point for our first adventure.

I would up creating a spatial anomaly containing a floating archipelago of locations that for one reason or another had become lost in time and space, such as a D&D take on the Bermuda Triangle, a sinister castle banished by a party of heroes, and a city erased by a time paradox.

I illustrated this fairly simply in a Javascript-based map tool called . . . oh, just MapTool, actually.  Here is one of one of the islands as an example.
Picture
Dungeons were a similar mix of primary colors and basic circular iconography.  The MapTool provided assistance with lighting and vision while I moved around big circular icons representing characters and points of interest.

Here is one of the more elaborate dungeons, in which an underwater shrine has been torn at by spatial anomalies that have caused it to intersect with other environments.
Picture
However, I wanted to experiment with something a bit more visually clear and fun.  I didn't have a big box of figure tokens or even a collection of fantasy artwork, but I did have a fairly extensive knowledge of retro video games, which lead to an idea.

Near the climax of 'season one' of the campaign, the party invaded the fortress of the primary antagonists.  One of the villains had created an intelligent magical artifact that had unexpectedly gained self-awareness during a prior story arc.  They then sought to re-create this project in order to create a sort of magic-based AI to control systems within their fortress.

When the party stepped onto what appeared to be some kind of Teleporter pad to travel to the next floor of the ship, they instead found themselves pulled into the D&D equivalent of a Tron-like scenario, in which they were transported it the Magic AI's realm of information.

I used this as an excuse to re-create a simplified caricature of the campaign thus far using retro video game graphics to represent the world as seen via this information-based magical creature.
Picture
Taking assets from Dragon Quest, Final Fantasy, and many others, I assembled this map, which was a big hit with the players.  It was both visually interesting, and it was a fun way to look back on where we had been as this story neared its' conclusion.

Oh yes, the higher fidelity room there was hidden from the players.  There were a number of secret back door terminals they had to find in order to escape.  They were all hidden in very classic sorts of retro-game ways, so everyone was quick to play along and find them all.
Picture
I liked the clarity afforded by the visual style so much, I wanted to keep using it outside of this magical information world, but I needed a way to show that our heroes had returned to reality.

I decided to borrow some 16-bit assets from Final Fantasy IV to create the remainder of the final dungeon, in part because FF4 contains both assets for a fantasy castle and a giant ominous computer core that can be easily assembled.
Picture
When it came time for our next adventure, the retro style returned in full force, resulting in amusing things like a school of teleportation magic with Mega Man boss doors outside it's lab.  Eagle-eyed viewers may also be able to spot some NPCs who are clearly Touhou Project characters.

Since the NPC tokens were basic 16x16 sprites, I would often modify and customize the retro assets to give characters more unique tokens.  While I'd never claim the title of pixel artist, dabbling in these basic edits and learning the actual palette limitations of the NES would inspire me to create placeholders for all the projectiles and explosions in the final Phyken Media prototype game.

Years later, I would try an even more elaborate visual style in an adventure that was even more strongly influenced by video games, but I'll save that tale for another time.

Legacy of the Wizard: Part 3

2/27/2023

 
The next game to be released during my time at Phyken Media would see our collection of Wizards putting on their thinking hats to engage in tactical turn-based adventures.  On my side of things, I had to gear up my mind in order to dive into the world of online multiplayer. 

I began with a local mode in which players could pass a device back and forth to take their turns, but soon I was working with our server engineer to send turns of tactical wizardry across the internet.  Maintaining the state of the battlefield and describing each player's actions accurately was the key.  There were numerous hitches and pitfalls along the way as we added new features that intervened in the order of events.

Keeping with the commando half of the theme, Wizard Ops Tactics played heavily with the idea of fog of war and information control.  Drawing inspiration from the Advance Wars series, player's best laid plans could be interrupted if they encountered an unexpected foe in the mists.

Wizard Ops Tactics sought to award players for enacting elaborate schemes through it's resource management and combo system.  A player's whole squad has a combined energy pool that fuels their various abilities and they can also gain energy by performing actions.  However, you can queue up as many actions as you wish before executing and each successive action grants a multiplier on energy gained via landing attacks.

The idea here was to create a risk-reward system where executing more actions at once can grant more power, but if the plan runs into an enemy trap a few steps in, the whole operation could go off-course.

I also believe there were some stage-based super abilities that could be used by the players themselves, complete with a cut-in of their chosen avatar.  I had forgotten about this until I went back to watch the trailer.  However, as soon as I saw the Crab Battle on the beach stage, it all came flooding back.

A sequel to Wizard Ops Tactics was planned that sought to streamline the gameplay and the team-building process.  The base game used a point-buy system where each unit and weapon had a cost for bringing it in to battle and if I recall correctly, battles could take place at various tiers of power which would limit the scope of each player's forces.

The sequel had army templates that players could unlock that would let them slot in forces and items of various strength in order to compose their squad.  The sequel also removed the fog of war mechanics, but it kept the capability of some units to sneak around unseen.  Overall, I believe it was set up to be more intuitive while keeping much of what made the game fun.

Oh yes, in addition to being the first online multiplayer title I worked on, this was also my first truly free-to-play mobile title, as it featured in-game purchases to unlock booster packs of units and the like.  While I contributed a great deal to the design of both Wizard Ops titles, I was not so adept at  interweaving the game with the business side of things.  Thankfully, I had a team to help wear the hats that fit poorly on my head.

Legacy of the Wizard: Part 2

2/25/2023

 
So when last we spoke, I was reminiscing about adding spread-shots to the early Wizard Ops Chapter 1 prototype.  It actually took a few iterations and some playtesting before we arrived a the final system of arcane armaments, but ultimately players could bring in two weapons swappable with a button press, and there were a variety of weapons that could be obtained either from a store or as drops from enemies.

This included various fireball-throwing wands and homing magic missiles, as well as more conventional weapons like a rifle and a blunderbuss-shaped shotgun, which were a rare drop from the ordinary enemy soldiers.

All enemy shots manifested as blue orbs, but when the firearms were in the player's hands, they were actually a hitscan weapon.  However, I drew a tracer projectile on-screen to help give it more visual flare.  If I recall, the tracer is actually the fireball sprite stretched extremely thin.

I had forgotten until writing this that the guns ejected shell casings with little stars on them.  That's probably terribly anachronistic, but it is a Wizard doing it, so it's probably best not to think too hard about it.

On the other hand, particle effects were definitely something I had to think on throughout the project.  It actually began with many more traditionally animated sprites, but after much experimentation and a trip to a Unity conference, I found that particle systems had better performance even on lower-end mobile devices.

Thus, I took a lot of the existing art assets and attempted to repurpose them into suitably dramatic displays of particles.  I still probably went overboard in a few places, but it was certainly fun.
While the world has yet to see the continuing adventures in Wizard Ops Chapter 2, that doesn't mean there wasn't plenty of post-launch support for Chapter 1.

In addition to developing tools for designing levels, I took a crack at designing quite a few additional challenge stages and other additional levels.

I also began to try to break the rules of the game's early stages, adding levels that scrolled in new directions and repurposing enemies in new roles. 

As the art team at Phyken Media grew, we saw a wide variety of visual  improvements as well.  Enemies that were once programmer palette-swaps gained distinct appearances and the levels themselves gained fidelity and character.

New levels also offered opportunities for players to gain new weapons, which meant engineering new behaviors for them.  In 1.3, we saw the addition of the Flamethrower Wand and the 'Dirigibomb', a blimp-shaped missile that exploded into a lingering cloud of flame.

These required damage-over time status effects that could be placed either on enemies or on the field.  Stacking these together was a potent combination.

However, the peak of additional Wizard Content was yet to come . . .
The desert stage broke all the rules.  It was the first stage to feature a transition from ground combat to aerial combat and then back down again.  It also featured a sloped section as the player transitioned from one vertical plane to another.

It was also intended to have a much more fast-paced dramatic tone to it.  It felt like it was laying the groundwork for a more dynamic adventure with bigger set-pieces.

This stage also had a new kind of boss enemy, representing the Wizards' nemesis in a giant mechanical worm.  One of the early ideas that drove our imaginations about Wizard Ops was the idea of doing a military commando story where the tanks and helicopters were based on Da Vinci's renaissance-era designs. 

This naturally lead to the idea of an antagonistic force that was attacking a medieval kingdom using whimsical renaissance-inspired military hardware.  In particular, I like the Da Vinci screw being applied to the airboats that drift across oceans and swaps as they fire on the player.

Next time, we'll take a look at the Wizards' next adventure, as they take a more strategic approach to explosive mayhem . . . 

Spaceship Side-Story

2/24/2023

 
I've mentioned in a few job search cover letters now that I've been working on Unity VR environments in my spare time, but this purported portfolio has nothing to say on the matter, so I thought I'd fire up a quick post to cover what that has entailed.

Over the Thanksgiving Break, I obtained a big package of assets from the Unity Asset store, since there was an extended Black Friday sale of sorts.  The particular assets are available here.

I decided to use one of the big spaceship shells to create a massive interior space full of areas we could use for assorted internet shenanigans.  To give an idea of the scope, here's a look at the vessel in editor with the interior overlaid on top of it:
Picture
However, actually using something of this scope as a VR Chat world was kind of a performance nightmare.  This sent me down a rabbit hole of learning about how Unity handles baked lighting and occlusion culling.  Sadly, as I am not much of a 3D artist myself, I was ill-equipped to fix overlapping UVs when the baked lighting began to cover certain walls in bizarre artifacts, but I had a fair amount of luck with culling.

The bowels of the starship were filled with editor-only gray cubes that ensured that as few rooms as possible were visible from any given point on the vessel.  As a result, the ship became playable enough for us to hang out within over the holidays.

However, the culling wasn't sufficient for taking trips outside of the ship.  For that, I had to implement a more crude form of virtual airlock.  While in the hangar, you can press a switch that disables all the local objects in the middle of the ship before opening the bay doors.  It's not perfect, but it let me ride a little hoverbike around the body of the ship, so I'm counting that in the win column for now.
Picture

Legacy of the Wizard: Part 1

2/24/2023

 
I've rather enjoyed a lot of aspects of working on mobile titles, but one thing about the platform that I do find frustrating is the rather ephemeral nature of game releases.

I've spoken a great deal about unreleased prototypes from my time at Phyken Media, but I never actually discussed the grander projects involving Wizards, since they were available to see on the various app stores when last I wrote.

While the mists of mobile gaming history may have enshrouded these martial mystics, their Youtube channel can yet be scried out, so let's take a look back.
Here's a look back at what was intended as the first chapter in a grand tale of martial magecraft.  We can see the levels from fairly early in development and their progress towards the final release.

When I'm able, I always like to get the gameplay on-screen and working with whatever is on hand so that we can begin iterating on the look and feel to make it as fun and engaging as possible.

However, even these early glimpses are not the first iteration of this title.

The Mystery of Chapter Zero

Wizard Ops was born from a number of FIEA Alumni engaging in an idea-mapping exercise, which determined that there were a number of quirky connections between the idea of being a Wizard and being an armed Commando.

Mainly, the idea that both were ostensibly practitioners of well-guarded secret techniques, but also both were most likely to be portrayed in fiction as a lone man standing in the midst of a series of massive explosions.

This lead to the development of a prototype that I will call "Chapter Zero" in which the user controlled all four wizards in a side-scrolling mission.

The gameplay was a mix of turn-based and real-time action.  It handled sort of like the Worms series mixed with the ever-popular Angry Birds, in which you would activate a character and have a limited degree of movement on a side-scrolling stage, at the end of which you would use one of your spells, causing all sorts of physics-driven mayhem.

The idea was that the Wizards would be charged with all sorts of fantasy-flavored tactical operations, like rescuing npcs or toppling castles, and the player would have to get creative with burning, freezing, and smashing the  environment in order to accomplish them.

However, I struggled with optimizing the physics, and level designs proved difficult for the team to consistently envision.  We needed an idea where we could prove the core gameplay was fun before venturing any further on this quest . . .

Pursuing the Core

For my part in this mechanical exploration, I turned to a wide variety of classic arcade games looking for ideas.

With the idea of whimsical special operations already on my mind, I looked back to one of the more obscure Konami four-man licensed arcade titles, one that tapped into some of my oldest childhood memories of imaginary military operations . . .
I had seen more traditional vertical and horizontal-scrolling shooters translated to the mobile platforms with ease with games like the Unity-driven Air Attack and a variety of ports of classic Cave shooters.  However, I had yet to see a title take advantage of the 3D engine for this sort of behind-the-back shoot-em-up approach.

However, it still could be controlled simply by touching and moving in four directions, so as long as the player had enough screen space to see around their finger, it could work.

Since it's a simple matter to give a Wizard the ability to fly, it would be possible for some stages to follow the Konami G.I. Joe pattern of having a character move left and right and move a reticle vertically, while other stages could allow for more freedom of movement, similar to a title like Space Harrier.

Days later I had our Wizard  marching forward and firing placeholder bullets, and it didn't take long to see that there was a fun core idea there.

However, when I looked back to another Konami commando for inspiration, and tried putting in a Contra-style 5-way spread gun, I quickly discovered that optimizing for low-end mobile devices would be its' own arduous quest . . . 

 . . . but then I learned about object pooling, so thankfully the 3 and 5-way fireball spread wands did make it into the final game.  

Under Construction?

2/23/2023

 
Remember when websites used to say that, and they had the little gif of the guys at work?  Speaking of really old things, remember when I used to update this blog?

The pattern of my personal website's updates would seem to indicate that if I'm posting, then that probably means that I've begun another job search.

That's pretty much accurate, but before we focus on that, let's talk about where I've been since the last time this blog saw an update . . .
I've been spending time with this long-running board game mascot, and, more importantly, a fantastic team at SciPlay in Austin.

I had a lot of fun working on the city-building meta-layer surrounding these games of chance and an assortment of other features.  I'm not sure if I'll be able to serve up anything for the Code Snippet section in the near future, but I will say that spending 6+ years working on a live game with a big team definitely helped me expand my horizons.

I'll be spending some time in the near future cleaning up a vast assortment of broken links and updating both sizes of resume, but I'm also hoping to share any personal projects that get going to keep the coding skills sharp as I awkwardly mix a metaphor of passing GO and advancing to the next round of life.

    Archives

    March 2023
    February 2023
    June 2016
    May 2014
    January 2014
    February 2013
    May 2010
    April 2010
    March 2010

    Categories

    All
    Code Samples
    Fiea
    Master Plan
    Rapid Prototyping
    Video
    Xna

    RSS Feed



Web Hosting by PowWeb