Greetings Bay 12, and well wishes to all. I figured on announcing this project here earlier rather than later, since I'd like an informal place to store links and thoughts for it, and though it's just in it's infancy, I hope and think it can grow quickly.Site 17 is a survival horror roguelike-in-progress inspired by Nethack and DF, set in the SCP Universe. You play the role of the last surviving member of Mobile Task Force Rho-8, sent in to investigate Foundation Site 17 after [REDACTED] caused the site to [REDACTED] which of course is likely to result in an XK-Class end-of-the-world scenario. Details like how to save the world from [REDACTED] and why this is happening will be exposited in the briefing.The game uses the libtcod library and is built from the tutorial engine seen here at Roguebasin, which provided a fun way to learn Python and develop a functional little roguelike at the same time. This is hardly a game yet (if you try combat you'll see what I mean), and no actual SCPs are in there yet. Hordes of maddened SCP staff will be easier to wade through when firearms are in, at least until they carry guns too. I'd like to try and include an actual SCP before the next demo release. Tonight saw persistent dungeon levels implemented, but it currently needs skill tracking, equipment, repopulate methods, combat formulas and a speed/timing system. I'll be working on these in whichever order I figure them out.Jotaf's engine is pretty flexible and it's easy to switch around object components, which is good for all the SCPs that mutate people. Setting up a system for player equipment seems to me like the next proper step, but I'm not a very experienced programmer and would appreciate the counsel of my betters if I suggest or do something dull or half-witted.Anyway, I recently figured out how to neatly compile the scripts, so please feel free to check out the demo posted up top! The source is included, the program is totally open-source and everyone here is welcome to it, though I would like to reserve the position of Editor-Tyrant for Life over the official build. Also, there are a couple BSD licenses involved in the source, so please keep the license files along with any redistributions you make.Thanks for reading, and watch out for 173.
.004- added system for stacking appropriate items- migrated physical character attributes away from Entity component- upgraded reload function, no longer wastes ammo- clip size is now attached to guns, persist when gun is dropped- added "loud noise" system where certain actions (like gun play) can generate sound- basic monsters will investigate sources of sound- bullets no longer hit corpses they aren't aimed at- added character classes to character generation- added Skill class for entities and skill generation for players- updated/fixed various combat calculations and tied entity combat actions to skills.003- fixed combat string display error when attacked while wielding weapon- save removal system set up for dead characters- raised brightness of walls hidden by fog of war- added basic system for tracking individual body parts- cancelling a target for guns no longer causes the gun to fire- changed default font from TCOD format to standard ASCII- fixed fullscreen toggle for menus and non-main gameplay modes.002- added proper splash / loading screen with character generation- implemented random stat generation- implemented base for character stat checking (press 'c' in game)- implemented system for equipping and unequipping weapons- implemented projectile firing system- updated combat calculations (rolls to hit, rolls to dodge, rolls to dodge bullets)- changed console info display and made combat logs more interesting- added basic system for tracking damage types, weaknesses and resistances- shifted global inventory variable to object class, so NPCs can have inventory- improved pathfinding using A*- improved grenade functionality- put first status effect (confusion) into the game- added player genders- SCP-732 added
- Implemented force application system for manipulating game objects- Fixed display bugs with reloaded ammunition and thrown grenades- Added item throwing and a quiver action to prepare items for throwing- Added fuse/alarm system for triggered object actions throughout the game- Reworked grenades and tied them to throwing, force and fuse systems- Added general systems for filtering/sorting menu items- (q)uaffing action added for drinkables- Made certain player-only actions accessible to other entities- Added external .txt config file- Exported variables to bodyparts.py, constants.py and options.txt- Changes to map, character and monster generation scripts- Upgraded combat calculations-fix an embarrassingly bad way of removing a temp file created by a bad way of importing the options.txt.
- Fixed assorted display issues- Enabled default player name, looser syntax in options.txt- Made the .txt file loading function more flexible- Moved more player/item-only methods and attributes to more general focus- Replaced AI classes with state-controlled AI base class (still entity component)- General take_turn function added to entities- Exported some map-related objects to maps.py- - render functions to render.py- - various functions / base classes to slib.py- - projectile oriented stuff to projectile.py- Removed Skill class, skills are now stored as an entity-level dictionary- Item components removed, Item class altered- Lots of other internal changes to codeI'm too drained to get into this at the moment. The code's in a state of flux, and there aren't very many visible changes in the game from last version, but the internal code is shifted around. It'll be nice to finish this groundwork stuff so more content can go in.