A day in the life...
This will give you an idea of what its like to be an indie.
Tasks to be done on the project go on the "todo list". once they're completed, they're moved to the "done list".
here's the "done list" for Caveman for the last few days:
march 15th: * draw prairie better - need ref photos. need prairie grass textures. made new grass mesh, new grass textures, new grass ground tiles, new grass drawing routine. * draw savanna better - need ref photos. need red dirt tex. need brown grass tex. need acacia tree meshes. need acacia tree bark texxture. need acacia tree leaf texture. made acacia tree leaf texture, tree turnk mesh, and tree model. added ability to add a model to a chunk. added new draw tree routine. march 16-17th: * need to model getting lost better? get lost too easily? adjusted chance to get lost. some difficulty generting a low enough probabiltity check, as the dice() funtion can only go down to 1 in 32K chance. the odds are more like 1 in 2 million (or billion?) per frame. * tried numerous (six?) methods for drawing rain, including particle system. still no satisfactory solution. march 18th: * fixed weather engine (hopefully). world now split into 3 climate zones, hot, med, cold. sand, jungle, savanna only found in hot zone. limits placed on "temp at cm0", based on climate zone. so no snow in hot zone etc. * snow in jungle - weather engine * different weather for different areas? improved weather engine * snow in desert - weather engine * snow in savanna- weather engine * wood spear male 1st person atk ani - already fixed * water quads - gaps at seams - already done * water quads - increase clip rad - already done * clouds move too fast? cut speed in half * gap in ground mesh where flowing water meets ocean. need to change heightmap near ocean. if at edge near ocean, heightmap = lerp from std heightmap to zero. fixed. heightmap was returning water edges with no seam fixup. now it does water heightmap, then seam fixup. seam fixup already accounts for ocean. * fix heightmap where flowing water crosses map square edge. was caused by no seam fixup. now it does seam fixup. * z fighting where flowing water meets ocean. made hm_flowing_water_edge routine that comes before (overrides) seam fix where water crosses map edge. * ocean color is darker than flowing water. generate ground mesh: ocean was using ground material, not default material. * add impass mtns to player map when they come into view * automap the local map more often, spinting skips some local map squares. * butcher animal - show % done. already done. * should not get fatigue watching clouds etc. - you don't. its damage and encumberance doing it. * animate player run (walk, actually) in cross country 3pv * clouds move too fast, shouldn't move as fast as wind? cut speed 50%. march 19th: * player jump ani in 3pv * 3pv, jump: make model go up/dn. * fixed: forward motion stops while jumping during continuous movement. * jump: restart sneak ani from the beginning each time they start a jump. * impass mtns - show msg, improve hgt map. already done. * game starts in winter! fixed, starts in spring. * stargaze, etc - show mood during the action. did stargaze, watch clouds, sing, dance, play drums, play flute, and daydream. * draw player upatree in 3pv. * dont draw player upatree so high in a tree in savanna. upatree increases y by 20. this is done many places in the code, hard coded as 20. making it a variable would be major work. probably not worth it. * superclip4 was clipping bandmember upatree. turned it off for drawing current bandmember upatree. * move upatree height down to work with acacias, as well as taller trees. so that hard coded 20 became a #defined constant after all. * disable move, climb, sneak, and jump when upatree * moving manually, fatigue hits 100%, triggers rest action, speed doesn't drop back to normal at end of rest action. fixed. it was pushing donothing on the action stack. when rest ended, it would pop donothing and not change speed, instead of setting action to donothing and speed to normal. * increase clip rad of acacia tree model. same issue as 3pv clipping of player up a tree? superclip not working for objects below the camera? * sleep doesn't take long enough? increased base time from 1500 to 1700. * green sky, just before noon? fixed. limited r,g,b to 255. brighter sky was probably causing wrap around. * should rain wake you up? rain and snow now wake you up when it starts to rain or snow. * rest - if no action afterwards, set gamespeed to normal (1). already done. * use old flat heightmap for swamp * rest action: show fatigue % * ACTION AREA FOR RIVER NOT WIDE ENOUGH? fixed. increased from 20 to 30 radius. * river quads dont quite reach to edge of river bank. fixed. increased draw rad from 30 to 40. * small deer are too small and slow. fixed. animal 28. scaled model by 1.5. changed texture and moved horns so it wasn't just a smaller version of animal 11. increased speed to .4 * improve heightmap where flowing water crosses map edges. * more stars at night - double up the textures march 20th: * savanna being generated in bottom 1/2 of map, not bottom 1/3! * need non-tropical savanna. same as savanna, appears in northern 2/3 of world, uses regular tree models. * regen terrain chunk if waterhole or creek goes wet/dry. covergae can change too. and other types of water. 2 choices: 1. regen map sqaures that change. 2. invalidate all chunks when the map changes, forcing regen of all chunks. made it init_chunks after change_the_map. no problem. runs plenty fast. didnt even notice it re-generating all visible chunks. march 22nd: * input mapper. can remap input controls to any key or mouse button. added new playetest menu, triggered by alt-F12. moved playtest hotkeys (including old playtest menu) to new playtest menu. pain in the ass. lot of typing. 2 days. 33 input controls, mappable to any key, or L or R mouse button. needed a routine to return the name of a key/button. numbers, function keys, and letters were easy. everything else required a huge switch statement. same thing when checking what key they pressed. tons of typing. * falling snow needs help - need to get online. current effect is passable. good enough for now. * rain: need better rain effect - need to get online. made rain tube w/ endcaps. tube is cylindrical mapping scaled 30x10, endcaps are planar mapping scaled 10x10. uses 4 animated textures in round robin fashion. tube is unit size, scaled to 3 ft height and diameter around the camera. march 23rd: * improved caveman font * dropped lit torch - animate flames ! use torch model. save head texture. change head texture to flames, and also draw a quad with flames. similar to flaming javelin. restore head texture when done. should a lit torch go out if you drop it? - No. make flaming torch model - animate the textures before drawing done. model already made. animated the textures, set material to beacon. * crc check for corrupt savegame files. give option to load backup if corruption detected did checksum. added to z3d library: appendfilebin() filesize() file_checksum_ok() calc_checksum() append_checksum() made the game load save "b" if no save "a" found. added checksum to save and load game. shows msg if checksum bad. aborts load. ran quite slow at first, doing it one byte at a time, 15 seconds? made it use 2K buffers. takes about 2 seconds. maybe 4 from disk. not bad for a 67 meg savefile. * add optimize meshes to playtest menu. remove optimize mesh from loadmeshes. march 24th: * skybox not low enough. fixed. made it unit size, centered on origin. made it draw at scale 3, centered on camera. * made sun and moon draw centered on camera, not player at y=0. skybox centered on camera and sun/moon centered on player caused parallax motion of moon when you slew the 3pv camera around. * fixed block ani 1pv * block ani 3pv * draw lit torch in hand, 3pv. added draw_lit_torch_BM(). added drawinlh(). * draw lit torch in hand, 3pv, animate the flames. set material to beacon. * change defult mapping of "sheath wpn" to the "F" key. "H" is too far from W and left shift when you're trying to sprint away and sheath your weapon to move faster. * remap input: doesnt list all control names correctly (function keys). both remap and get_vk_name used string manipulator at same tme! made get_vk_name use its own internal string. * add: reset input controls to default mapping.