• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS
Do you have what it takes to pilot the best robot and take home the Champion Cup?!


Battledome is a battle arena game where your robot will autonomously battle other robots, and progressively grow stronger

The Battledome vision

To create an online persistent MyBrute-like battle arena game with a Battledome motif, greater character development control, and a new array of abilities.

What is MyBrute?

MyBrute ( http://www.mybrute.com/ ) is a battle arena game where two brutes square off against each other and fight automatically using their weapons, skills and abilities until one of them is defeated. After choosing your brute's name, gender and look, you get to choose to fight a random selection of similarly powered brutes that other people have created. During the fight, your brute (and the enemy's brute) battle autonomously while you watch. Win or lose, you gain XP from the fight (you get more for winning) and after garnering enough XP your brute levels up and gains better stats and is randomly granted a new ability, pet, or weapon. You are limited to 3 battles per day.

Now, you can imagine Battledome as MyBrute, but with robots instead of brutes, drones instead of pets, and futuristic weapons and abilities. A greater degree of control will be afforded to the player upon creating their robot and upon leveling up - a kind of "controlled" randomness, if you will. The details still need to be worked out.

Why Java?

I am just putzing around during downtimes at work with a Java game experiment (because java is what I have access to at work, plus I need a bit of a refresher on it)

Background

I am attempting to make a MyBrute clone but based on the Battledome setting that Dudesoft runs (where giant robots slug it out).

The gist of the game is that your battler will be pitted against another battler, and they duke it out on their own until one is defeated. They have 4 main stats: Health, Energy, Attack, and Agility (and a bunch of secondary stats like critical chance, evade, parry etc...), a cache of Weapons that they can deploy (only one at a time though), up to three drones (equivalent to pets in MyBrute), and a suite of Actions/Abilities/Items like crustacean plating, suplex, beam cannon, energy stealers, whetanium shields, etc...

The main game loop determines turn order (based on agility) and has the battlers do Actions (right now all I have coded is basic Attack), until one of the battlers runs out of health.

Eventually what I want to do is have a sense of progression, where you develop a battler by picking his body type, fighting style, and stat growth, and then battler can earn XP for his battles, and level up (whereby he'd be granted better stats and a new weapon or ability or equipment). I might also create a tournament system.

I have a basic skeleton started, which outputs a battle to command line, with fixed battlers. I have implemented the basic logic of a regular attack, and prototyped a way for determining turn order.

I hope one day to implement a visual representation of the battle, and maybe host a persistent gameworld at http://herosrealm.net hosted on our server here at RMN where you guys could log in, make battlers, and fight each other's robots whenever you wanted.

I made this gameprofile for it to see if there was enough interest in helping me hammer out the finer details, game logic, numbers and percentages, and brainstorming weapons and abilities and items.

Latest Blog

Hey baby come a little closer

So I had a nebulous idea of having a Ranged vs Close mode for the Battledome battles (as suggested by LockeZ a few weeks ago), where certain weapons and skills could only be used close range and the battlers would move in and out of close combat. And I really liked it, so I jotted it down.

But that nebulous idea turned out to be somewhat unfeasible and convoluted once I got to thinking seriously about it. Mostly because my original concept for this game didn't envision it (it was suggested to me - it never occurred to me at the beginning), and my implementation was a bit rudimentary in regards to the "cost" of actions. Like, every turn you get to do one action, and that action "costs" just 1 turn, meaning that less important actions like "Move to close range" cost as much as "Do uber hyperbeam attack", turn-wise

The classic RPG dilemma.

Also, with drones acting independently, the concept of "close vs ranged" becomes exponentially more complex, because suddenly you could "close ranks" with a drone, or a drone could move away, or close ranks with a different target, and also does that mean you are no longer close range with the other main battler? Or if the drone moves to another drone, are you still close range? What about your drones - do they follow you?

So suddenly instead of simply tracking 'battle is now in CLOSE RANGE MODE', I have to dynamically track the positioning of every actor in the battle relative to every other. And build the AI to account for all of that in a fair and balanced and logical way.

So I was going to do away with it.

What to do instead?

I am still enamoured by the idea of "close vs ranged" battle modes. (and in fact the weapon designs have had a flag for 'isRanged' from the start)

I am reaching back into the classic RPG toolbox and taking a strong look at a Front Row and Back Row positioning concept. Not unlike your traditional sideview battle systems.

Battlers get a free move on their turn to toggle rows, if their strategy requires it. The limitations on each row would be basic, like, Ranged weapons/abilities only from the backrow, but melee attacks you receive are half damage. Or maybe a little more complexity, with backrow generating less aggro, or attacks targeting the backrow are less accurate. Something along the lines of "BACKROW = DEFENSIVE+RANGED and FRONTROW = OFFENSIVE"

I am also toying with the idea of also having a Middle Row, to add a bit more flavour.

Thoughts?

Posts

Pages: 1
sinn
the original sinn
1092
This seems promising.

Hit me up and i'll see if i can help.
author=sinnelius
This seems promising.

Hit me up and i'll see if i can help.

I aim to be posting some blogs this week detailing some of the logic I got going so far. Stay tuned!
CashmereCat
Self-proclaimed Puzzle Snob
11638
This is game #5000 ^_^

Also I am honored to be a tester for this game, however the only caveat is that I can't give a 5/5 review for this game in its current state, I love it, it is a lot better than its competitor Call of Duty: Ghosts. AAA games don't come more polished than this. This makes Titan fall look so very Titan small.

But I still wonder how this manages to keep under its budget of $5.7 million per day. They certainly should be getting paid more than that if this is going to have woodcutting and mining/smithing games as well as global marketplace with automatic adjustment systems for inflation. I just hope that the in-game currency isn't too expensive.
Be sure to frequently asks your friends for help! You get powerful Friendship Essence to help charge your battler!
Dudesoft
always a dudesoft, never a soft dude.
6309
Neat! Glad to see this is going somewhere. If you need any help or flavour input, let me know!
I've updated the download with the latest build. Hopefully it works.
Look at you, actually using your computer science education. I dig it. I don't know how far along you are, but if you need ideas on how to go about making certain things, I've done a lot of work with simulators like this and have probably already solved whatever problem you end up encountering.
author=Jude
Look at you, actually using your computer science education. I dig it. I don't know how far along you are, but if you need ideas on how to go about making certain things, I've done a lot of work with simulators like this and have probably already solved whatever problem you end up encountering.

So far I have been tackling
-turn order
-choosing what ability to use
-damage calculation with defense (GRS linked me to a graph you did iirc)

What I haven't even really thought about but have to do:
-saving
-graphics
-sound
-input
-user registration/accounts
For turn order it just depends on what you want. I've done ATB like Final Fantasy 4-9, turn-based like Dragon Quest, and turn-based like Final Fantasy Tactics. Basically you just need to decide if you want speed to make entities act first or if you want speed to make entities act more frequently.

I built ability-selection into the abilities themselves. First of all, abilities have a priority attribute, such that the highest priority ability is attempted first. After that, abilities have a conditions attribute, which is just an array of functions that must all return True for it to execute. The functions can be anything, like checking for a cooldown, if there are any status conditions in play, if there are multiple enemies, if the actor's HP is below a certain value, etc, etc. The game this was for was about collecting abilities, so choosing abilities for -when- they'll be used was equally important to what the ability actually did. If your game has fewer abilities, you might want to make the conditions/priority adjustable by the player.

My damage formula just looks like this:
damage = power * modifier * (100 / (25 + reducer))

The Power being the strength of the ability, like 1.0 or 1.5 or 0.5. Modifier being the stat that increases it: attack, magic, whatever. Reducer being the target stat that diminishes it: defense, resist, whatever. You can modify the 100 or 25 in that formula to whatever feels right, but it creates a nice curve. Straight "damage = offense - defense" works just fine too, but it depends on what your goals are. Necropolis used that, for example, but that was because it was built around multi-hitting-but-weak attacks being stronger versus low defense, but ineffective against higher defense values.

Consider implementing saving earlier than later. It can become a headache later on if you don't take care of it now.
heh, cool. You can check out the blogs I made for Turn Order and for Ability Choice if you want a detailed breakdown of what I am doing. But basically I am having speed make entities act more frequently, all abilities have a priority and a set of conditions that must be satisfied (though I didn't consider cooldowns at all in my battle system - never crossed my mind), and a target or targets.

Damage ended up being damage = power * (100 / (100 + def)), with chance for criticals or fumbles, and separate multipliers for those. You can see high level breakdown of the other factors I consider like evade and block and counterattacks in the latest blog about Weapons/Abilities.

Everything is a still fluid though, and I am hoping to get some more novel ideas for that brainstorming blog I just posted. Like cooldowns (why did I forget about cooldowns??)

Saving... ugh. Need to figure out WHAT I am going to do (database? flatfiles? encryptions? I have no idea), let alone HOW. Any advice on where to start there would be appreciated.
For saving I just make flat text files. I don't bother encrypting or anything because I don't care if somebody cheats. But this is for single player games... It sounds like you plan on putting this online. If you plan on saving everything server-side, then a database would be a lot cleaner to keep track of all the players. JSON works well.
I implemented saving Friday afternoon. It was surprisingly simple... Java has come a long way in file operations since v1.1! I just made serializable classes and used basic output steams to save your battler to a file for now. I'll upload the latest version soon.
author=kentona
I implemented saving Friday afternoon. It was surprisingly simple... Java has come a long way in file operations since v1.1! I just made serializable classes and used basic output steams to save your battler to a file for now. I'll upload the latest version soon.


I actually avoid serializing objects. It gets really messy when I make updates to a game and those objects no longer match the current objects in the game. It's much safer to save straight data and build new objects from those.
Oh, well... hopefully that won't be too much of a hassle. I eventually want to save this to a database. Saving to file is just a temporary measure. Just know that as of right now saves from different versions will be incompatible.

That being said, I promised the latest build this week, then forgot about it, then remember late Friday afternoon. So I cobbled it together. The only major change is the addition of automatic saving, and some bugfixes.
sinn
the original sinn
1092
I just learned programming and suddenly your prototype seems superbb...
I'm curious how will you link this Java console program to your 2d animated image sprites tho.

You'll be working in Eclipse entirely?
CashmereCat
Self-proclaimed Puzzle Snob
11638
It's funny, this project inspired me to take my Life Simulator project to Java as well, but it's too underdeveloped to make a gamepage for at the moment. But so far I've created more gameplay in 4 days than I created with 2 weeks in the engine. It's pretty brilliant for prototyping your core mechanics.
author=sinnelius
I just learned programming and suddenly your prototype seems superbb...
I'm curious how will you link this Java console program to your 2d animated image sprites tho.

You'll be working in Eclipse entirely?

I am working in Eclipse entirely so far! We'll see where this project goes once I attempt to convert it to a web app. That's a long way off.
Pages: 1