gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

OffTopic > A new project - add advice and help out

#1863 - DeaneGainey - Fri Jan 24, 2003 6:54 pm

Hi. I'm a student at a college, and as an independent study this quarter I've decided to do some work on a GBA game. I've tinkered with the hardware a touch last semester, got it responding to code, sent it a bitmap from Dead or Alive Volleyball (immature idiot) etc. etc.

I'll be posting a lot more details on this right now, but I'm essentially bringing this to the table to collaborate on it. To get feedback on how I should do things and ideas on how they might cook a little better.

The concept of the game is: You drive a tank (one out of about 64+ models) on a team of 4 players. You compete against another team of 4 players in various tank games. The fun of this game is in the interaction with the teammates and the general blast-your-sorry-butt gameplay.

There are more specific details on things I plan to do to make this more fun. But I'm just posting to start a thread, here. You might expect another post just after with more structure and details on gameplay.

Some requests - if you want to come and talk about the game, introduce yourself. I'm new to the posting table. Second, opinions are always welcome no matter how abrasive they are, but try not to confuse your opinions for gravitational fact. The problem is, I may not be able to tell between the two and might make stupid mistakes on your behalf. I'd rather not.

So, thanks for introducing yourself, and thanks for the realistic criticizm in advance.

- Deane
_________________
--- Posts say it all, nothing to see here ---

#1866 - DeaneGainey - Fri Jan 24, 2003 7:30 pm

Actually, I understated the number of tanks. I estimate 250+. But since they can look very similar and the pictures will be quite small, it's going to only be the data setup that takes a touch of time.

Now, I haven't taken the time to find out if there's room for any of this, but here goes:

We have 15 zones of 16 league pilots around the world. Then there's your hometown, capitol of 'Magic Happy Tank Games' - to be replaced by the name of the game. 16 young pilots with high potential are learning here. Choose one of these pilots and drive its signature tank, with 3 teammates, against the other 3 teams formed out of the 16. Pass some simple games like this - maybe 9-10 rounds - and move into the world circuit and play against the remaining 240 or so pilots.

Each pilot has a signature tank, but they only use it if they are captain, and some pilots don't like being captain so their tanks are kind of rare. You can buy tanks for your team to drive if you have beaten them, and all 240 circuit drivers have access to their captain's tank as well as the 16 tanks driven by the start pilots. You can play any of the 16 pilots at the start, but the 240 circuit pilots are off limits (until you 'win the game')

Gameplay-wise, a section of the screen, wide as the height of the screen (square) on the left creates a viewscreen. Radar is in the upper right of this screen, ammo bars overlaid against the lower right. The center right (all of these instruments are in the margin to the right of the view square) is a communication panel, where team messages come in. The view panel will probably be overhead view with your tank centered. I know 3D fp sounds like more fun, but this game can rock without looking like Spectre. I have confidence in this - and the secret will lie in the AI.

Each tank will have 1-5 lives or so based on various factors. A battlefield is held in memory (make your own? Should be a simple blockmap) and tanks roll around, each by their own physics, and shoot at one another, or collect goals, shoot , etc.

The objective of each round can be collecting a thing, capture the flag, king of the hill, grab the coins, race, protect the King, etc. each objective applies priorities to the AI which helps determine its decisions, but more on AI personality later...

Winning rounds will boost your team rating. You can kick players off your team and hire players, but you have to have 4 to play, and players don't appreciate poor teamplay. You could join a non-captain slot on another team, etc.

The 256 tanks have different balance specifications including turn radius, artillery, drive speed, radar range, special utilities, weapon makeup, etc. and the first 16 are balanced well enough to be easily driven.

AI differs across the 256 pilots. Each pilot has tendencies and flaws. I won't say a ton about this now, but I need 256x5 pictures (WHEW) of pilots - Neutral, Sad, Happy, Joyous, Surprised. Also, small text statements for each interaction. This is a ton of the material.

Aside from some code, 90% of the magic is in tank statistics, battle graphics (lesser), personality pictures (greater), and personality matrices.

There is only one powerup in this game, save minor tank mods you can make with money (you spend money on tank prints, tank mods, bribing players, unlocking local zones, ?making new arenas/tanks/hardware? etc.)
That powerup is called 'the heat'. It may not be a part of the game. : /

Em, next post, I'll do some AI outlining.

Feel free to interject with comments/reality trips, but don't expect me to stop long.

-Deane
_________________
--- Posts say it all, nothing to see here ---

#1868 - DeaneGainey - Fri Jan 24, 2003 7:53 pm

Before I go on to the AI, I should mention that once you have LOADS of money to put together a full team, you can join the 16-player vs. 16-player ULTRA circuit. There's also a major and mega circuit with 8/12 tanks.

You have to buy players or trade with other captains upon full agreement to put together a team like this. You don't have to play in only one circuit - if you can put together full teams in every run, you can play games.

Multiplay hopeful features include the ability to hotlink 4 players without cartridges onto a single team. Each non-cartridge GBA can play with up to 3 sub-tanks, on or against any team so 4 linked games with one cart will play a 4x4x4x4, or 8x8, or 16-human team(4 humans/12 CPUs) on 16 CPU(maybe). But each CART can support 16 tanks, so if there are 4 hotlinked CARTS and games, each player can command a full, developed private team of 16, making for a 16x16x16x16 64-player free-for-all. This is the ultimate happy goal of connectivity that is probably a pipe dream, but maybe not if I play my resource cards wight...

The unique save system records a loss at the start of the game, which then must be overwritten with a win, by actually winning the round. Restarts have been broken with this logic - play to win or lose like the coward you are!

For 16x15+Human, the GBA needs to handle 31 bots. For 16x16x16x15+, it needs to handle 63. The more power I can eke out of the hardware, the bigger and more intense I can make the matches. Tanks will be color-coded for team's sake.

----
AI
----
Each AI player has tendencies - balances to attack the enemy, to seek various types of goals, to evade fire, attack pattern types (pin and turn, aim and shoot, shoot and aim) tolerances and flaw levels, reaction times, etc.

The key is that CPUs have enforced reaction time, as well as enforced attention division. This gives them a remarkable human feel. You can surprise them if they are dogfighting and not watching the radar. You can quick-shot them down, beating human reaction time and CPU reaction time in one. They're doing it to you, you may do it to them.

One of the heavist weights in the CPU net is proximity, and one of the second heaviest is direction. These do a lot to decide for humans. When you send requests via comm (the shoulders work comm channels and don't interfere with fighting controls) it rebalances their weights. CPUs will ignore commands, since the tendency to follow requests also has a weight, for both peer and command. You can overcommunicate and they'll tell you to shut up. Some intolerant plaers won't accept communication at all.

There is a lot of play-balancing to make this reasonable, but the bottom line is -- CPUs will each have reaction times, attention, and decision weights. The flaw I must overcome are the natural SHORTCOMINGS of AI (pathfinding etc)

Next post soon.

-Deane
_________________
--- Posts say it all, nothing to see here ---

#1869 - DeaneGainey - Fri Jan 24, 2003 8:03 pm

As previously stated, the big hurdle is overcoming AI flaws. It is easy and interesting challenge to limit an AI to mimic human bounds. It is a long, tough struggle to keep them from shooting and driving into barriers continuously. Applying a reaction time delay is simple; applying human pathsighting, with all its inaccuracy, is like chewing nails.

Em, Java class is interfering. More later....

-Deane
_________________
--- Posts say it all, nothing to see here ---

#1872 - Vortex - Fri Jan 24, 2003 9:15 pm

Quote:

The 256 tanks have different balance specifications including turn radius, artillery, drive speed, radar range, special utilities, weapon makeup, etc. and the first 16 are balanced well enough to be easily driven.


radar range ?!? I am not a tank expert but I don't think there are tanks with radars installed. As far as I know they use IR sensors/laser rangefinders. Also I am suprized I don't see attributes like armor included.

#1874 - Lord Graga - Fri Jan 24, 2003 9:38 pm

Damn, that game sounds great :D
How do you get all the space for the graphics/etc.
Are you writing it in C?

#1875 - DeaneGainey - Fri Jan 24, 2003 9:59 pm

Radar is a practical application to let you see a bit beyond what is visible on the screen. It has absolutely nothing to do with real tank sensory systems - this will be an overhead view shooter so the radar is a supplement. Direction to goals like flags could be illustrated on this 'radar'.

As for graphic space, I'm not sure I CAN hold all the graphics - I haven't run any space tests yet. I've just drawn up various schemes on how parts will be done. Yeah, it'll run in C. I want to use an anime-style head for tank pilots, ala Advance Wars. I can't remember what the bounds are, but it's in my calc journal, and I can bring that Monday.

-Deane
_________________
--- Posts say it all, nothing to see here ---

#2073 - DeaneGainey - Tue Jan 28, 2003 9:47 pm

Pictures are 32x32 pixels.

16 Pilots - 'Dynamos'
You choose from these pilots at the start. Whichever you choose, you then join up 3 to make a team of 4. Dynamos start with minimal skill but increase swiftly, proving competition right to the bitter end. Dynamos have the most potential.

The next 3 batches have slightly lesser capabilities, but greater starting skill. There are various other breakdowns - some pilots are more set into a style of driving, and will not change much, for better or worse. Some are flexible in some ways but have 'gimmicks' to their personality on the field. All of this is set with the decision weights system..

Tanks can be equipped with custom weapons to augment their already varied designs (perhaps) this runs off a 'prime number socket' system. Each slot to hold weapons can hold weapons based on the number it has. Each prime represents a different kind of weapon. For example, if 2 were bullet weapons, and 3, lazer weapons, then a socket 6 (2x3) could hold both, a 4(2x2) could hold a size-2 bullet weapon but no lazer at all, and an 18(3x3x2) could hold a size 2 lazer or a bullet weapon.

Just posting junk to count seconds. These are all scratch ideas.

I WOULD LIKE - Character designs and styles for the 256 pilots. There are weights I will introduce next post for an example, and you can indicate on 1-10 how much your player cares about that. A visual description of the headshot (or a REAL 32x32 pixel graphic) are welcome.
_________________
--- Posts say it all, nothing to see here ---