Current State Of Affairs

Right, I’ve done a fair bit of stuff, bug fixing and improving (and I’m particularly happy with the Coach’s Advice guidance for first time players). Here’s a little list of (some of) the stuff I have left to do:

Short Term

  • Invalidate Rankings button until firstRollCompleted
  • if (chainMoveInProgress) we need to ignore setting coach’s advice based on success/failure of a move
    • Essentially, the move is still in play, and it’s the next choice that needs to be tested for success
    • May need to think about chain fails!
  • Stop making inactive nodes flash
  • Do coach’s advice for:
    • First match completed
      • Mention if won or not
    • First win (if first match not won)
    • First loss (if first match not lost)
    • Do analogous advice for Tourneys and Championships
    • When it’s time for your first competition
    • When you get challenged by another player
    • When a sponsor is interested in sponsoring you
    • When you break certain records etc.
    • General Training
    • Specific Training
    • Explore Mode
  • Display Skill Improvements
    • Re-use much of the current improvement screen code
    • Use the static tourney background
    • Create new menu ID (COMPETITION_IMPROVEMENTS_SCREEN) and menu nodes

Medium Term

  • Challenge Matches
  • Consistent ESF
  • All players improve after rolls or competition
    • Implement successfulMoves as a HashMap<String, HashMap<int, double>> where improvements are saved against the player’s name
  • Other ranks competing
    • Cycles through belt ranks on a two-weekly basis, allowing one tournament and one championship for each
  • Finalise Option Map v1.0

Long Term

  • Trophy Cabinet
  • Standard Font
  • Acknowledgements/Permissions to use various images/sounds
  • Film sequences
  • Proper photo/profiles of players?

Very Long Term

  • Online play
  • v2.0 with limb/joint based intelligent selection
  • Not just on mobile devices?

I think that will do for now. Gotta go.




Loads Of Stuff

Okay, last night I managed to get a few of those “landmark events” coach’s advice screens to pop up (first successful player move etc. during rolling). I will be continuing this tonight.

I may disallow all the other training nodes until the first roll has been completed.

I must remember to include all of these new booleans in the saveGameStatus() and loadGameStatus() methods.

I need to also Include some of this user guidance for General Training, Specific Training and Explore Mode. General Training and Explore Mode will just be a pretty simple one-off explanation screen, but I could do with adding a little extra guidance into the Specific Training screen (literally enforce a particular submission choice, then flash each node along the pathway, then explain that you got to that submission etc. and then get the user to attempt the next two without the guidance).

In keeping with all of this, I will also have to do info screens for “too early to attempt your first tournament”, “time to attempt your first tournament”, first victory, first loss etc.

I will also be adding, or continuing to add, the following cool new features:

  • When a null press is active during matchInProgress
    • Central node text will change to “Rest”, “Maintain”, “Do Not Counter”, or the node’s actual percentage etc. (if it is a chain move)
    • A new thread will start (and execute until !nullPressActive) which periodically cycles through all of that node’s relevant info
      • Percentage
      • Energy Required
      • etc.
  • In debug mode, when browsing the list of skills in the stats screen, readout which node these positions are attached to!
  • Give the user skill improvements when competing too, not just rolling

Keeping aware of some other remaining big tasks:

  • Consistent ESF
    • Between matches
    • After tournament
    • Need to do a study of all the requirements/current shortcomings
  • Implement resuming mid-match!
  • Film the sequences!
  • Re-film the belt sequences
  • Finish off the “inner details” of the Option Map

Niggling stuff:

  • Enforce a standard font across all devices?
  • Occasional rendering speed issues
  • Permission to use certain images, music etc.

Future Stuff:

  • Online play
  • Social Media linking
  • Expandable option maps

I think that about covers it for one day. Bye for now!



Programming Post Mortem

Last night didn’t exactly go to plan. Here’s a summary of what I “accomplished”:

  • Implemented “three taps quits”
    • Although I still need to apply an actual “submission” to competition and rolling etc.
  • Tried in vain the prevent a “residual screen press” being executed when you touch the screen during belt sequence rendering
    • Experiment with ignoreResidualPresses boolean which, when active, completely negates the onTouchListener
      • NOTE: This will need to have its own internal thread which counts down maybe 100-200ms before resetting the boolean
  • Fixed the “null press causing belt colour to change” bug

Didn’t get round to fixing the player energy bug, or recreating the explore mode position bug. Might plan a quick session for tomorrow morning…

    • Implement ignoreResidualPresses
    • Fix player energy bug
    • Implement guided roll
      • Need to choose opponent and start position, skipping dialog
      • Rather than completely guide the player, we need to let them choose, and then we respond to the following first occurrences of:
        • Successful move by the player
        • Failed move by the player
        • Successful move against the player
        • Failed move against the player
        • Initiative move occurrence (for either player)
        • Counter opportunity (for either player)
        • Need to also explain counter failure, and how the initial move continues successfully
        • Chain move (for either player)
        • Chain fail (for either player)
        • Resting
        • Attempting to rest in a pre-submission position
        • Choosing not to counter

Some other stuff I need to make note of:

  • Maybe change central node text to “Rest” etc. upon holdDownEvent
  • Perhaps include energy requirement, inherent percentage etc. into display upon holdDownEvent
  • Have a think about updating the PC-based option map editor so that we can speedily apply all the attributes to each node

That should do for now.



Bug Hunt



On Thursday I shall be mostly fixing the following bugs:

  • When looking at any rankings above White Belt, if you do a null press on the screen, the background graphic and title switch back to White Belt, but still displays the other rank
  • Clicking during belt-tying sequence should consume the click, or stop the sequence
  • Immediately resting in a match where you have full energy reduces your energy to the maximum recovery limit
    • Include a test to see if you’re already below that limit, before imposing this limit in the rest phase
  • Still get blank screen crashes when entering Explore Mode, probably to do with a null exploreModePosition
    • Need to actually catch this in debug mode


Other required work, at some point, includes:

  • Implement challenge matches
  • Make ESF consistent
  • Complete option map
    • Get percentages, energy requirements, linked skills, etc. sorted
  • Implement guided roll
  • Re-shoot belt-tying sequences
    • With better background, clothes, and without my cockle-toe being so prominent
  • Countering
    • Rather than being a flat percentage, your chances of attempting a counter should increase proportionally to your skill
  • Competitive matches should improve you like rolling

That will do for now. Be off with you!



Choices Choices Choices


Been working a fair bit on getting the Option Map™ completed lately. The screenshot above is from the “explore mode”, where you are able to browse through all positions and outcomes unhindered, and this also serves as the actual editor for designing and implementing the choices that will be available to the player.

I only have a few remaining positions/options to iron out and then I will be signing off on my v1.0 Option Map – which will no doubt be met with a torrent of abuse because I have forgotten such and such a move, or that the techniques I have included are not fully legit, etc.

Fuck off.

Anyway, with funding options seemingly out of reach, it seems like I will be going it alone (financially). Hence the push to finish the Option Map so that I can properly start planning the filming of techniques. I suppose it was always going to be this way, but I guess the “ideal dream” of copious funds and time has kept me going this long anyway.

Once the Option Map is done, I will be looking to make solid plans to bring this project to a close.