The Road to Release

Greetings everyone, we have received our final approval from Steam and Caesar’s Revenge is set for release on August 30th! This update covers some of the work we have completed leading up to release.

Achievements

The game will launch with 41 achievements. Some track the player’s progress towards important milestones, while others are earned through things like completing time trials, finding secrets or by discovering creative ways to dispose of enemies. We have opted for achievements that support the game experience and encourage exploration – there are a few easter eggs but we have stayed away from anything too tedious. Now that the system is set up it is easy enough to add more in the future.

Time Trials

We have set the time trial times for all of the levels in the game. We hope that they are challenging but also possible for the average player to achieve. We did experiment with setting some really tough dev times but decided that they should be fun for most players to try to beat (also because there is unlockable content based on them). We do expect world record times will be a lot faster than what we have settled on but we are happy to leave those to the speed running community!

Shield Spearman Balance

Some of the most frequent feedback from play testers was around the difficulty of the shielded spearman enemy. We’ve made a number of changes to make this enemy type more manageable:

  • Spearman collision mask reduced to make them easier to strafe around.
  • Spearman vulnerability angle increased, making it easier to hit them around their shield.
  • Spearman range halved – this was very over tuned and allowed them to hit the player from an unfair distance.

Beyond the direct nerfs, the arrangement of the final game will better ease the player into these encounters as there is an introduction and a level before the point that the demo started.

Player Spear Range

We have increased the range of the player’s spear by 25%. This should make a more interesting choice between the spear and the gladius while making it easier to fight mid-range enemies.

Collisions


The player collision code has been improved. Now the player will slide around enemies much more freely. This makes it easier to move in tight rooms and also makes circle strafing much easier.

Projectile collisions have been rewritten to be more accurate. This also solves a few bugs that were present (though not obvious) that could cause projectiles to miss enemies at close range, and another bug where projectiles could travel through walls.

Usability

Several updates have been made to make the gameplay experience smoother and more customisable. Some of these features have been in for some time (such as remapping controls and sensitivity) but there are some new additions too:

  • Maximum field of view increased by 30% (for those who like to play in a fishbowl)
  • Camera/head bobbing can now be disabled
  • Options menu can be accessed from the main menu (before the game starts).
  • Save files now compatible with Steam Cloud
  • Game now pauses when the Steam overlay is open if the player is in a level
  • Game now pauses when controller disconnects

Lever Glow

We are not opposed to players needing to explore but it is frustrating if you find where you need to go but miss the lever to open a gate.

Levers are often signaled by props, banners, and level dressing to draw the eye to their position. We also tried increasing the texture contrast but found that due to the way fog fading works, it didn’t make much difference.

We have now added a glow to the levers to make them more obvious through the fog. To keep it tasteful the glow reduces when you are close – this should help guide players through levels without too much hand holding.

Armor UI

The previous user-interface for the armor bar was quite confusing – it was a gray overlay that extended over the health bar. In theory this made sense but the way it was implemented looked more like negative space – as if the health bar was now depleting from the opposite end. We have replaced it with a chain mail overlay which is much more thematic and easier to read – a neat advantage of the chainmail is that you can also see your standard health bar through it.

Traps

  • The spiked barricade hitbox reduced by 33% and changed from a rectangle to an ellipse. These static traps are meant to zone the player to a degree, but the 2d sprite made distance hard to judge so they have been made a bit more forgiving.
  • The wall spike traps (found in Library) have new collisions to make them feel better (and fairer). Before, running into the spikes at any point would damage the player. Now, spikes that are already extended block your movement but don’t do damage – health is only lost if the player is hit by them while they are extending.
  • Fixed a bug where grinders didn’t register as trap kills for the achievement
  • Fixed bug where boulders would deactivate off screen and then would start rolling again if the player reapproached them.

A Note on Gameplay

The game description is updated to include the phrase “die-and retry” to better communicate the game loop to potential players. While it is a retro fps, the design does deviate from the more explorative, ‘campaign style’ shooters out there. We want to ensure that we attract players who want this kind of experience. Below is some of the rationale for the design:

Each level starts the player without any weapons (though one is normally provided). This allows us to highlight different weapon compositions and create more varied level designs (eg. a bow only level, or maps with limited or excessive resources). It also helps with balance and time trail times since levels can’t be trivialised by hording ammo. This is also important because most FPS games can throttle powerful weapons through ammo pick-ups which is tricky when many of the weapons are melee.

Levels don’t have checkpoints because the loop of the game is about learning the maps then completing them in a single run. Once learned, most levels are only a few minutes long, so this focus isn’t as daunting as it first appears. Secrets are also hidden throughout levels to provide resources to make encounters easier if players want to take things at a slower pace (sometimes these include dramatic boons like health regeneration or extra lives).

We hope that this new phrasing helps to indicate the kind of gameplay experience that the game offers. It is also worth noting that the demo jumped to levels throughout act I and while the ‘die-and-retry’ aspect is still relevant, the final games difficulty curve is a lot smoother.

Full game content

We have achieved our goals for release with 33 finished levels, 20 enemy types + bosses, a ton of traps, weapons, tile sets, bonus content and an original soundtrack. This project has been in development for a long time, and we are excited to see it finally release. Thank you to all the supporters who have stuck with us throughout development and followed the project’s process over the years. We’re looking forward to the August 30th release!

Caesar’s Revenge Demo Launches at Steam Next Fest

Today, we break our silence not just with whispers of progress but with a clarion call to arms: our demo is launching at Steam Next Fest! We are hoping to give a taste of the game before its eventual release this year. If you have been following for a while, please consider wishlisting the game to help boost our visibility.

https://store.steampowered.com/app/2166150/Caesars_Revenge/

A Glimpse into the Demo

Streets of Rome: Wander the alleyways and avenues where the shadow of the Senate looms large. Here, the heart of the empire beats with danger and opportunity, setting the stage for your quest for vengeance.
The Library: Knowledge is power, they say, and in the hallowed halls of the Library, you’ll find more than ancient wisdom lurking in the shadows. Prepare for a battle of wits and weaponry.
The Aqueduct: An engineering marvel becomes a battleground on the Aqueduct. Here, water flows like the blood of your enemies—relentlessly and without mercy.

demo_gif

We invite you to step into the sandals of a resurrected Caesar, seeking revenge on those who betrayed him. The demo is but a taste of the vengeance to be had! The levels in the demo are set in Rome and are drawn from the first act of the game. The full version will have 30+ levels that span across the ancient world with a broad range of enemies, traps, and weapons within them.

Live Streams

As part of the festivities, we will be doing two live streams to play the game and chat with the community:
8:00pm February 5th EST
3:30 pm February 11th EST
We will be playing the demo but we may delve a bit further into the game to give a sneak peak of what is to come. Both events will stream from our Steam page.

Devlog XI: The Excess of Rome

Ancient Rome was excessive and so too is the notion of making a 3D game like this in Gamemaker. This post explores some of the excesses of our processes such as boss battle design, new effects, props and music updates. A lot of these aspects could be simplified and still suffice under the guise of being retro but we hope that the depth and attention to detail will be visible in the final game. As a final excess, this update is even longer than usual!

Boss Encounters

Originally we didn’t have plans to include bosses in the game – instead there would be the gradual introduction of new enemy types to keep the gameplay fresh. Economically, this would make for more interesting encounters since we wouldn’t be designing single use bosses that only appear on one level. Additionally, a lot of games don’t have very fun bosses – scripted events, weak spots and cheesy sequences can be tedious, lazy designs. Even worse, damage sponges that are essentially normal encounters with higher health pools can be even more uninspired. Doom didn’t really have bosses, Quake barely had them and so why would a retro fps need to stray too far from some of the best in the genre? Well, because they are a ton of fun. Boss encounters should be a climax and lazy designs are a let down – if you have fun levels but a boring boss, it would be better not to include one as you are signalling a peak to the player but delivering a disappointment. Bosses are great but are also risky if implemented poorly. The prior criticisms listed about boss stages still stand. We have endeavored to make interesting confrontations that are fun to play and continue the frantic pace of the rest of the game. Since levels are fast and full of action we didn’t want to do any ‘puzzle bosses’ that slow things down. Boss fights should be frenzied and promote constant movement and reactions that toy with the standard rules of the game. Sequenced attacks turned out to be a good way to evolve these challenges since more standard move and attack behaviors of normal enemies felt a bit mundane. To avoid repetition the variety of attacks as well as their orders are varied with good flow between states. At this stage we have four bosses designed and for the moment are revealing the first encounter: The Cyclops.

The premise of the Cyclops is that he is slow moving but has incredible range with his club. He also has a theme of explosives and throws fire pots while the senator the player aims to assassinate is mounted in a basket on his back. The player enters this stage with the sling as their weapon (a la David and Goliath) and must whittle down the boss with its stones. The superior approach however, is to throw a stone at one of the pots the Cyclops hurls at the player: this can be done with pots that miss and remain on the stage but a skilled player can explode them as they leave his hand. This theme is continued with flaming pigs that can be baited and detonated within his radius. This makes the fight an interesting balance where a player can slowly brute force the encounter but also make more risky plays to dispatch the enemy (explosives hurt the player too after all!). Variability and progression are created by allowing these attacks to evolve over the course of the stage: initially only one pot is thrown but it later evolves to two or three.

    • The main combat states of the Cyclops are:
    • Chase (move towards the player
    • Club attack (short range sweep if the player gets too close)
    • Throws explosive pots (various quantities)
    • Sounds his horn (to summon explosive pigs)
    • Quake slam (club slams the ground and large radius, a ‘quake’ moves out in a cone)
    • Collapsing rubble (hits ceiling with his club, rubble falls on the player’s position)
    • Tornado attack (spins with his club, very gamey)

Each phase involves a sequence of these actions in various orders and durations to create learnable repetition with enough variety to prevent the encounter from becoming stale. Phases progress as the Cyclops’ health gets worn down so players will combat sets of behaviors as the battle continues. This allows for the more elaborate states to be saved for later in the stage to build tension. Ordering attacks differently can create interesting interplay as well: a pot throw followed by a chase makes it easy to dodge and damage him but that same throw followed by a club slam is more difficult because there are now multiple things to dodge with different timings. Additional dynamics are created when the puffs from slam attacks push existing pots towards the player. To keep ammo stocked, the close range club attacks spawns stones up from the ground, forcing the player to get dangerously close to fuel their ammo supply. In many ways, the elements of this boss are simple on their own but it is the variety and relationship between each of them that keeps the stage interesting. There is an enormous aesthetic value in creating an encounter like this and we are happy that as well as being a cinematic moment, the fight itself is engaging and fun to play.

This design may stand out as a departure from other enemies that are more grounded in reality – the premise of the game is surely fantastical but beyond Casear’s resurrection and perhaps the priest enemy type, everything else fits comfortably into a low-fantasy world. After designing a number of somewhat realistic enemy types, scaling encounters into later levels starts to get more difficult. It is definitely possible to continue adding stronger looking soldiers with different weapons but the spectacle of Greco-Roman mythos was hard to resist! As players progress towards the end of the game they will start to encounter opponents that are more mythological in nature.

Matt
With the addition of bosses came some animation challenges. So far the entirety of the game’s characters by Ivan and creatures by myself, have been animated in FK (forward kinematics) a style of posing for animation. This method is generally slower and thought of as more primitive than IK (inverse kinematics) which is more modern and widely considered the easier way of posing a rigged character for animation. The choice for completely FK style workflow was chosen initially for speed. Simply FK is faster to set up. And this extra control that IK would give didn’t matter at the low resolution that the characters are rendered at. Would this hold up for bosses with bigger sprites? More challenging but yeah. FK was born of speed but when it got slow it stayed for the style. Personally I feel while actively working in FK, the kind of style the animation gives off feels more in line with the game’s aesthetic. A more primitive method of posing to go with the retro and technologically primitive art style. This idea is what enforced FK in my mind as it provides a more accurate animation style that is faithful to the retro FPS genre.

The idea of applying restrictions like this is something I have been fascinated with throughout the development of the game. It is amazing how much impact doing something a particular way or with a restriction will effect an outcome. This process can be exploited by choosing the same restrictions that your game’s predecessor had, resulting in an output that feels much more faithful.

STATUES

Matt
When we think of the civilization that was Rome in its entire greatness and vastness, an image of culture appears; a culture full to the brim with achievement and advancement, an ancient metropolitan scene painted in our mind. So to this I propose that in any form of media, Ancient Rome deserves fair, just and uncompromised treatment in its representation, worthy of such a legacy. An upgrade to the density of detail in the form of set dressing is in progress for our levels. This does not compromise the retro fps style of the game but breeds life into the settings and makes what were once cold empty streets bustle with the many artifacts that illustrate the great Excess of Rome.

Ivan
Ancient Romans chose to venerate their heroes and historical figures in marble and bronze. Bronze being the cheaper alternative, often a direct copy of the ancient Greek statues. Romans had a unique combination of scientific progress laced with superstition and strict religious observance. Many of their myths had been borrowed from Greece being that Aeneas, one of the heroes of Troy, was a prototypical patriarch of Rome. As much as Rome loved pomp and grandeur they also strove for ruthless efficiency in military conquests, art and architecture. To represent this in our game over the last several slow months of development I have been toiling to create a base mesh to use to create Roman statues. The method of getting the statues into the game changed as the tools we use have been updated. A combination of Blender and 3D Coat to pose sculpt, auto-retopologise and bake the models, with the final step of using a 360 render scene to export the 8 or 16 sides into a sprite sheet.

MUSIC

Jordan
I’ve written plenty about other tracks for the game but haven’t taken the opportunity to delve more deeply into the process. This new song, ‘Blood White’ is my favorite so far so I thought it would be interesting to take a look behind the scenes.

This particular track was played on a Ltd F-250. Given the thrash metal focus of the soundtrack, most of the songs have a focus on guitars in terms of composition with other instruments augmenting but never dominating the sound. All rhythm guitars (red and orange) are double tracked to add heft to the progressions as well as a better stereo image. Double tracking is a technique where the same part is recorded twice, both takes tightly in time. For the end listener, it may sound like a single guitar but the result of this method is much richer, wider and allows the producer to mix and amplify each signal separately (in this case to create a heavier rhythm section). In this song there are a few separate lead guitars (yellow) but they don’t overlap too much and exist mostly for different amp and EQ settings. Some of this could be automated but I find it easier to work on a few different lanes to quickly test newly recorded parts under different aesthetics. My workflow involves recording a raw signal input from the guitar through a usb preamp, then using a vst to amplify the sound. In all of the songs for Caesar’s Revenge I use Amplitube 3 for both clean and distorted tones.

Although I have previously enjoyed recording bass, I have moved to using a virtual instrument (MODO Bass) to speed up recording since we need a number of songs to flesh out the soundtrack. Initially I thought that if I were doing an album in and of itself I would go back to live recording but I’ve enjoyed this process so much that I plan to stick with it for other projects. The bass line (green) is also enhanced by a distorted synth playing the same part to shape the sound further. In the final mix you barely hear this synth but it does a lot in providing dynamics to the sound without dominating it to a point that the track starts to feel electronic. Drums on this song are also virtual (Steven Slate 3). A good sample library is essential for writing this kind of music because I want it to sound believable as real instruments. The other tracks floating around the project are various pieces of ear candy, feedback noise, atmosphere and samples. These additions help to build tension and stop repeated parts from sounding too identical.

In terms of writing process, I normally start with a collection of guitar riffs and try to arrange them in ways that make sense. Since the player will hear these songs repeatedly I am also careful to move the composition forward without lingering for too long in one section. In a stand alone song the idea of a long built up repeated part can work really well but the sporadic stop and start nature of the game demands fast riffs and quick changes to keep the pace flowing. In this sense, most of the songs for the game have more riffs than I would normally be inclined to include but this is essential given the amount of time players will hear them for. Interestingly, it also gives the songs a unique style in departing from more traditional structures.

PROPS

Matt
In addition to the introduction of statues came new pieces to dress the scenes: over 300 original 3D modeled and rendered Roman themed props. The initial 300 are committed to dress Act I, with some more unique and thematically suited assets planned in addition for the adventures abroad in Act II and the wild ride of Act III. The new props feature many of the generic artefacts known to categorise the period including vast varieties of pottery, baskets, linens, scrolls, books, candelabras, bronze vessels and ornaments, weapons stands, foodstuffs, both musical and non-musical instruments, armor and weapon stands, glassware, straw, farming, storage and utility items to name a few. Despite this not feeling like a big change gameplay wise, what it does impact is the aesthetic, feel, depth and quality of exploration in the game.

Additional discussions also took place on whether these props should be destructible. There were a lot of factors that played into our final choice. In the end we decided no. Having non-destructible props means we can make more props, so this benefits the dressing of the game and improving its settings. This choice also means that our environments will keep their visual integrity and look like Rome, rather than rooms full of destructible rubble. We already have destructible exploding and fire pots that allow from more combat opportunities and the fact that these do destruct in comparison to the decorations makes their purpose clearer and their use intentional. The nail in the coffin was our intention for the gameplay, Ceasar’s Revenge is a game about combat and speed. Generations of games have taught us to smash props in search of reward; this is the opposite of combat and speed. We do not want to encourage this instinct to smash, that propels players to systematically destroy every prop in the level in a fruitless search for something that is not there. This distinction proves to be a very important choice to guide the kind of gameplay experience we intend. And is why the decorations are purely aesthetic.

EFFECTS

Ivan
As most of you know, in the first person games turning your enemies into a pile of guts and gibs has been a staple of the genre. This led us to create one of the best and convincing effects in Caesar’s Revenge. Currently in the game there are a number of ways to dispose of your enemy to make them gib, one method is shooting explosive pots with any projectile. What we used to create this effect was just Blender 2.8, a combination of particles and also cloth. Due to the limitation is frames that we have the timing of the simulation always gets adjusted in post. A simulation is created, rendered out, sped up and cropped.

One other advantage of large explosion is that it hides the pop transition from enemy to gore sprites. On the aspects of timing I had noticed how much of a drastic impact the small rebound of the gibbs on the ground had on the overall effect. With our game we are dealing with very few frames for each character and animation, we also need to convey and pack as much information as possible into very few pixels. This is where the 3 frames of hitting the ground, bouncing up slightly and landing back on the ground show that this matter has a certain spring and restitution quality. Coupled with a the blood update from the last post the effect as a whole is rather convincing.

One of the enemies of Caesar are the noble priest class who must have naturally colluded against him during the assassination. Now that Caesar is back the Roman priests use their dark arts to raise the dead, provided the enemy unit is still in a single piece. Having them run around would have down played their magical powers, for this reason in the game they float around and also teleport away when you get too close (the cowards). We needed two effects: one of the rejuvenation of the enemy troops and also one of the teleport. We had a considerably nice placeholder for a long time so I put off updating it for a while. The effect for the teleport is smoke rendered in Blender 2.8, the smoke is coming of a particle simulation and as with the gibs the timing is edited in post.

The particle system for the raise effects is also particles from Blender and the looping is created in post. The process for this is creating a particle render that has a clear start (nothing on the frame) and end (nothing on the frame). After the goal is to duplicate the rendered image sequence and offset the timing by half, this creates the effect of looping. The offset animation can be also repositioned as to not to look like it’s playing twice, the goal of the offset is to fill the first and last frame with identical information where before was nothing on the frame.

Water

Water is one of the basic elements of nature and a trickiest effects problems to solve. For a long time I have held a belief that an effects artist is a problem solver first and operator of tools second. The more tools you know the better off you are, as this might speed up your process or give you a slightly better result. The challenge with a pixelated Doom, Hexen, Wolfenstein inspired game is what does the water look like in this world? Another inspiration for us have been many films and TV shows set in the period, this specifically applies to the gritter rendering of the Roman period. Further issues, as with the smoke and blood, are how much information is the minimum amount to convey what we need. What we settled on is murky water to save us and Game Maker from doing tricky caustics calculations. The looping of the water both as a tile and animation loop was not avoidable. For this reason we settled on 30 frames water waves with a certain fidelity of noise as to not make it too repetitive. Any larger waves as with this Blender ocean example will start to look too repetitive.
We have recycled these effects to create poison purple water, clearish water, and desaturated murk on the darker levels. It is quite satisfying creating an asset that with small adjustments can be propagated across a range of different contexts.

The End

Matt
Thanks you made it to the end of blog number XI! Caesar’s Revenge is steadily developing. Although the productivity fluctuates wildly as we work in our free time, rest assured that with the addition of final gameplay parts like our bosses and the introduction of so many set dressing elements, we are now entering the polish phase for Act I. If these rarer big breakfast style blogs ain’t enough for you; be sure to check out some extra WIP stuff that will not always shown in the blogs on our Discord – come say hi!.

Devlog X: Desert Map Spotlight

Matt
Desert is a weird level, especially when considering Caesar’s design. Generally most of our levels consist of linear paths or multiple linear paths/loops; the challenge comes from reacting and learning the patterns these challenges present. Overcoming these and learning from mistakes feels good, the flow of going through the motions and perfectly completing a level from start to finish, where all your work pays off in that last run feels epic! The feedback is consistent and you know what went wrong and exactly where to go to try again. Desert differs in the fact that it is completely open. There is no defined path, only a fortress in front that requires three keys to enter. There are multiple copies of each of these keys strewn throughout the desert, each with a small encounter to boot, the catch is you have to explore and find them.

The fog is partially to blame, but exploration in a completely open scenario is not fun when you can’t see more than five meters ahead of you, and although the concept of being lost in a sandstorm in the desert is cool, in practice its shit. Especially in contrast to how fast paced the rest of the game is. I knew it was bad when both Ivan and Jordan didn’t finish it, too much walking around randomly hoping to find something. The challenge then became how do you make things discover-able in a sandstorm? Here is what I came up with: (SPOILERS if you want to figure this all out for yourself when you play)

  • A rough perimeter wall (this way if you walk out you will likely find it and if followed leads to encounters)
  • Subtle difference in ground textures (paths in the sand that lead to encounters)
  • Consistent language regarding props (following bushes, rocks and props will point to neighboring encounters)
  • Looping Room and fog increase (if you walk too far out you will walk back into the other side of the map and likely bump back into something + fog increases the closer you are to the edge)

The combination of these make the level much navigable once these things are noticed, the idea of backups, as in both ground texture or prop following lead to everywhere you need to go making it easier to discover the trick. The biggest change of all though is scale, though a mission, I moved everything in as it was all just too far away (seen in the diagram above). Having intermediate pieces that are visible between the goal and encounters are really important. Once the pattern is recognized the level becomes much more learnable as each encounter is consistent. What’s cool about it in comparison to the rest of the game is that it is completely open to what order you want to complete it in; you learn what each encounter encompasses then there is a choice of how much you want to gear up before going in and choose what to avoid. In the end, after ironing out the creases it turned out well and although being one of Caesar’s more unconventional levels it provides a much needed break and a variation in gameplay.

Soldier Variant

Ivan
During the project we have introduced multiple enemies in order to facilitate balance, one example being the introduction of a Slinger as a weak Archer. We knew that the Archer enemy felt and played well but during play tests people found the unit far too difficult in the earlier levels. This directly led to the creation of a weaker projectile enemy. Now we realised the basic Swordsman was a unit that needed changing, the main reason for the change was the three slashes that he performs at a frenetic pace as it is hard to read where the blows are landing. This is only multiplied by being flanked by multiple Swordsmen at once. Considering we liked the animation and the size of the Swordsman we decided to create an Elite Guard enemy type. The Elite Guard will use the original animation of the three slash attack while our basic Swordsman will have a slower attack landing only a single blow over the 16 frame flipbook.

The next issue was trying to figure out a colour scheme that will make the Elite Guard stand out from a distance to differentiate the two. The secondary challenge was making him not look so different that it would imply a drastic change in behaviour. We settled on a darker armour set with large shoulder guards, shin and forearm armour.

We operate by the philosophy of getting it right the first time but also not being too precious about work that we can’t scrap it if it doesn’t play well. Animation even though recycled for the most part has been edited; for example lowering the sword to the side while running. Making the game in this fashion has helped us to avoid polishing one element past the usefulness of said polish and improves the turnaround of assets generated.

Weapon UI

Jordan
We have added a weapon and ammo display to the corner of the screen. Players don’t normally have too many weapons at a time to make this entirely necessary but it allows fast changing of weapons without having to wait for the animation to play to see what has been selected. More experienced players will likely swap to what they want using the number keys but this will help new players and also anyone crazy enough to play on controller.

Music

This track features a middle section that deviates from the normal motifs towards a slower, more atmospheric pace. There is enough of a lead up to this section that it still supports frantic gameplay while bringing some variety to the structure of the overall soundtrack. So far I have found too much lead work to be a bit distracting, instead favoring more sporadic rhythmic composition – this song however has ended up pushing that envelope with a lot more lead guitar work. Though a lot of it hasn’t been posted yet I’m also happy to announce that the soundtrack has hit the thirty minute mark! There won’t be a unique track for every stage but I do want there to be a nice variety as well as enough content to support an album release as well.

Armageddon

We recently exhibited the game publicly at Armageddon Expo. The weekend was very busy and it was great to see so many people come through. It was interesting to play test some new and old levels as well as see how changes we made after the last showcase have worked out. One thing we experimented with was giving players ‘lives’ – this allowed those not used to FPS games as well as younger players to make further progress without needing to practice too much. A takeaway from this was that a fair number of players used half a dozen lives to beat what was supposed to be easy levels – we don’t want to use this system in the final game but it has given us a good indication of areas that need a balance pass. A big thanks to the NZGDA for organising the booth.

We have been posting even more updates and work and progress things over on our Discord – come say hi!.

Devlog IX: New Weapon, War Pigs and Priests

This update brings a new weapon, effects and additional enemies to the fray. Behind the scenes work continues with presentation and options features being added. We have had a very motivated and productive few weeks with a lot of general progress on levels.

Sica

Matt
The Sica have been loitering in WeaponWednesday™ limbo for almost 10 months. They were initially created to fulfill Ivan’s hunger for dual wielding, offering a more interesting alternative to dual gladius. Sica in real life are not directly Roman but were used by Romans to a lesser extent than the Gladius or Pilum. They were more popularly used by peoples surrounding Rome primarily the Dacians, Albanians and Illyrians. The reason they have been so long in the making is due to rigorous and extensive gameplay and animation alterations. I planted this idea early on that Sica looked a lot like a boomerang, but this felt too farfetched at the time. However, as we struggled to balance and make the Sica feel fun the idea become more and more appealing. Ivan animated the attacks, the primary of the Sica being a flurry of cuts, all in quick succession – it is faster than the gladius but can only slice one enemy at a time. Initially the alternative fire was a scissor-like finisher but it was slow and under utilised considering how much more effective the primary attack was.

This is when the boomerang idea came boomeranging back out of the past, smacking into the game design, firmly lodging itself into the head that is the team’s psyche – the perfect solution for our problem. All according to plan! I grinned. Jordan threw together a prototype and before we knew it Ivan had the animations ready to go. The alternate fire is now a boomerang it can be thrown and returns, quickly becoming the perfect solution to pesky shield bearers. Unique now in comparison to all other weapons in the fact that it has infinite ammo (since it will always return to you) on top of being a powerful melee weapon. While thrown can still use a half strength primary attack with a single sword which adds a layer of strategy: when to throw, when not to throw, based on each enemy encounter. All up, an awesome addition to Caesar’s arsenal for sure!

Blood effects

Ivan
In the latest build, we did a third pass on the blood particle effects. This effect has been both a thematic and technical tug of war throughout the entire project. Considering that Caesar does a lot of killing in the game the blood effect needs to satisfying and clearly communicate a landing of a hit. Conversely, considering you are encountering many enemies in the game we can’t afford to have too many particles and effects due to frame rate considerations. This new iteration is both efficient on particle count while also being more visceral than the previous wall and mid-air splashes. The new textures have been hand painted in Paint Storm Studio with its new pixel precision feature.

Priest

Jordan
While this unit has been in the game for sometime, it is worth writing about at this point as they have become one of our key enemies. Priests don’t have any offensive abilities but revive fallen units to rejoin the battle. When approached, they teleport away from the player, making them tricky to dispatch. This makes for interesting target priorities as while they are harmless, they can end up causing a lot of trouble if left unchecked. The strength of this enemy is that they can be paired to any enemy type in an encounter to create compelling dynamics from level to level. For example, simple enemies like archers and swordsmen play very differently when augmented by one or more priests. Trivial enemies become real threats when revived as quickly as Caesar slays them. This design is continuously engaging as enemies are recontextualised throughout the game, giving this unit a lot of longevity. This is also the unveiling of some of the more magical elements in the game – Roman and Greek mythology will be in abundance.

War Pig

Matt
We talked about war pigs two years ago when discussing enemy types and it was more a joke than anything. I thought this day would never come – it was impossible they said, silly they said, but low and behold the team has come around and it happened. To my reluctance I spent Saturday making the War Pig, this time thinking it was silly, but oh how I was wrong. The War Pig is epic! Despite how silly it sounds, war pigs were real; Romans used them in warfare against war elephants. The elephants didn’t like the sound of the pigs, the way they moved, and of course the fact that they were on fire. Covered in pitch they would be set alight and bolt towards enemy lines causing the elephants to flee and inflicting casualties on their own forces as they trampled them down in a panic. Our war pigs are not burning, instead (and more humanely) they are carrying an explosive payload, trained to attack then detonate on command by those cunning senators and their legions. Caesar is sure in for a surprise. The pots they carry are the same as static explosive pots to make the pig read better on your first encounter with them. The pig itself acts as a sort of a homing missile but just like the static pots, the pig can be used to inflict damage on their own troops if detonated early. The pig was modeled, rigged, animated by me then and implemented by Jordan all within the day, hell of a Saturday!

Bug fixes

Jordan
After Chromacon we recorded a substantial list of bugs to fix and tweaks to make – the kind of list that comes from playing a couple of levels for 16 hours. We have fixed all of the issues encountered at this point as well as a number of persisting flaws that we hadn’t got around to addressing yet.

Options Menu

Jordan
I have recently been working on implementing the options menu into the game. Philosophically, there is debate to be had around what controls you give the player given the amount of time is spent designing specific experiences. For example, letting players turn off the music can dramatically change the mood of a key scene. Right now the Gore on/off doesn’t actually function – we are considering keeping it that way since the violence of ancient Rome is imperative to the narrative of revenge. To what extent should developers afford user preference versus honed designs?

A good example of this is how FOV adjustment is an expected feature in an FPS – a customisable element that other genres don’t normally expose. This feature isn’t a given in platformers, RPGs and driving games, allowing gameplay to be consistent and designed both technically as well as experientially. High FOV gives a greater sensation of speed so if you are making a game that is supposed to feel fast, should you allow players to make it feel slower if they choose to? The best argument I have heard for dynamic FOV comes from an accessibility standpoint as a fast first-person camera can make players feel ill and making it adjustable can mitigate these effects.

In terms of game play in Caesar’s Revenge, a higher field of view makes movement feel a bit faster and provides more periphery to the view port. Overall it feels like a good feature to include since the slider lets players set it higher than the previous default. A small takeaway is that increasing this cap has thrown off some of our culling distances: there are areas in levels that were previously out of frame that now need to be extended – easy fixes but building future levels with the max FOV in mind will make the process cleaner.

We have been posting a lot of updates on our Discord, the server is still small but is going really well. For a more spoilery behind the scenes look, we are being much more liberal with what we post over there in terms of development and work in progress stuff.

Caesar’s Revenge at Chromacon

This weekend we exhibited Caesar’s Revenge at Chromacon. The event was a lot of fun and brought together hundreds of talented artists. It was especially exciting for us as it marks the first time we have showcased the game publicly. We collected a ton of feedback, found some new bugs and confirmed a number of suspicions we had around balance. The reception of the game was great and watching people play over the last few days has been really rewarding.

It is interesting balancing early levels in the game as that there are no health pickups – players can only recover by chaining enemies together to trigger bloodlust. This design encourages an aggressive playstyle where the game is fast, frantic and at its best. We playtested a few different early levels and will be working on tweaking the loop to help new players get a feel for the pace of the game. This is a delicate balance as we also want to keep the high difficulty curve intact.

Discord Server

Coinciding with the convention we are also launching our public discord server. We will be posting updates to the game as well as sharing a lot of day to day content that might not make it to the devlog posts. We don’t want to host a discord server that simply reposts gifs from Twitter – rather, we hope to run a lot of our design talks and interactions between one another in this space to let players peek behind the curtain as well as open up channels for feedback.

If you would like to join us use the widget above or this invite link.

We will be back next update with a focus back on development. Once again it was great showing the project off for the first time. A big thanks to the Chromacon team – if anyone reading wants to have a look at the art and video game scene in New Zealand, check out the other exhibitors.

Devlog VIII: Out of Hibernation

It has been awhile since the last update – the good news is that the project is alive and well! All three of us are working on the game in our free time so progress tends to come in peaks and valleys. Another reason for not posting is that we are spending a lot of time creating levels – content is proving to be the most time consuming part of development but is also the area that may be most important to get right. For this update we have updates around new level art, menu systems, music and more.

Level Art

A challenge of achieving the aesthetic of ancient Rome in a gritty, retro style is that iconic elements such as marble run the risk of coming across too bright and clean. Intricate interiors can also be problematic as a lot of details and embellishments become noisy at a low resolution. Recently we spent some time revisiting one of the early stages that we created to try and establish a better thematic aesthetic while still delivering on the grimy, pre-rendered look that the game revels in. The new street scenes maintain the simple geometry that are the building blocks of the game while utilising more props and texture variety to better situate the player in the time of Caesar. Some new props include washing lines, carts and furniture. Slanted roofs make an appearance and we are experimenting with more interesting skyboxes to render the environment less muddy. This is all a fine balance as over decorating a scene could end up detracting from the final result. Our main goal has been to create unique environments that facilitate fast and readable gameplay while also evoking their setting clearly.

Most of our design decisions have been informed to varying degrees by historic reference. This reference however, is often informed, adapted (and sometimes ignored!) in favour of our own intended art direction. Some examples of this are taking elements that clearly evoke ancient Rome but may be from a slightly later period than the game is set. The Sid Meier ethos of using the children’s section of the library for research resonates here in that we’re not aiming to create an accurate depiction of the time but rather to conjure that narrative setting in the player’s imagination.

Menu Screen Overhaul

menuscreencaesarNew menu screen offers a more digetic level selection with icons denoting level completion, secrets found and time trial achievement.

While we all liked the look of the old menu, we realised that it didn’t scale well to meet the needs of where the game was going (and the amount of content it would need to hold). A challenge of making a retro, low-res game is crafting a world from tiny textures and simple shapes while still instilling a sense of time, place and atmosphere. The old menu certainly fulfilled its function but missed out on significant world building opportunities. The new design places the levels on the map screen, diegetically situated on a table. This approach gives the player a better sense of place while introducing an opportunity to include more artwork to better set the scene. The game is currently planned to span across three acts, each with their own maps to create a stronger feeling of progression throughout the experience.

Moving towards this format has also opened up potential for better iconography to communicate ideas. A theme for our project has been ‘the excess of Rome’ – what better way to express this than an pre-rendered door that opens in place of a text-based exit button? The 90’s nostalgia also feels more distilled in this approach, harking back to the days of obtuse UI that may not be the clearest but certainly had a lot of character.

Many of the incidental props and pickups are much higher res than they appear in game. The pre-rendered map screen has the added benefit of giving us an opportunity to show off these more detailed props outside of their pixelated down scaling.

The custom font used throughout the game is of our own creation and the logo was made in 3D Coat. This approach allows us to easily play with lighting effects to achieve a distinctive result. One thing that a lot of early 3D games did was feature higher detailed renders than the real-time 3D in the actual game, something we wanted to emphasise in this logo. We are still iterating the design to balance readability and character.

Music


A Hateful Passage experiments with a more aggressive and spontaneous style, channeling the torment of the Roman underworld and drawing its name from the mythos surrounding the River Styx.
This track is more niche than the last one I posted and was written with the intent to lean towards the more intense end of the game’s score. This is an interesting challenge when the baseline comparison is already high-tempo and reasonably heavy. With this song I aimed to explore different time signatures and key changes that would push an aesthetic of dissonance even further. One option could have been to make the mix heavier though the overall cohesion between songs is also essential – while we aren’t strictly following a genre template, a lo-fi thrash sound defined the early musical direction and is a key pillar to each composition. This means that we are actively avoiding electronic parts and any audible synths (though there are some subtle supporting layers). Similarly, all of the songs are written in drop D which makes transitions and blends between atmospheric tracks more seamless. Overall I am very happy with how everything is sounding and how effectively these songs frame the game. Something exemplified by this track is the number of different changes and layers within its duration. The lack of vocals means that more generic structures risk becoming overly repetitive and given that this is a game where the player restarts a lot, sixteen bars of the same progression again and again could become tiring. In an attempt to mitigate fatigue, most songs avoid dwelling on one riff for too long and often jump between several ideas in short periods – an added benefit of this is how the sporadic blasts of guitars and drums reflect the intensity and pace of gameplay, crafting a cohesive experience between play and audio.

Devlog VII – New Traps & Armour

Ivan’s continued work on the high poly Caesar, looking somewhat more ominous than in the previous post.

Traps

This past week I have focused on making a variety of new traps for the game. Some of these introduce new mechanics and potentially systemic behaviors while others are more blunt in that they simply offer different ways to kill the player (or enemies!). Traps should require dexterity to overcome while being surprising and interesting. We previously had a handful of designs to play with but found they lost some effect when encountered time and time again. As of today the game now includes a total of eight traps that can be set up in a number of ways to challenge players. Some of the art isn’t final yet but a few of the newer traps are pictured below:

Crushers
Crushers move up and down and flatten anything that gets trapped underneath them. They can make for some interesting interactions when configured in sequence and are also useful in the ways their timing can divide spaces by blocking lines of sight.


Boulders
Indiana Jones? Tomb Raider? There is something about the classic video game boulder that while not exactly realistic, seems to fit perfectly into the gameplay of a retro fps as well as the pseudo-historic, hollywood-ancient setting of Caesar’s Revenge. One concern I had with implementing boulders was that our game is flat and the rolling might seem a bit far fetched. To solve this, all boulders drop from the ceiling and bounce a couple of times as they move which adds some authenticity to the motion. A happy accident of this approach is that they can also be set up to squash any unsuspecting opponents!


Swinging logs
… in perpetual motion! Although we’re not showing it now, these traps also have positional audio which makes it easier to identify its location when offscreen.


Rollers
Woah! I was on a roll with making these and thought it would be funny to try and make an iconic jungle roller from Crash Bandicoot. Turns out it is actually a lot of fun and one of my favorite traps at the moment. Will be interesting to see how level designs will contextualise this but I imagine it could be suitable for later in the game, in dark tombs or ruins.

Weather effects

The first approach used creates rain around the player using an array of coordinates to draw and loop falling drops. The buffer is large enough to make it feel as though it fills the whole environment while only drawing those in view. This is great for giving an overall level effect and is quite good for performance in that the weather is taking place only around the player – despite the impression of it filling the whole environment. One challenge of this method is that if levels include a lot of roofs and cover, then it becomes quite a bit more complex to work out where the rain should and shouldn’t be. For these cases of environments with a lot of indoor/outdoor flow, we have also created a regional weather system where you can specify the size and intensity of areas, all the way down to a single tile. This makes it easy to have dramatic changes such areas of cover in stormy weather.

Armour

An armour pickup system has been implemented into the game which will provide the player with a little extra protection (effectively an additional health bar). This is useful in a number of ways: it allows us to more finely balance difficulty in levels by managing availability of these items before significant encounters and introduce larger, high tension fights earlier on as the player can be given a small buffer to increase their survival. Additionally, armour can be placed off of the primary path and in secret areas to reward exploration – giving variety to the pickups. One thing we want to focus design wise is that often extra armour will be a little out of the way, meaning that players going for a time trial run will have more interesting decisions around getting these items or pushing forward without them. We have three types planned, the first of which has been completed. The Coolus is a type of Roman helmet prevalent in the time of Julius Ceasar.This example is inspired by, rather than being an exact replica of a coolus and is designed to match those worn by the in-game Roman legionaries. It is currently the mid tier item offering a 50 armour bonus.

Devblog VI: Fort, Optimizations, Music and Caesar.

Matt: The Fort is one of the first level layouts I slaved over after being introduced to the Ceasar’s Revenge level editor aka the Gamemaker GUI. It has a troubled past and had been in development longer than any level. They said I should let it go but I just couldn’t let my firstborn die. Instead it has been ripped apart and rebuild from the ground up. Constantly remixed through development and has changed vastly in its flow, game play and aesthetic.The Roman fort or Castra are temporary sometimes permanent fortifications often built in the outskirts of the empire to control territories with overactive native populous. Often build out of local timbers and earthworks, these forts are used to house Roman legionaries and defend against the native uprisings that come with conquest of foreign land. Depending on the size of the force assembling, these forts they could be built incredibly quickly within a matter of days. This fort is located somewhere to the northwest of Rome in Caesar’s new Gaul or perhaps the wilder Britannia. Dark and dreary, damp pine forests surround the fort. It’s not the kind of place you would expect to find a senator, the likes of which spends his time usually lounging in warm Mediterranean summers. But those backstabbing rats will scurry all over the empire, try any hiding place, but there is no escaping Caesar’s Revenge. Woe are his betrayers.Fort A the original level was a laggy, directionless, unbalanced and oversize-ed mess. Fort B is everything right with fort with the negatives stripped away. Certain elements were kept from the original design were retained while others completely overhauled (see below). I overlaid the map layout of both versions so we could get a clear look at what had been deleted; the most interesting part for me is the three separated parts showing the “deleted”, “salvaged” and “added” sections. What was salvaged is actually very little, more then 75% of the level was deleted and the only new volume added is a small new starting section (the top section of the blue), the rest of the new blue overlaps the purple salvaged section and adds to the level density with new enemy encounters, decoration and set dressing, rather than adding more scale. Despite the reduction in level size the density and additional gameplay makes up for the loss and the playtime to complete is significantly higher. This is all with a smaller cap on instances – instances are the objects placed within the Gamemaker room. The original Fort A had upwards of 6000 instances while the later optimized Fort A had 3000. The current new Fort B has only 1000. 1000 instances is our arbitrary limit, it serves as optimization for the sake of lower end machines and works towards a more limited level object saturation to aid in that old school stylishness.

Optimisations

Jordan: The early prototype stages of the game were mostly interior and felt much more like a dungeon crawler than what the project has become. One of the initial reasons behind this was to allow for aggressive culling and deactivation of objects – corridors and low roofs definitely have the advantage of obscuring more of the environment from the player. Fort is a good example of a larger scale outdoor environment that pushed our optimisation forward as there are a number of open area encounters that require a greater number of AI entities to be active. One way which we have approached this issue is by enforcing an internal object cap to give us a target to work towards. Additionally, the game culls any drawing of objects out of view or beyond the fog. As far as behaviors are concerned, the region beyond the player is deactivated and checked every 60 frames but only if the player’s position has moved enough from the last check to avoid updating unnecessarily. A hard deactivation at the fog distance would be noticeable and open to abuse so the threshold is further back out of sight. This makes for an interesting balance in that we are optimising to avoid moment to moment lag as well as that which comes with the update frame to recheck positions across the level. Right now everything runs smoothly on current levels though the real test will be when we do a proper pass for lower spec systems once we have gameplay and art in a final state.

Bellow is a call back to some concept art by Ivan from 2017 when first talking about the fort idea and a screenshot of a similar vista in the level.

Music


There are actually a number of tracks in the game already but this is the first completed one which I have felt was suitable to share in terms matching the style we are looking for. Inspiration has come from older thrash metal albums. There is certainly a lo-fi quality to the game in terms of its resolution and pixelated gore that is cohesive with early entries in this genre. I have intentionally gone for more of a dirty, gritty and piercing sound than an overly effected and polished approach which better suits the aesthetic of the game. This track incorporates a few ancient sounding instruments which is an area I would like to explore more in an attempt to reconcile 90’s metal with the Roman setting. Something I particularly like about this track is the driving pace as well as the contrast between melodic and dissonant elements. At some point it might be interesting to do a post breaking down whole the production process but for now here is the first released track titled after the Julius Caesar quote: “Alea iacta est” or “The Die is Cast”. It is said that this quote comes from Caesar as he marched his troops across the Rubicon into Rome in defiance of the senate – an act that would eventually lead to the demise of the Roman Republic – an apt title indeed.

Gaius Julius Caesar

Ivan: The production is plodding along behind the scenes, we have been looking into new weapons like the falx, making levels and talking about what other assets we will need in our post-Roman Republic future. At this stage, we have had a pair of floating arms wielding the deadly weapons and issue justice, but what we did not have was a model of the world first true dictator, leader, general, Gaius Julius Caesar. What else would signal excess on this project that is striving to be the paragon of pixel grit but a multimillion polygon 3d sculpt of our fearless leader? I present to you multimillion polygon Caesar.


This model will be retopologized and textured, most likely be used in the trailer and maybe reposed for some statue sprites. The head model itself peaked with 20 million polygons at one point. The head was modeled separately from the body has just been merged in. For some historical facts, Caeser was 5 foot 7 inches (170.18cm), by some accounts, his hair was brown as were his eyes. Considering our Caesar will be re-animated it will most likely be white head of hair and evil glowing eyes. Hope you guys like it.

Caesar’s Revenge: Weapon Wednesday – VI

Yo its weapon Wednesday! This week we got the big hook thing which strikes fear into the hearts of any Roman legionary. This guy is the: Dacian Falx or Thracian Falx or just Falx. In history it is described as an anti-Roman/anti-armour weapon with a punch. It’s shape is perfect for hacking at Roman troops hiding behind shields. The blades themselves had different degrees of hook to blade proportions, lengths and angles and came in one handed and two handed variants. The two-handed variant is the one you will find in Caesar’s Revenge. These two-handed Falx often had a handle at a similar or matching size to the blade. This gave a lot of leverage and power to the wielder but use of this weapon would cost protection due to the two-handed operation of the weapon using a shield is silly. This trade, however unorthodox, did pay off and was devastating when matched up with a classic Roman shield and Gladius style of combat. The superior reach plus the power and design necessary to punch through and over Roman Armour particularity the shields made a lot of common Roman fighting techniques and strategies useless.
Fun Fact: Roman helmets received modification during Trajan’s Dacian wars with the addition of cross-bars across the dome of the helmet, this change is often accredited to falx and its effectiveness at punching holes in Roman heads.

Falx Ceasars Revenge
But why is Julius Caesar using this heathen weapon? Lets just say when Mars gives you lemons you make lemonade. The Falx has become an iconic and infamous anti-Roman weapon in recent times and although its actual effectiveness and use in history is disputed the legend of its effectiveness provides the perfect alibi for the powerful, heavy hitting, shield splintering and armor breaking weapon type Caesar needs on his conquest for revenge.

Gameplay: The Falx like all our weapons has two attack types and primary and a secondary. The primary attack is is a powerful overhead strike from above, this is the shield splintering one! it ignores an enemies shield and deals damage directly , perfect for pesky Roman soldiers turtleing behind shields, it also applies a knock back. This attack due to its over the head nature is powerful but can only target one enemy at a time. The secondary attack is horizontal sweeping attack like the Gladius. A sweeping attack does not break armor as effectively but does apply knock back, it can target double the enemies of the Gladius currently a whopping 6! both attacks are balanced by longer wind-up and cool-down times. Attacks also slow you down to a walk while triggered, this means you have to tank a lot more damage while attacking. That’s the payoff to such great power. What I like about this balance is that it does not make the weapon “just a stronger Gladius” like we originally feared, but instead it it performs a different job completely. The Falx needs to be used with a different style of play, more patience and planning is involved in a Falx strike than with any other bladed weapon currently in the game.

Unique feel and divergence between the look and gameplay of each weapons is important in Ceasar’s Revenge. As always mechanics and visuals are subject to change as we tweak the Falx further but I hope you have all enjoyed this chunky sneak peak. You can check out the 3D model on Sketchfab below, plus let me know what you think.