(Input html or adsense code here)
(Input html or adsense code here)
Recent Posts
Recent Comments


    Game Development Learning
    Programming or writing game is not as difficult as you might think. If you have some programming experience, you already have much knowledge and skills needed for developing a game. But, game development involves understanding many different roles, and elements ( game design, image handling, animations, AI, etc) with programming being a critical element. Thus, game development is an effective learning tool, since it is linked to many overarching success elements, such as, being fun and appealing, maintaining organization, and clear, effective communication, across the development pipeline.
    From a programming perspective, two ingredients, that I feel will support overarching elements, and roles, respectively, are: 1) an iterative-modular programming style, to address cohesive coding, code growth, and avoid spaghetti code; and 2) expertise with the Elements of Game Programming, thus, being able to communicate between the technical, design, art, and business viable aspects, necessary for any collaboration.
    After some design analysis and game development research, I chose Phaser, a JavaScript game framework for desktop and mobile browsers, for a platform game called Steam, designed from a game development workshop in college. Phaser, supports fundamental gaming features needed, such as,

    • physics
    •  tilemaps
    •  animated spritesheets
    •  particle emitters
    •  portable sound
    •  keyboard & multitouch input

    in addition to having a state manager to address high level mode states (title screen, menus, game, and the levels of your game), and low level event states (game-states that result from players’ actions, and object behavior needs). For instance, a character in your game may have states representing awake, sleeping or dead. At any moment their behavior in response to a loud bang will be dependent on their current state; they may crouch down (awake); wake up (asleep) or do nothing (dead).
    So, with all thing said, not knowing how large my code might get, and keeping with ingredient one, I started out this game coding using RequireJS to organize and manage code modules and their dependencies, along with lazy loading. Using RequireJS helped me in structuring the high level state modules (configuring, splashes, menus, level controlling, loading , game play, and game end), my first step in avoiding spaghetti code. Thus, allowing me to focus on more event based code modules and game design patterns, needed for event states.




    Goal one that I set for myself was to create a template that I could use for development and production differences. A template that would allow me to test desktop and mobile device browser compatibility, scaling, media, and code functionality.