################ # PerlRL: TODO # ################ ######### # 0.4.0 # ######### - Fix the "Where are we?!" bug, which seems to be caused by the character attacking another and silently killing it due to non-unique hotspots. - Plan improvements to EmotionRL. - Anything else I have time for. ################################################################################ # # # # # # # # # # # # # # # # # # 0.4.x # # # # # # # # # # # # # # # # # # ################################################################################ ########## # Engine # ########## - PROFILES. testing1 could include no monsters and autoLOS and 2 could have baddies. - Centralized debug thingy. dynamically reassign STDERR. cool indention, descr of stacktrace, etc - player blocks before any move.. rage, frozen, etc - rename dleayed events DAEMONS - Messages could be more interesting and even defined externally. Return of msg ids? - Wizard mode profile... spawn stuff, place it, etc for TESTING. Then a create/ mod content permanently option. Interactive creation. DB of content for indexing maybe. - The data interface syntax still sucks. Badly. Hrmmm... I hate methods. Next step up is... well, plain vars! tie so bloody slow and impossible to use tho - If pre is called at UI stage, then it's not called again later. Should it be? What if conditions change between input and execution? It may be a design problem later. - MAJOR PROBLEM. There can't be reactions to check actions. E.g., no way to react to before/after descend/ascend. LAUGH BEFORE PERFORMTECH!!!!!!! - Fix the priority queue. Use my old binary heap implementation, but fix the bug where undef entries seem to choke things. Make it fast. - Hmm... events only nuke themselves if they return -1. But react() will have a TOUGH time sorting with that! maybe -1 will make eventoff($name) be called - Much more flexible events. Data, sending what needs to be sent, reacting to checks... for all actions even. - savescumming is EVIL.... meh, who cares - optimize memory usage further - HalloweenRL (7dRL, start in October) - Massive bugfix, easy enhancement quest - Possible rewrite (design of everything should be stable, code clean maybe commented, and data organized. real documentation?) ############ # Dungeons # ############ - in dungeon style at end of hallways, randomly make a hall in opposite direction! ZOMG! - make the cave style be cool.. random rooms with overlapping corridors - ensure hotspots are plentiful and unique always - diag corridor sizes are a bit fixed right now due to weirdness - balance num of content with regards to size... - External map files should be able to define more stuff. Stairs autoadded, random? hotspots - Resimulation is perfect for makin videos - light cant travel thru walls... cellular caverns would look awesome with air bubbles! - predefined rooms (vaults, special areas, 4 diags connected, etc) - Fix the offset issue. Maybe row and column 0 can be for data? - Dunno why I changed to weird data structures for exit data coords. Fix permanently? - Barrier wall on the edges should be specially impermeable. - The logical exit thing is OK, but we should specify wall and direction too. Fix this, too. - All the styles can... BECOME A ROOM! YES! - More ways to configure. - Mazes! - place shouldn't choke. Just mix! - Major logic bug in dungeon code relies on negative values for skip offset values. Why? This screws up random() bigtime. For now, workaround is to explicitly say random(0, x). :( - post connection code may be a bit buggy ###### # UI # ###### - shooting stuff traces a little line quickly! - Much more detail in target! - Make the info panel its own window and use it for EVERYTHING. - Look into an RPG-style battle statusbar. Battles. - An interface to a menu object for character creation and such things - Make the UI more customizable and nicer. * Make the selectinv error messages slightly more extensible. * selectinv will look at the current tile for objects first! - tears of rage centers display on target (versatile UI) - flicker bug on statusbar... weird - map overview cmd (what about places not seen yet at all?) - static light sources... lamps, fire - UI is getting fugly... maybe different types of refreshes. - Cool interface idea: Rotating the display! Like targetting, it involves a good way to describe relationship between map on-screen and in memory. - Equipment screeen! - drop X of qty items - Make an interactive random number generation thingy. Have a thing that has callers explain what the random number is for. Storing just the seed is bad because of stuff like this. - Reference arrow keys by name not number - shoot() should use the targetting system!!! trace has to pathfind. Hrmm. ################# # AI & Gameplay # ################# - monsters on stairs is BAD - weird bug with penguin trying to move towards player, no thing to queue - better ai... guardmode - variable speeds for stuff - LOS memory better... render monsters - if there are baddies in the way, get as close as can do - **** baddies get a freebie move the first turn of the game cuz of interface and idle hack **** - hrmm.. ENSURE teddy is regainin tp - If a baddie ascends or descends, it won't be added to the queue or list!!! - Curses affect many things, or should. Why try to overwield on a slot that's cursed? :P - Skills, experience, piety... Balance. - cause of death msgs ######### # 0.5.0 # ######### - Improve EmotionRL - Improve engine CLEANLY as game is improved - Release game on rgrd, rgrm, Perlmonks, happypenguin. ######### # 0.5.x # ######### - Ensure complete cleanedness and stability, so new stuff can be added - Integrate text adventure elements such as full commands (thus, parsing) and room descriptions. Rewrite Adventure! - 3D dungeons in ASCII - Parties - Networked multiplayer by means of POE - Possible other interface... gfx? - Rewrite major roguelike such as nethack - Rewrite SNES RPG such as Earthbound or Chrono Trigger or Pokemon - interactive environment. furniture, scenery, wall markings. interactive? flooding room. AI influence. patrols, spotlights, etc. - make the project more publically available. site, use svn properly, maybe find a partner ####### # 0.x # ####### - An abstraction for battles themselves should be created, aiding AI. Mob AI. - Separate components of PerlRL into separate projects. An object protocol and a dungeon generator so far. ##### # x # ##### - Rewrite static core components in C for speed. - Rewrite in Perl 6. - Achieve perfection. - Come up with a better freaking name than PerlRL. PLEASE. - Solve an NP-complete problem... the traveling salesmen problem. Also related to connecting deadend halls. - If I have a girlfriend by this time, maybe actually retire from the project for a while. Oh no!