- start with something simple - 2D - scrolling background - vector, images or both? math / generated? tiled? - background is images at the moment. - use images for characters / parts of characters too. (just for a difference) Can scale / rotate them if needed. - hero? - start as a one-legged hopper ala Gish - triangular - need vectors, damn you modern X! ---------------------------------------- progress point ---------------------------------------- - hero? - person, animal, spaceship, platypus...? - progress to two legs, 4 legs (arms) etc ala Aquaria! - animals - other people - deep phyiscs - gravity - realistic 9.8 m/s/s. Decide how big a metre is in the game. Maybe 40 pixels / metre. - mass - position, velocity - gravity - rotational inertia - no tumbling for 2D thank goodness! - scrolling - auto scroll ala Thrust - manual scroll - fix (don't scroll) button? - problem solving with perhaps many solutions - contact detection - normal reaction force - impact - how to do it? - peek pixels? - test bitmaps (masks) against one-another? - tile-based collision - work out what tiles an object is in, and check against those tiles background shapes, and other objects in those tiles - do I need to know what object it intersected? yes! - do collision detection after updating position and velocity, and before plotting. check: - 1. List objects by tile (1 or more tiles per object). Include off-screen. - 2. Test bounding boxes - 3. For common scan-lines, test overlap. - 4. Calc actual collision points, time of impact, normal vector A->B. - 5. Calc impulse, angular impulse, and reacted position / velocity / spin for each object. - name? - platformer - but innovate - ocean / water. surface / underwater - sloping or curved platforms - acceleration, realistic feel - Exile; or more playable? - digging - bouncing rocks / balls - puzzles? - thaumaturgy, urging (like bending, ATLAB), elements, alchemy (FMA), magic, dying earth - deep controls? - lean fwd/back. left foot fwd / back (or up fwd down!...), also arms, etc - learn to crawl or shuffle first. can jump, etc... - maybe do this in the tutorial level. - macros: can program sequences of movements to fn keys or combos, etc., need to do this with repetition, like a learned habit / acquired reflex - do not - vision - can see only where you are looking, perhaps with shadowy outlines elsewhere of what you saw, that fade. makes the rendering lighter too! - hearing - stereo positioning for directional hearing - unusual (for a game) bodily functions - sleep (drowsiness), tiredness / rest, elimination, hunger / thirst, bathing, sex, emotion (fear, ...), temperature - re: hunger, may need or want to cook. Need fire for that... etc. - terrain and vegetation based on cross-sections or 2D paths in the real world - probably don't include real-world cities / human buildings / streets, etc - include buildings / scenarios created for the game / by players in the game - default initial position could be based on your GPS or geo-ip location, with some randomisation - weather based on real weather in that place (either now, or as recorded at some time) - death is final, there are no 'lives' - game is 'saved' constantly and can be restored only once - this is enforced via the internet whenever possible - your game history must be unique - it is generally easy to avoid death - but, you can play again as a different character - character creation - ala role playing? - choose physical attributes - height, etc. - smallness might be an advantage sometimes too - network gaming / multi-player - game security / copy protection - secret server component? - update component - competition for success - public domain (at least the libs, maybe whole game) - buy the game and service - pay what you feel, from the beginning - collect gems - increases magic ability? - sell for tools / food / etc - edit levels, by actually walking around in them and digging, etc? - use a different character for that, perhaps a demon - include rotation, rotational inertia - many more different animation frames for a character - crouch before jump - no special jump logic, it only happens according to normal collision reaction rules, with those crouch/jump animation frames