Moving On Up


We did another filming session at the weekend, got a lot of stuff done.

I decided last week that I needed to show when the player rests, so that immediately added 113 sequences to the workload, and the current state of play with regards to film sequences currently stands at 475 / 623.

Not including any required re-shoots, that leaves 148 left to do – and we’ve been averaging 158 per session. I guess that’s do-able, especially since a decent amount of those sequences are just the rest scenes (plus there is a minimal amount of “general scenes” that will require shooting/re-shooting).

In terms of code, I did a pretty important fix yesterday: When deleting all files that begin with X from a folder, instead of querying the name of every file in that folder, the code now specifically looks for each file in sequence, testing if it exists and deleting if so – stopping when the filename in question no longer exists.

This was necessitated by the fact that the app began to crash quite frequently towards the end of the session, when the number of images in the image folder started to get beyond ridiculous.

So anyway, things are good. Probably get the last session done on the 17th May, so in the meantime it’s up to me to make sure that everything is 100% ready for on the day.

Ta ta!




Progress Update

Here’s a quick list of things that have been applied to the app over the weekend and last week:

  • Implemented “invert L/R” so that choosing L/R can appear more intuitive without destroying the basic structure of the option map orientation
  • Implemented “lastPositionSubWasAttempted”, so that we guarantee that the first move a player will attemptm, upon entering a pre-submission, is a submission
    • It would seem daft to keep entering submissions and then immediately releasing them without attempting to finish
  • Replays seem to be recording orientation better
  • Implemented rest sequences
    • When player rests now, it will show a few frames of them “settling” in that position
  • Fixed the “Fail hip bump sweep” bug (where, if the player chose not to chain attack, the player position remained as “Fail hip bump sweep”)
  • Implemented better representation of scoring points display

That’s about it I think. I boxed it off as v0.1.11 last night but immediately found a bug, so my short task list for tonight is:

  • Fix the (new) bug where it crashes if any player attempts to execute a counter
  • Make sure replays record a deliberate rest
  • Make sure replays record proper fail sequences

And that’ll do. Continuing to take shape. Boss.



Failing Successfully

Been ill again the last couple of days, but I did manage to squeeze in an improvement or two to the app.

When you fail a move now, it shows – unless there is a specific fail outcome sequence to take you to a different position – the first x frames and then plays back to zero to actually show the player physically failing to complete the move.

It makes the whole thing a lot more intuitive. It flows better.

I’ve also done a bit on improving the replays (aided, of course, by this new way of showing failure), and I’m pretty pleased with the way it’s going.

I might do a tiny bit tonight, although I do have last night’s UFC to catch up on, plus I’m minding the kids whilst m’lady is out for a meal with her mates. We’ll see anyway.



Struck Down


Had to cancel yesterday’s filming session, I’ve been very ill this week. Some sort of bug, I dunno, but by Thursday I was so hot I was almost glowing red. Horrible times.

We’ve rescheduled for this Saturday, but even then I’m not sure I’ll be okay. I still feel like shit. Proper restless leg syndrome and everything. Horrid!

Anyway, during my illness I’ve still managed to keep on editing and adding sounds to the existing move sequences, and it’s coming together well. I also made some notes about the next lot of stuff I’m going to do code-wise:

  • Find better way to present points awarded during match
    • Do something more similar to the money transactions
  • Find better way to denote move attempt failure
    • Possibly run a few frames of anim, then run back to zero
  • Find better way to denote rest
  • Get ambient gym noise sample
  • Only allow ACTUAL positions to be recorded as the last proper position
      Because failing a “chain fail” move is setting the initial chain move as the position
  • Replays
    • Replays must record orientation at the time
    • Remove duplicate entry of chain moves into replays
    • Stop moving background while red button menu active
      • No need to redraw any of that background because all drawing is confined to the TV screen
    • Make the replay intro screen a bit better
    • Put sound into replay
    • Show failures as the first few frames and then back to zero!
    • Arrange the list better so there is separation between rounds
  • Reduce waiting time during auto-choosing
  • Time any applause to coincide with keyframe
  • BUG: Fix the issue of aiHashMap causing memory leak for blue belts and above
  • Make AI decisions based only on the PLAYER’s skill and energy, NOT on the inherent difficulty
  • Prevent excessive resting with AI choosing

That just about covers it. I think it will really start taking shape very soon. With these issues ironed out, it really should start to feel like an enjoyable game.

I really must make sure it flows.



Keyframes And Whatnot

keyring and keys

I’ve done some decent work since Friday, summarised as follows:

  • Introduced keyframes into sequences
    • So that crowd reactions and commentary can respond at the correct time for each action
  • Sound stuff
    • Added a visual readout of the sample name when on selected frame
    • Added visual indication in OptionChooser to show any nodes with valid sound files associated
    • Bought some really good samples off of t’internet
    • Started sequencing sounds into the moves (swipes and impacts)
    • Removed pause at end of looped samples/music using Audacity and saving as .ogg file
  • General sequences
    • Starting to put victory/defeat sequences in
  • Tried (unsuccessfully) to fix the replays
    • Will really dumb-down the pacing controls, and probably require a unique method for running replays

And my next focus (focii?) will be:

  • Tidy up the “playCheer()” stuff in cases where you’ve skipped a match, or it has ended on points and no cheer has been played during submission sequence
  • Fix the replays
    • Either using a new method with dumbed-down delay logic
    • Or by properly understanding how tournament adverts seem to work fine…
  • Implement the “L/R Switch” node in the edit node menu
    • So that a left or right choice can be tailored to produce the most intuitive orientation
      • eg. a move in which you move to the left, but your right leg is the principal actor – which way should it be? Well, we can tailor it now

That should do ya. Begone, foul creature!



Sounds, Commentary And Replays

chris kam

Well, I accomplished everything I set out to last night, and in decent time too. Particularly pleased that switchTurns() now takes into account orientation switches. This thing is really becoming quite solid.

I also had time to implement the rendering of the current position in the background, semi-opaque, when you do a “null press”. Helps to keep the player aware of the position they’re in (and helps me keep track of which side the next move should be on).

Amongst a ton of other cool/interesting stuff, my next focus will be on getting some sounds into the image sequences, getting the basic shell of the commentary system sorted, and getting the damn replays to work properly!

With regards to the replays, I just think they need some proper pacing control applied.

That’s it for today, short but sweet.



Slowly Slowly Catchy Wrestling

I’m continuing to make good progress. I’ve very nearly ironed out the whole “orientation” stuff, I just need to:

  • Make sure orientation switches correctly during “switchTurns()”, according to the “flipRequired” variable
  • Make sure we don’t keep rendering lingering orientation choices when it’s P2’s turn
    • Basically need to reset the relevant boolean each time we switch turns
  • Make the choice arrow semi-opaque, unless both choices have been rendered

I’m due to start putting sounds into the sequences now as well. Gonna record some basic examples of various swipes and impacts, to give the move sequences some real “body”.

I’ve also come up with a bit of an ambitious idea today: Commentary

I think I could get someone reputable to record a set number of stock lines that could be used to great effect in the app – and I no longer have to worry about the size of the.apk since I’m committed to using expansion packs to get all the bulky data across.

This could be really good! Tellin’ ya.