I'm planning out a game of modern roller derby. The game must keep track of 10 player objects (technically, blocker objects could be controlled as one object in many cases) and those objects must be in bounds. The track line is considered as part of the track. If a player objects' skate touches outside the line, you're Out of Bounds
, in which a set of rules and possibly penalties apply, depending on your subsequent actions. Generally, the bulk of them won't be OOB unless pushed outside. Here's an example
of that happening in a real-life bout. WFTDA rules specify a track to be 15' wide at the jammer line, and 13' wide at the pivot line
; a relation which repeats at the opposite side of the track. This is not only to compensate for centrifugal forces, but has also become an important tactic. It is easier for the jammer to pass where the track is wide, so you'd want your teams' jammer to pass there, and the opposite teams' jammer to engage where the track is most narrow. Therefore whichever team controls the pacing of the laps at the moment has the upper hand. It's an important dynamic and i want to keep the track relatively as is for this reason.
I'm almost 98% positive i'm going for a two-by-three screens big, parallel projected, isometric view for this design. It has some pros, including providing a good view sense of the playfield and player positioning, and less likelyhood that player object sprites stack up, exceeding the 8-sprite limit. I had originally planned 2x2 screens, but that made the track feel too small. I might roll back if the meta-sprite size is too much.
map_sketch02.bmp [ 240.73 KiB | Viewed 392 times ]
A perfect geometrical representation that looks ok at low resolution took way too many unique tiles to make, so i scrapped it. This is a fairly decent compromise, although i'm concidering scrapping different colours for inside-bounds/out-of-bounds (it would conserve ~50% of track tile space and leave enough room for off-track decorations).
trackportion2b.bmp [ 30.12 KiB | Viewed 392 times ]
What would require the least computation? I don't know much about what my options are when it comes to hit detection. I was thinking of identifying Out of Bounds as contact with colour 0 (the one used off-track), but that goes down the drain if i am to conserve tile space and skip the off-track colour being different than the on-track one. Which leads me to think i should check for a special out of bounds clause whenever the player object is in contact with the line colour. It needs to be convincingly precise. The game would be ruined if this condition was off the mark by too much. Something like "if block containing line is touched, check LUT. if horzposition this then vertical must be at leat that". Am i on the right track? What options are there?
As a bonus, here's a still pic of 4 out of 6 frames for flag animation and a victory decal i made. You'd collect decals and stars, much like mario kart for completing tournaments at different difficulties.
15589670_369908930025669_2267255078865519873_n.jpg [ 25.48 KiB | Viewed 392 times ]
Note: 8-way scrolling and a status bar means this would use cheapocabra's 8kB nametable RAM.