Odell Lake update 0

Continue for programming jargon and words.

It starts. I’ve got the beginning enums rolling. Enums are the best way to describe “stuff” and “other stuff” while not resorting to “stuff” is like 365 and “other stuff” is 0 or whatever else.

typedef enum {
    GameStatePlaying,
    GameStatePaused,
    GameStateEnd,
} GameState;
 
typedef enum {
    LevelStateIntroduce,
    LevelStateDecide,
    LevelStateOutcome
} LevelState;
 
typedef enum {
    DirectionLeft,
    DirectionRight
} Direction;
 
typedef enum {
    ActionEat,
    ActionChaseAway,
    ActionIgnore,
    ActionShallowEscape,
    ActionDeepEscape
} Action;

I keep to Capitalized letters, enum name plus the value all in camel case. These may change, but to get my initial loops and decision trees I’ve got to define a bit of state. Everything is constantly looping and you must use your state to wrangle those very fast decisions and you’ve got to keep everything in sync. Thankfully SpriteKit makes things easy and we don’t have to redraw everything manually in the update: tick but you’ve still got to maintain what the heck is going on at any various moment.

On the outset I’m making a clone of a cherished childhood favorite Apple II game. I’d like to use ‘touch’ to be able to do all of these things only with a bit more elan. A slight various came out on C64 as well. It was not better, but it did have better elements like before you make a decision the fish keep swimming around and the insects and things keep animating their little 2 or 3 frame dance.

Thus far I’ve got the concept of a player, a good plist file full of dictionaries of dictionaries of values and a bunch of enums. The interface lets you flip the horizontal by using this method:

SKAction *turn = [SKAction scaleTo:-1.0 duration:0.2]; //flip yah for real

Sure, it doesn’t work as intended because now the fish is upside down. ALSO all the games items are just that same kokanee image. That is the nature of the work now. My next move is to define the simple game of tapping the buttons and making the decisions. I may limit a game to 10 moves and try to build out some points structure. I will keep it in a state of ‘working’ but adding new things. It’s a constant dance of rewriting something to be slightly more robust. Objects replace primitives and then are replaced with other objects that you’ve made that fulfill those functions and add more. I now eagerly await the first bit of graphics coming my way.