{"author_name":"speciesUnknown","cat":"LD #19 - Discovery - 2010","comments":[],"epoch":1289248560,"likes":0,"metadata":{"p_key":"69052","p_author":"speciesUnknown","p_authorkey":"865","p_urlkey":"104855","p_title":"Already got my starting framework for LD19","p_cat":"LD #19 - Discovery - 2010","p_event":"LD18","p_time":"1289248560","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"865","us_name":"speciesUnknown","us_username":"speciesunknown","event_start":"1282262400","event_key":"4","event_name":"LD18"},"text":"<p>This is basically my framework from last time, with a few extra things added in from LD18. I spent some time during the competition re-inventing the wheel, and this time around I will be starting out with the following things pre-built;<\/p>\n <ul>\n <li>\n Crude animation system. This is the animation system I invented for LD18 with anything remotely game specific removed. It supports an idle loop, temporarily &#8220;hitting&#8221; an animation so that when its done, it returns to the previous one;  &#8220;terminating&#8221; on a given animation; that animation will run once and then the sprite will *not* return to its idle animation; andthis animation cannot be interrupted by any hits. This is useful, for example, with a death animation, which cannot be interrupted and is the final state. <\/li>\n <li>\n Sprite Factory. A sprite is a set of animations; each animation has its own texture (although there&#8217;s no reason they cant share) but the sprite factory will instance a sprite for me. I may use XML for the sprites this time around, but last time, I just hard coded the prototypes for the factory (its that kind of factory) in the factory&#8217;s ctor.\n <\/li>\n <li>\n My basic &#8220;lazy loading&#8221; resource table. The purpose of this class is to allow me to lazy load a resource by name and then grab an integer ID for it; no need for fancy streaming or additional threads, each resource to be loaded is loaded directly from disk, resulting in a blocking wait. I wont have the time to be messing with streaming files.\n <\/li>\n <li>\n Crude pathfinding. Given a current square, and a destination square, this will decide what move the creature of object should move to next. There is no &#8220;creature&#8221; class as I don&#8217;t know if the game will even have creatures, so I&#8217;ll need to modify this when the competition starts.\n <\/li>\n <li>\n Crude 2D Renderer. This has features such as &#8220;draw square&#8221; and &#8220;draw text&#8221;. I wasted time deciding how this should work in LD18; I should be able to dive right into gameplay this time around.\n <\/li>\n <\/ul>\n <p>It also has the features of my previous starting framework;<\/p>\n <ul>\n <li>Texture, and shader loading each into class Texture and class Shader. I never bothered with shaders last time; I may not this time, although its possible that I will have the time this time around.<\/li>\n <li> Crude wrapper around fmod for playing sounds.<\/li>\n <li> Windowing, keyboard and mouse input from SDL<\/li>\n <li> Image loading (into textures) using SOIL <\/li>\n <\/ul>\n <p>Here is a download link for anybody to use it; I cant see this hackish, undocumented and incomplete code being commercially viable, but don&#8217;t use it for anything commercial please. Thanks.<\/p>\n <p><a href=\"http:\/\/members.gamedev.net\/speciesunknown\/starting_framework_ld19.zip\"> LD19 starting framework <\/a><\/p>","time":"November 8th, 2010 3:36 pm","title":"Already got my starting framework for LD19"}