A Goodbye to ‘What If’

My programming education is a hodgepodge of constant trial and error, frequent visits to stackoverflow as well as the unity forums, with a framework of the occasional OpenCourseWare programming class. So naturally I lack the broad cognitive overview that one gains through attaining a bachelors in computer science at a 4 year.

Generally I attempt to get any system I want to exist, up and running as soon as possible. I’m really just trying to get everything talking and shambling about on bare bones, it’s not pretty. Once it’s ambulatory I worry about the scalability and make sure I actually like the design (from the game perspective.) After a time, my shambling bag of bones gets prettied but then it starts to bloat uncontrollably and can no longer move. Whenever this happens, I do a deep dive into the internet and figure out what ‘core programming principle’ I didn’t know about this time  The most recent instance of this was on my move to truly understanding object oriented.

I am lucky to have some friends who are proper programmers that are willing to look at my code and tell me what I am doing hideously wrong. This last offense was from swelling ranks of if statement blocks. When combat starts, what skills will he be using? What if the opponent is holding a bludgeoning weapon? The bludgeon defense skill of course! What if our gladiator is using a sword? The sword attack skill of course! What if our gladiator is holding an ax? The ax skill of course!  . . .You can see how this can get out of hand quite quickly.

While the conversion isn’t complete, there are still a few ‘what if blocks’ hiding, awaiting their end. It will be done. I will no longer have think about what if I am wielding a chainsaw, that’s the chainsaws job.

Time & Messaging

After my most recent iteration on the game, I did my usual mass pestering of friends, acquaintances and unfortunate passer-by’s to play my game.  There were of course the mention of some bugs, some feature ideas and “I don’t know you, please I’m just trying to eat this meal before my lunch break is up.” But the bulk of the comments came down to the player’s interaction with time. While weeks do pass in the game, they have no meaning. While the battle does happen, the results are instantaneous. Both of these instances cause a disconnect between the player and the game.

On the note of weeks, passing time does improve the gladiator’s stats, and it does heal them.  However the unless they happen to check a particular’s gladiators stats each week AND that gladiator’s stat (or current state) cross a threshold, the player has no way of knowing this. They also have no reason to check the gladiators each week, the only thing a week does is gate them from being able to fight.

The battle happening instantaneously is an easier fix, now the battles happen through time. If the game ever gets to the point where I am adding art then it will be even more obvious fix, show the battle. But we aren’t there yet.  Having the battle happen through time does highlight some AI issues, such as when they combatants decide that they don’t want to fight and instead just circle each other for 30 rounds, that’s exciting.

My ideas on solutions to this is to give the player something to do during the week. This will take the form of a large new (and shiny) system which allows players to assign the gladiator training. This should allow the player to modify which stats are strong for each gladiator, define fighting preference (get in close, retreat when wounded, etc), gain and improve skills.  The code for this doesn’t seem to be anything outside of what has been done prior for this game.  However it comes back to my messaging issue.  This will still mean nothing if the effects of it never get back to the player.  I need to find a clean, and easily accessible way for the player to feel that their gladiator is training, and improving.  Most games would do this by having the player be able to see the stat block.  However as I never want to have the player see any numbers (except cost, and weight) this is much harder. It’s my current conundrum.

Gladiator V0.0.3

It’s been a while but the next version has been achieved.

It is here (Edit; bug fix in new link)

These things always take longer than expected but a good deal has been added.

  • A lot has been changed under the hood.  The system that damage use now reflects more what I want the feel to be.
  • Counter attacks and status effects now exist! Or at least the systems do, though counter attacks are a thing. Statuses will be.
  • More gear!
  • More moves!
  • More Arenas! Nearing game progression.
  • A calendar to let you know when battles are available.
  • You can now name a gladiator when you acquire them. Fancy having a school of famous playwrights who beat down everyone with rebar? This can happen.
  • Experience! You can’t see it, but it’s there. Like life kinda.
  • Facility upgrades so that your guys train better.
  • Very minuscule amounts of logic. Your gladiators will be more likely to disengage from each other if they are tired or wounded.
  • After reading my notes it would seem gladiators cannot be tired yet, future implementation note!

Many of the systems are an attempt to make it so that simply buying one gladiator and binge-ing said gladiator to all powerful face crusher, is no longer viable.

More thoughts on this later

Gladiator v0,0.2


A lot of work between there and here.

  • UI skin!
  • Items! (purchase only, it’s a buyers economy)
  • Skills! (they are there, I assure you)
  • Refactored battle system!
  • Females! (cyberpunk is an equal opportunity oppressor)
  • Playable! (<<< download it there )

Probably more things happened than what was listed, but it’s all a blur of syntax errors and OnGUI events. With my animation mentor class starting up soon progress will probably slow down.

Gladiator 0.0.1

I am enjoying the creation process for my gladiator game and much progress has been made.

It has now reached the status of playable, which is very exciting. I’ve done the first build of the game and sent it to some friends. Players can see the gladiator’s stats (soon to be history.) Battle logs are printed out.  UI is becoming resolution independent. The major change was under the hood. Revamped the battle system to be more scale-able, allow for skills and choice.


Eyeing up the competition.


Victory, Allan Deer lives to fight another day. 

As for the prior decision between Ancient Rome and cyberpunk, I have decided on cyberpunk. I spent my adolescent years with Gibson, and Sterling. Running through the Redmond Barrens and the discussing the role of man and machine speaks well to me.

Balancing is now the name of the game. Some fights end in a single blow, others go on for days of inept posturing.  I want to get a more consistent pace. Then increase skill list, and implement gear.  It’ll be a while, but I’m loving every minute.


Gladiator Game: Hello World

For a long time I’ve wanted a good gladiator game. I’m not sure what it is about the the idea of a 2 competitors fighting to the death, midst the roar of the crowed on top of the blood soaked sands of the Colosseum.  Gladius was the closest I’ve played to this. Sadly it’s late game falters and there isn’t consequences to having your competitors die; I also lost my copy of this game so that’s out.  I’ve also been meaning to find a programming project for myself.

Enter the challenger.

So far in my gladiator game it will generate a list of randomly created gladiators that you can purchase.


Then you can have them fight a gladiator at the Arena. The loser of the match dies and is removed from the game.


Finally you can go to your school where can pass time. Monthly upkeep will be paid, wounded warriors will heal and healthy warriors will train and get stronger.


There are a few specific design ideas that I want shepard through this games creation which have already shown themselves.

Consequences & Loss: This is a heavy subject matter that is often taken lightly. People are fighting, and dying, for the entertainment of others.  These characters that you are training up, and investing in have a very real chance of losing their life, and many will.

Character Attachment: While every character does have stats such as strength, speed, and health I want to abstract this data from the player. I don’t want the player to see “Lvl. 15 Fighter with 10 Str and 12 Spd and a couple nice abilities” I want them to see “Igor Margeress, the debtor from Carthidge who has  a fierce determination to live and has been with me since the start.” So the player will not see stats, even though the cost of each gladiator is based on their stats, there is a random co-efficient so some are just better deals than others, but you as the player, don’t know. Maybe allowing players to name characters would be useful to this end, similar to XCOM.

Some of the language in this post should hopefully have made you a bit uncomfortable. As the player is put into the role of the person who runs the gladiator school, the player is a slave owner. Buying and killing off people for money. I don’t know if I want this to be a central part of a game I make, for many reasons.  I have reached my first major design decision of this game.  Do I want to set it in ancient Rome, where I have history to pull from, rich aesthetic and culture to stylize, and the player becomes a slave owner. Or do I want to set it in cyberpunk, with chrome and glitz, monolithic corporations that cast shadows over the squallor and the sprawl. Where the player takes on a more corporate entity who buys up debt of people, or offers the stratified slum inhabitants a chance at a better life for risk of their own (hunger games almost).

I don’t know, both have their value.