I lied again. Instead of level generation I worked more on entity code and also getting entities on the screen, which is kinda important..
Not sure how I'll handle enemy facing, since I can't really make multiple sprites to cover all angles, especially in the remaining timeframe. Theoretically the enemies also have 360 degree LIDARs, so facing isn't that important for "sneaking" around, but it would have potential impact for weapon firing arcs.
I will almost certainly cheat for wheeled robots and allow them to turn in place at the very least, if not ignore the movement direction restriction, at least when they're under AI control. The AIs may cheat otherwise as well, purely because I have only couple days left to implement all of their behaviours and combat and I haven't even thought about the robot hacking...
Again it's late and I'm in no condition to code anymore today, so I've been drawing some more enemy sprites. Leaving those as surprise for now. As for robot stats... data organization is always a big problem, but will have to just do something and forge ahead with whatever works well enough.
For combat, I'm thinking each part of the robot has individual hit points. So the chassis has HPs and if that is destroyed the robot is destroyed. But for B902 there legs would have HPs (and if they get destroyed mobility is hampered), weapon mounts would have HPs, the weapons themselves would have HP, power supply has HP, and sundry systems (IFF module, transponder reader etc.) each have HPs. When you shoot at the robot and hit him, your damage gets dealt to a random system. Either purely randomly, or weighted according to their HP amounts. So large, high HP systems are more likely to get hit.
And same will apply to your own robot. So, more modules you have mounted, the more resilient to damage you become. But if any module gets destroyed then you lose that functionality. I think your own robot will have built-in self-repair capability, so destroyed locomotion or destroyed sensors will not mean immediate game over, you'll just be stuck in place for a while and blind for awhile. (Though in such a situation you are very vulnerable.)
Tomorrow's agenda:
- Moving enemy entities
- Pathfinding (I found a nice looking A* lib, so probably will use that.)
- Data driven entity creation
- Modules and functionality
- User interface work
As usual, today's live test at http://refractivegames.com/7drl/ (Chrome recommended, Firefox may be too slow, though some people on Linux reported acceptable performance.)
Previous snapshots:
http://refractivegames.com/7drl-wednesday/
http://refractivegames.com/7drl-tuesday/