Share your repls and programming experiences

← Back to all posts
3D RPG Text Adventure (no .. really, I promise: 3D)
Hashcode (190)

NOT YOUR TYPICAL REPL TEXT ADVENTURE!

[ UPDATES: ]
1. WHY UP-VOTE? If you play the game and like it, please give it an up-vote so more people can see and enjoy it. The REPL "Talk" screen sorts projects by a ratio of AGE vs. UP-VOTES.
2. Don't forget to REST when you've taken damage after a fight!

[ STATS: ]
As of 2020-03-22:

  • Over 8,000 lines of complex class-based Python code
  • ~800 total characters created
  • ~80 characters played >= 0.01 day (longer than ~8 minutes)


Hello fellow REPL'ers,

A while back, I shared my initial idea for creating a 3D maze game. I took that idea and combined it with an RPG Text Adventure I've been working on for a while. Here's the result!

NOTE: Game is best played in a full screen window due to the 3D perspective "window" in the upper right corner:
https://harn-gamemaster.hashcode.repl.run/

Typical text adventure commands can be used to move (such as north, west, etc), however you can also use the cursor buttons:
Up: Move forward
Down: Move backwards (doesn't change facing direction)
Right: Turn to the right
Left: Turn to the left

While the graphics seem VERY simple, it is in-fact a 3-layer rendering engine. If portions of the first layer are transparent (such as an opening in a wall) then the contents beyond are rendered. This means when you open a door, the contents of whatever is beyond that door will be shown, etc.

Currently, the engine can render: walls, a few kinds of doors, archways, torches, caverns, bridges and more.

Don't forget: You will still need to read the text side of the screen for room descriptions, NPCs and other information.

The RPG includes:

  • Save / restore characters
  • Custom character creation
  • Multi-layer armor
  • Skill-based fighting
  • Tick-based engine where things happen when you aren't typing ("tick" is around 10 seconds)
  • Day / night cycle
  • NPCs can be talked to
  • Quest tracking

Lastly, the game is clearly not complete. I work in my spare time on:

  • add "room objects" like levers which can be pulled or paintings that can be examined, etc
  • filling out the map
  • add more "frames" to the rendering engine
  • add more quests and items (eventually you will leave the Keep to adventure in the Borderlands)

I would guess there's enough in the game to play through the first 30-40 minutes or so (including the rat warrens).

Let me know what you think!

PS: Don't forget to play the game in a full screen / large window:
https://harn-gamemaster.hashcode.repl.run/

PPS. If you get injured, use the REST command (while not in combat) to heal up.

Commentshotnewtop
Hashcode (190)

QUIZ TIME! (PLEASE UPVOTE ONCE OR TWICE FOR VISIBILITY)

There are a couple of characters that are racking up some serious time on this:
RAINJER, SIX, LIZZY FOSTER, QWERT, and a few more..
I recognize @LizFoster and maybe @PintsizedSix40 or @SixBeeps but I have no way of knowing who the rest are.

If you've played through the initial quest, I have some questions for you:

  1. What's your favorite part about the game?
    a. Collecting new equipment / items
    b. Completing the 1-2 quests that are in the game
    c. Killing mobs (only rats currently)
    d. Exploring the city
    e. Fill in the blank

  2. Character creation:
    a. Rating overall (1-10)
    b. Ideas for improvement?

  3. Combat system:
    a. Rating overall (1-10)
    b. Ideas for improvement?

  4. Ideas for new frames to render in the 3D view. I don't want the game to be too creepy as there are kids playing on REPL. Keeping that in mind.

  5. I need to add a bit more "fun" to the Rat Warrens and then I'll move on to adding more of the city and another exploration area with new mobs (catacombs).. Does this sound exciting or "just another grind"?

  6. Would you like to see the "text" area cleared after each input?

  7. Should I implement a "score" for the game based on quests completed? And then possibly turn that into a public "top character" list?

Thanks!

LizFoster (606)

@Hashcode

    • Either c or d
    • 7
    • If possible, make it customizable (i.e., allow users to
      edit any attributes they'd like to be slightly different)
    • 6
    • Make the miss chance much lower. My first ever battle
      took around 20 minutes of just entering A over and over
      again. (Lol) Also, I got stuck in an infinite loop of me
      fleeing and then immediately getting attacked.
    • To keep things simple, for trapdoors maybe just have a
      rectangle in the center of the screen (with lines through
      it to make it look like wood). For the warehouse, maybe
      just have a few boxes lying around if possible. I like
      the rat designs, they are rather cute.
    • Yes, it does sound exciting. As a quick suggestion for
      the rats themselves, maybe make there be a 5-7% chance
      for the rat you encounter to be a large / alpha rat, and
      the deeper you go into the warehouse, the higher that
      chance goes.
    • I find grinding fun actually, so it sounds exciting!
      (Lol)
    • Yes, but maybe have it so that it reprints all available
      directions each time, as it gets slightly annoying to
      have to say "LOOK" every few turns.

Overall, this is quite fun to play, but I'm a bit of a sucker for RPGs, so maybe I am biased!! Thank you so much for asking for my input in this; I will help in any way I can.

Good work!! (〃^▽^〃)

Hashcode (190)

@LizFoster Great Feedback!

To clarify #6: This is when you use the cursor keys to move correct? Normal "east", "west" commands should print the room descriptions / exits. Easy fix would be to make the forward / back keys work the exact same way as entering the direction. I'm not sure we should do that when you turn tho. ?

LizFoster (606)

@Hashcode Well, I am referring to, if you enter somewhere like a shop and say "BUY," it:

-does not allow you to exit if you changed your mind
(though that's no big deal at the moment)

-does not print which direction you must go to leave
the shop once you say "DONE." Not TOO big of a deal,
just a little pet-peeve.

Hashcode (190)

@LizFoster Oh.. both good points.

Fixes would be:
#1 Auto exit "talk" mode if you move a direction (command or cursor keys)
#2 Reprint the room description and exits when exiting "talk" mode via "done"

LizFoster (606)

@Hashcode Ah. Makes sense. Would that be difficult to do? I haven't looked much at the underlying code, so I don't know myself..

Hashcode (190)

@LizFoster I don't think they'll be too hard. I tried to keep a nice code base for easy modifications.

LizFoster (606)

@Hashcode Sweet! Hope my input is useful! ^ ^*

LizFoster (606)

@Hashcode Oh, yes, and also, would it be possible for you to at some point add the town map as one of the available options?

Hashcode (190)

@LizFoster Woo.. this one might be more difficult. Like an ASCII version of the town map?

(Also, I added a PPS to the main description above mentioning the REST command which heals you up after taking damage -- not sure if you've seen that.)

LizFoster (606)

@Hashcode Ah. Alright. If you want, I could see about making an ASCII version of it myself, just so you can work on more important things.

Ah, yes, the REST command. I'd actually like to suggest that you make the IP go down a bit faster when resting; after my first battle I had to rest from PEN 11 to PEN 0 (It took almost 5 minutes, which was a bit of a drag..)

Hashcode (190)

@LizFoster I'll add a fix #3: Make REST work better -- quality of life improvement :)

And holy cow.. PEN 11! Ouch! If you "skills-combat" what's your club skill level?

LizFoster (606)

@Hashcode if ML is skill level, then 45. This is what I see:

Hashcode (190)

@LizFoster Yep: ML = Mastery Level, technically clubs are great offensive weapons and so so defensive weapons, so they get a +15 ML bonus when used for attacking which means you Effective Mastery Level (EML) ends up being 60 before applying penalties (PEN). Each weapon has different bonuses for offense and defense (parry). For each point of PEN you subtract 5 EML. PEN comes from accumulated injuries or carrying too much equipment (encumbrance). Complicated right!?

The AURA skill comes into play when REST is used. It heals a random # of InjuryPoints from 1 to your current AURA skill level. I'm going to adjust that to always apply the amount of AURA skill you have towards reducing IPs. And if you make an injury "all better" then it will roll to the next injury.

LizFoster (606)

@Hashcode Huh! That is complicated, but surprisingly much more logical than it appears in-game.

Ah, I see. Are there currently ways to raise your AURA skill level?

Hashcode (190)

@LizFoster Not at the moment. I'm in the middle of working on Item "Effects" where they add modifiers to various player abilities. There is a silver ring at the end of the Rat Warrens that is supposed to give you a magical bonus to Agility. But it's not working just yet.

LizFoster (606)

@Hashcode Oh, interesting. I know where I'm going next wwwwww

Hashcode (190)

@LizFoster Just a warning the rats get harder the further you progress :) One recommendation is to turn in a few of the collected rat furs to the Provisioner and then buy some additional armor from the Tanner (leather armor).

You can use AC command to see how well each body part is protected. Places like the face are tough, but rats won't hit that high on the body. Feet and arms/hands are usually the places to beef up easily with cheap leather armor.

Also at any shop keeper, when you type BUY they usually list all of their wares. From there you can hit [enter] to avoid buying something but then type in the names of whatever you're interested in. For example at the Tanner in talk mode:
You type: leather surcoat
Response: Leather surcoat : made of leather and covers shoulder, thorax (front), thorax (back), abdomen (front), abdomen (back), hip, groin, thigh

LizFoster (606)

@Hashcode Oh wow, that's really handy! I did not know that that was a thing, but it will come in handy for spending money smartly.

Hashcode (190)

@LizFoster updated with v47:

  • utils: REST quality of life changes
    (always apply full AURA stat to healing injuries)
  • utils: make TALK part of the main prompt
    (handle directions as "done", reprinting room/exits)
  • utils: add 0=Cancel option for most choices

(You'll need to "save/quit" and refresh the game to see the new changes)

LizFoster (606)

@Hashcode Wow, that was fast! Alright, I will check them out right now.

LizFoster (606)

@Hashcode Great! It all works perfectly! However, now when I say enter to quit the buy menu, it says "Invalid Item." Can you make it say the same thing it does if you say "0?"

LizFoster (606)

@Hashcode Alrighty then! I have completely gone through the warren now. Should I keep the three keys, or are they now irrelevant? They are heavy and give me one PEN at all times. Also, do SP contribute to weight?

Hashcode (190)

@LizFoster Hey great!
1.You can ditch the keys. The doors will stay open now that you've unlocked and opened them. As a matter of fact, I'm going to fix the key weights. They were supposed to be lighter.
2. Having PEN is going to be inevitable as you progress in the game. The better armors are heavier. However, just like in real life your skill also goes up as you use your skills. So even though you may eventually have 1-2 PEN all the time, your skill increases should offset it.
3. SP doesn't increase weight
4. Under character stats you'll see "Endurance". This is based on the "Conditioning" skill (skills-physical). The amount of weight you can carry per penalty point is based on Endurance. Also, in the future, I may add the concept of "bags" (to hold items). Some bags could be magical and remove the weight of the items they contain... but that's future TODO.
5. The other "quality of life" change I might make is counting equipped weight as less of a penalty. IE: we notice the weight of our clothes less than say a heavy thing that we're carrying.

Just thoughts for now.

LizFoster (606)

@Hashcode Those are good ideas! By he way, are there currently any clubs aside from the "rat catcher's" club in the game? I've looked around town and can't find any other one's, though it would not be odd for there to be only one at the moment, due to hw early in development this is.

Hashcode (190)

@LizFoster There's a "wooden club" sold by the Provisioner (same stats as rat catcheer's club):
Wooden club : Made of wood, does 1D4 crushing damage and uses club skill
The arms dealer sells both "iron mace" and a "morningstar" which also use the club skill:
Iron mace : Made of steel & wood, does 1D6+1 crushing damage and uses the club skill
Morningstar : Made of steel & wood, does 1D6+2 piercing damage and uses the club skill

Did I mention that I was going to add weapon degradation over time? IE: eventually weapons will break. The damage to your weapons will be greater if you're using a wooden weapon vs. metal armor and/or other weapons (parry) ... but that's also coming in the future. :)

You may notice that wooden weapons are cheaper vs. steel & wood or entirely steel. As in real life the "better" weapons last longer and are more expensive to make.

LizFoster (606)

@Hashcode Oh wow, I didn't even consider weapon degradation, but that sounds like it would definitely make things more interesting!(* ̄▽ ̄)b Are those damage values based off of actual DnD rules, or not? It has been ages since I have looked through them (Lol)

Hashcode (190)

@LizFoster Actually, the RPG system is based on HârnMaster Third Edition (by Robin Crossby).

I tried to stay as close as possible to the values used for damage, item costs and armor protections.

I used many of the "Advanced" rules found in this free for distribution PDF (weapon list is on page 9):
https://www.lythia.com/warflail/downloads/HMA_Rulebook_v1.4.pdf

The initial world setting is based on D&D's Keep on the Borderlands (Module B2) -- Unfortunately, I had to adjust the map of the Keep quite a bit to make it playable with the rendering engine. Nothing like getting paper thin walls, etc.

The rat warren and other upcoming "adventure areas", I'm sort of adding on the fly for progression.

NOTE: I typo'd the Morningstar's damage type above. It actually does piercing damage.

LizFoster (606)

@Hashcode Oh, wow! Well good work, it looks about the same as the experience in-game. I liked the rat warren, and made a little map on graph paper (I'll probably do that for every area in the future) (Lol)

Hashcode (190)

@LizFoster Here's the "clubs" table from another set of "enhanced" rules.. but I'm not sure about the distribution license of those rules in their entirety.

LizFoster (606)

@Hashcode Oh, so the Morningstars deal club damage?

Hashcode (190)

@LizFoster Yep, Morningstars use the "club" skill, but deal piercing (point) damage which is applied differently to armor types vs. crushing (blunt) damage.

https://en.wikipedia.org/wiki/Morningstar(weapon)

LizFoster (606)

@Hashcode Oh, interesting! What is kurbul? I searched on Google and found nothing related to RPGs..

Hashcode (190)

@LizFoster Kurbul is a cured form of hardened leather in Harn. In the game I named those pieces "hardened leather" so they would be easier to recognize. They are cheaper-than-metal forms of outer layer pieces:
https://en.wikipedia.org/wiki/Greave
https://en.wikipedia.org/wiki/Vambrace

Hashcode (190)

@LizFoster I just pushed v47.1:

  • rooms: adjust key weights lower
  • utils: equipped weight is counted as 1/2
LizFoster (606)

@Hashcode Ohhh, that makes sense. Thanks ^ ^*

LizFoster (606)

@Hashcode Yay! That makes me way lighter! (Lol)

How heavy were the keys before?

Hashcode (190)

@LizFoster They were 0.8 lb each. Which was silly. They should only weigh 0.1 lb now (or maybe even 0 lbs due to rounding). Counting only 1/2 of equipped weight as encumbrance will also help a ton.

NOTE: Me changing the key weights only affects players picking up the keys from here on. Older keys in your inventory will stay the same. Items are attached to the character after they are picked up. This will allow me to add enchantments and other fun stuff later.

LizFoster (606)

@Hashcode Ah, okay. That's not too bad though, since as you said, they are useless, ha ha.

ShadedFlame (28)

@Hashcode So i was fighting a rat and "This program has closed ubruptly." And shut down... no error message...

ShadedFlame (28)

@Hashcode I have finished quest one and gone through the rat warrens... I have no idea if there is more... How do I open the trapdoor in the bailiff's place? (I think thats where it is)

ShadedFlame (28)

@Hashcode Also, I bought a mace and still had the club... When I attacked it used both!

Hashcode (190)

@ShadedFlame This does happen from time to time in REPL, I've noticed. I'm not sure it has anything to do with the game. I think it's something behind the scenes that resets the client entirely. Normally, if there's an error, it will show the error log.

The annoying part is that you lose your saved progress. :/

Hashcode (190)

@ShadedFlame Regarding trapdoors: they are located in both gatehouse towers. They can be opened with "open" command.

As for more to the game: Not much more at the moment.
Right now, I'm implementing 1 of each kind of "thing" so that I can proof out portions of the game.

For example:

  • The existing map has doors, locks, vendors, a quest or 2 and several mobs.
  • 1 mini intro dungeon with a mini-"boss" at the end
  • most item types are represented by several items and 1 currently has special "effects"
  • mobs in the game have behaviors that can trigger various events based on conditions.
  • the rendering frame is getting much better and can display many different kinds of terrain / walls / openings (just added the "short wall" at the top of the gatehouse towers).

The next phase of development will be:

  • finishing the initial map for the keep:
    • tavern
    • inn
    • upper walkways from the towers
    • entrance to the inner keep (and it's surrounding areas)
  • adding "room items" to the game. These cannot be picked up, but represent objects that can be manipulated in some way. Examples would be pulling a lever that opens a trapdoor elsewhere in the game or being able to examine a painting on a wall to find out information.
  • adding a LOT more talking information across more mobs
  • the talking information will lead to a total of 20-25 quests
Hashcode (190)

@ShadedFlame Yes, in theory dual-wielding is possible but comes at a price (skill penalties). I haven't really worked through it every well at the moment so there may be bugs.

Also, there are also 2-handed weapons in the game as well. Be careful of trying to dual-wield with a 2-handed weapon, I doubt you'll land any blows at all due to penalties.

ShadedFlame (28)

@Hashcode WOW IT IS IMPOSSIBLE TO KILL A SENTERY

ShadedFlame (28)

@Hashcode One more thing... How in the world could I get enough money to buy a pike???

Hashcode (190)

@ShadedFlame Heh, I don't recommend trying to kill a mob with superior weapon skills and armor at this point :) They don't drop their equipment anyway.

Hashcode (190)

@ShadedFlame Remember, this is just the beginning of the game. Money will eventually get more plentiful with more quests, and adventure outside the city. Rats were never really supposed to drop actual currency.. they do for now because there aren't many other ways to make money.

ShadedFlame (28)

@Hashcode Sorry, I find it hard to belive this is only the beginning because this is FAR beyond what I could ever make...

ShadedFlame (28)

@Hashcode Tried to kill a gatekeeper LOL One hit killed me!!!!

Hashcode (190)

@ShadedFlame Last night I worked on spider and skeleton art for upcoming quests :)

Hashcode (190)

@ShadedFlame The gatehouse guard is pretty loaded. NOTE the SkillEnum.POLEARM: 50, # 21 Based + 50 Train line below which sets his skill with polearms (from person.py line 145):

    PersonEnum.BL_KEEP_GUARD:
        Mob(PersonEnum.BL_KEEP_GUARD, "a gatehouse guard",
            "A gatehouse guard keeps watch over his post.", 60, 14, 50,
            cur=DiceRoll(1, 6, 40),
            attrs={
                AttrEnum.SEX: 1,
                AttrEnum.STRENGTH: 14,
                AttrEnum.STAMINA: 14,
                AttrEnum.DEXTERITY: 12,
                AttrEnum.AGILITY: 10,
                AttrEnum.EYESIGHT: 14,
                AttrEnum.HEARING: 12,
                AttrEnum.SMELL: 10,
                AttrEnum.INTELLIGENCE: 12,
                AttrEnum.AURA: 12,
                AttrEnum.WILL: 14,
            },
            mob_skills={
                SkillEnum.POLEARM: 50,  # 21 Based + 50 Train
            },
            eq=[
                Weapon("pike", QualityEnum.INF, MaterialEnum.STEEL_WOOD, 15, SkillEnum.POLEARM, 25, 5, 25, DiceRoll(2, 6, 0),
                       DamageTypeEnum.PIERCE, equipped=True),
                Armor("quilt cowl", QualityEnum.AVE, MaterialEnum.QUILT, ArmorLayer.AL_2, ShapeEnum.COWL, equipped=True),
                Armor("quilt tunic", QualityEnum.AVE, MaterialEnum.QUILT, ArmorLayer.AL_2, ShapeEnum.TUNIC, equipped=True),
                Armor("quilt leggings", QualityEnum.AVE, MaterialEnum.QUILT, ArmorLayer.AL_2_5, ShapeEnum.LEGGINGS, equipped=True),
                Armor("studded leather halfhelm", QualityEnum.AVE, MaterialEnum.LEATHER_RING, ArmorLayer.AL_3 | ArmorLayer.AL_4 | ArmorLayer.AL_5, ShapeEnum.CAP, equipped=True),
                Armor("studded leather hauberk", QualityEnum.AVE, MaterialEnum.LEATHER_RING, ArmorLayer.AL_3 | ArmorLayer.AL_4 | ArmorLayer.AL_5, ShapeEnum.HAUBERK, equipped=True),
                Armor("studded leather leggings", QualityEnum.AVE, MaterialEnum.LEATHER_RING, ArmorLayer.AL_3_5 | ArmorLayer.AL_4_5 | ArmorLayer.AL_5_5, ShapeEnum.LEGGINGS, equipped=True),
                Armor("studded leather gauntlets", QualityEnum.AVE, MaterialEnum.LEATHER_RING, ArmorLayer.AL_3 | ArmorLayer.AL_4 | ArmorLayer.AL_5, ShapeEnum.GAUNTLETS, equipped=True),
            ],
ShadedFlame (28)

@Hashcode Woah, Yeah I will never be able to kill him......

ShadedFlame (28)

@Hashcode Looking through the code (BC I'm a cheater) and saw spiders... Am I missing a huge part of the game or is it not active?

Hashcode (190)

@ShadedFlame Actually, I noticed that NPCs were getting VERY high skill amounts due to a change I made a while back to the opening skill levels. I adjusted them back down to normal.. but really at this stage you still won't be able to kill them.

ShadedFlame (28)

@Hashcode Just bought my first broadsword!!!

Hashcode (190)

@ShadedFlame Not in the game just yet.

wantT0befriends (33)

@Hashcode 5, definitely. Maybe add mice for the rat's assistants?

MrEconomical (2225)

From all the time I've been part of the repl.it community, this is probably the best text adventure I have seen. Amazing storyline and game mechanics. Great job on creating this masterpice!

Hashcode (190)

@MrEconomical @sugarfi Thanks!
There was more that I actually had to disable.
For instance, I was originally encrypting saved data, but it took so long to load the game, I disabled it.

It started out as a way of brushing up on my Python.

Cudos to repl.it for a great platform.

MrEconomical (2225)

don't be dissapointed repl talk is mostly RNG tbf, some crap posts get 100 upvotes and really good ones sometimes only get 10.
btw I also gave you a shoutout in a lot of groups I was in so :)

Uzalii (432)

This is great, Very underrated.

Hashcode (190)

@LizFoster @ShadedFlame @ReplitAccount I added some new graphics to the town today to handle: Ceilings and Floors

This may seem like a minor change, but it's allowed me to implement the northern and southern gatehouse tower trapdoors which I think help a ton. Also, I was able to fixup the bridge in the Rat Warrens a bit. Still a work in progress tho.

Hope you like the changes.

@LizFoster I can probably add a scythe with realistic stats / pricing for ya somewhere. Arms Dealer?

LizFoster (606)

@Hashcode Yeah, that sounds great! I love scythes..
^ ~ ^

Arms Dealer was what I had in mind..

Also, good work on the new graphics textures! They look good ^ ^*

Oh yes, and I have some suggestions:

  • Allowing the player to, after entering 'i,' Inspect the items in their inventory, similar to asking shopkeepers about items they sell. This would be helpful if you want to know what damage/skill type a weapon is if you aren't close to a town.
  • Adding in an accuracy counter in the combat menu,
    next to the attack button. It would be quite helpful to
    know what my odds of landing a hit are, if they
    aren't always the same (which it doesn't feel like
    is so).
  • Making it so that, when in the part of the Rat's
    Warren, you can see the other side of the cavern
    (obviously not necessary, that is just a little
    thing that would look cool ^ ^*)

Also, what weapon type would Scythes be? Would it be the same as the Sickle (Slashing/Ax), or more like the Poleaxe (Slashing/Polearm)?

ReplitAccount (1)

@Hashcode Nice, the bridge in the caverns looks so much better.
Maybe also put in the stairs in the warehouse?

LizFoster (606)

@ReplitAccount That's a really good point!

LizFoster (606)

@Hashcode Oh, and a few more things that I forgot to put on that list are:

  • displaying how much money you have in BUY and SELL
    menus
  • ability to go up and downstairs via arrow/direction
    keys. For trapdoors, maybe it let you do that when
    you are facing a wall/barrier (if you are in a room
    with a floor or ceiling trapdoor)
ShadedFlame (28)

@Hashcode Wow, Everything is looking better and better... I hadn't played in a little while because of school.

Zexogon (873)

i looked at the main file and was like "ohow did he do this" and i looked into the file explorer and i just though "O H"

Hashcode (190)

@Zexogon It's a really neat project on several levels. I got to kind of throw the kitchen sink at it:

  • Saving state to DB
  • Background thread ticks for the input handling
  • Rendering the 3D window as 3 layers

All neat problems to work on.

If you really want to blow your mind, stand in the "Entry Yard" and wait for ~7PM to roll around.. then watch what the Corporal of the Watch does.
(NOTE: "REST" command advances time a bit in the game)

LizFoster (606)

Good lord, this is incredible! Good job! It is so detailed, I love all the parameters for your character and the re-roll function (I don't wanna be a male -__-).

Parent Status : Fostered Σ(°△°|||)︴How does it know me?!

Hashcode (190)

@LizFoster Awesome! Did you complete the first quest?

LizFoster (606)

@Hashcode Ha ha ha, I am actually attempting right now, but I seem to have gotten lost on the Southern Walk... I will figure it out eventually (Lol)

ShadedFlame (28)

Yay! Got a bastard sword!

ShadedFlame (28)

At every turn I am astounded by this game (I really like how the enterance looks now)

Hashcode (190)

@ShadedFlame Yeah I was really happy with the new graphic layers for the portcullis and the drawbridge. I snuck screenshots into the Share posting.

BlueComet (116)

WoW this is amazing its so cool that theirs stats and so many features

ReplitAccount (1)

Playing this and making a map in Google sheets. Really like it :)
1 small thing, when you go up into the 2nd/top floor of the south gatehouse tower, it says its the north gatehouse tower.

Hashcode (190)

@ReplitAccount Thanks for reporting! I'll fix that today.

Hashcode (190)

@ReplitAccount Ok, I fixed the typos as well as some other things:

  • NEWS feature now added to the game
    New news items will be displayed after logging in
    news items can be viewed in game with the NEWS command
  • Paginated the STATS command which could run off the screen due to wounds, etc.
  • Characters now save their facing direction
  • New characters will now face west so they are looking towards the entry yard

You'll need to close the game, refresh REPL and re-start it to see the new changes.

52eagle (45)

this is actually amazing

mewster1 (2)

Well done on this

Warhawk947 (518)

wow, this is amazing! You should actually make money off of this!

Warhawk947 (518)

@Warhawk947 and with no dependencies, even better!

Hashcode (190)

@Warhawk947 Funny! You are the first one to point that out. I tried to make sure there weren't any dependencies so that the game would load nice and fast. Thanks :)

Warhawk947 (518)

@Hashcode this project is so underated for some reason... don't know why.

Hashcode (190)

@Warhawk947 TBH, "Text Adventure Game" is probably the #1 created project on Repl. I think it's probably a mental filter that most "regulars" have as they skim through the projects being shared.

Doesn't hurt my feelings at all, I've been pleasantly surprised with the great feedback. In less than 24 hours, 170 characters were created.

Now I'm nervous my JSON database is going to crap out :P

Hashcode (190)

@Warhawk947 Interestingly, the text-based 3D rendering idea came from an earlier proof of concept project that @amasad and @21natzil gave an up-vote to a while back (I think it got mentioned in a newsletter?):
https://repl.it/talk/share/Old-school-3D-Maze-Game/25810

This is a functional implementation of that concept into a real game (with a lot better frames to render).

I almost wonder if people are coming to this share link and playing the game -- and then forgetting to come back and upvote because of the need for a full screen.

Hashcode (190)

@Mapaor4 Thanks! Were you able to walk through the first part of the quests?

Hashcode (190)

For those that are curious about how I use your password to save the character data:

I'm not saving your character's password in a file somewhere! (Though, you still shouldn't use a bank password or anything important).

The password you enter is used to create a SHA256 hash (username + password) which is the index of where your data is stored in the DB file.
https://en.wikipedia.org/wiki/SHA-2

The password IS kept in memory for your session so that when you "save" or "quit" it doesn't need to ask you for it again. (Which is why I recommend not using a password that is used for anything important).

The next time you open a new session and re-enter the username and password it generates the same SHA256 hash and can load the results back from the database.

NOTE: This isn't encryption! The data that's saved to the database is the ASCII version of the "Player" class once pickled.

This includes:

  • "normal" character like stats
  • inventory items
  • door states (open / closed / unlocked)
  • location on the map
  • etc
Hashcode (190)

Btw, for those that are wondering.. the Provisioner sells torches to see in the dark with ...

Hashcode (190)

@LizFoster woops! are you stuck in the warrens in the dark? (NOTE: up / down exits don't render in the 3d view)

LizFoster (606)

@Hashcode I'm stuck in the maze of the southern walk ._.

Hashcode (190)

@LizFoster If it helps, here's the town map. The "Southern Walk" is the gray "Walk" road along the bottom.

LizFoster (606)

@Hashcode That is a huge help! Thank you! (Lol)

LizFoster (606)

@Hashcode Seriously, this game is a masterpiece, definitely the best project I've seen on here. Good job, sir!

LizFoster (606)

I'm realizing more and more that I have WAY TOO MUCH FREE-TIME these days. If you'd like any help with this, I can help with its development where I'm needed, and would love to do so. ^ ^

Hashcode (190)

@LizFoster That's funny, I have exactly the opposite. I am swamped at work and haven't really had any time to do the updates I wanted yet for this project. :/

I suppose you could totally jump in with ideas. You can actually fork the project on Github: https://github.com/Hashcode/Harn-GameMaster and then submit PRs there. Once merged, I would pull them into this project.

What would you like to help with?

LizFoster (606)

@Hashcode Ah, that's too bad. Sorry about all the work!

Yeah, I'd love to contribute there!

I'd especially love to work on weapon and item stats, combat mechanics, and quality-of-life based improvements. Although I could always help out anywhere I am needed!

LmPhan (0)

hey, my brother likes your work a lot and want to create something similar to yours, do you have any tip or suggestion for him? (he will create something much more simple than that)

LizFoster (606)

@Hashcode Hey! Just wondering, what use does "A small iron apartment key" have?

Hashcode (190)

@LizFoster It unlocks an apartment which is locked most of the time. (It's used in a future quest.)

LizFoster (606)

@Hashcode Hello again! I hope you aren't getting tired of my input/questions on this game, because I've got tons of suggestions and ideas if you're up for it!

I was poking around, looking at what all the shopkeepers sell, and I see that the provisioner sells a Sickle, and the arms dealer sells a Poleaxe. While this may be a difficult thing to code in, could you/will you add a Scythe weapon? It is in the same general family of weapons as those, plus it is badass (in my opinion Lol)!

Thank you so much for your continued work on this!!

ShadedFlame (28)

What are you working on now? Also how is the "AIM" Function going to work?

ReplitAccount (1)

the feeling of relief when i came back to play today and could sell all my rat furs was unmatched :DDD, thanks for doing that.
i went through the entire caverns and didn't see any rats, then exited, saved, and did it again. did i clear the warrens, or is this a bug?

Hashcode (190)

@ReplitAccount So I noticed this happening a few days ago due to a bug and fixed it. I had moved the Raw Warrens to it's won "Zone" area. And there was a bug where when the game starts it was only processing the events for the player's zone (not the whole game).

Are you playing a local fork? You may want to check that your gamedata.py file is up to date.

NOTE: I tested the warrens just now and saw rats.

Hashcode (190)

@ReplitAccount Also, I had to make a change to the db.py file a day or 2 ago to make it compatible with some of the changes I made to my character storage REPL: https://repl.it/@Hashcode/JSONStorage

The storage REPL now uses your password to encrypt the character data and then it is gzipped before saving to save space. The database file was up to a few MB in size. As user's re-save over time that should be cut down by about 60% due to compression.

LizFoster (606)

@Hashcode
So, I've played a bit more, up to where I've gone through the warren twice, and now have the Morningstar (I am going to play until I get the chainmail armor), and I have a few more suggestions:

  • Make the [YOU FUMBLE YOUR {WEAPON}!] text a more noticeable
    color, as I've gotten messed up because I didn't notice I was
    punching everything.

  • When multiple of the same item are in one place on the ground,
    make it so you can choose how many to pick up (so if there are
    '[2] rat fur' on the ground, when you say 'get' and '1,' it
    asks 'How many?' or something like that).

  • Make it so that the nasty-looking, large-nasty-looking, and
    guardian rats all give less of a reward (and only have a
    chance of dropping their fur), but also have a slight chance
    of respawning every time you move a few spaces. However, as
    soon as you kill the Noble Rat in the bedroom, the rats
    stop respawning for a certain amount of time (maybe an ingame
    day?). That prevents you from farming SP from their furs as
    efficiently, and once you go for the SP from the Noble Rat,
    you have to wait to get furs again.

Just a few ideas ( ^ ^ * ) Have a good day.

Hashcode (190)

@LizFoster Let's see:
1. Good point. Maybe this could be 2 changes: highlight the "FUMBLE" message. But also change the "punch" color in the attack menu to something like yellow (similar to the "stand" command when you are on the ground).
2. I will look into asking how many of the items a user wants to pick up (similar to sell) -- I don't think this should be too difficult.
3. I was considering this change, but was holding off till I had more content in the game. Let me noodle on the best way to avoid players closing and restarting the game to retrigger mobs.

LizFoster (606)

@Hashcode Alright:

  1. Yes! That makes sense, as that yellow text draws the player's eyes much better than the white does.

  2. Great! Thank you, ha ha ^ ^

  3. Well, since you save the time of day to a player's save data (I'd assume), you could make it so that the warren resets at midnight/noon every (or every other) ingame day. How does that sound?

LizFoster (606)

@Hashcode if you aren't too busy with other parts of the code, a little suggestion for something you could add is, when selling items, it asks how many you want to buy if you have multiple of that item. For instance, I have 2 rat fur in my bag, but to sell them both I have to say "sell," "1," and "y" twice. Not a super big hassle, just a little quality-of-life tweak. ^ ^* Thanks again for your work on this game, it's honestly pretty fun to play, even in this early-development state!

Also, can you make the in-combat damage text (the thing that says "[victim] suffers a [intensity] wound") red, so that it is more visible, and puts more stress on it?

Hashcode (190)

@LizFoster I fixed up item grouping and now allow you to sell more than just 1 item at a time.

I was debating the color for the wound messages for some time now. I think:

  • mild wound = yellow
  • serious wound = orange
  • grievous wound = red

Should I make the whole line that color or just the word: "mild", "serious" and "grievous"?

LizFoster (606)

@Hashcode Just the word, I would say. You want to have some contrast around the word, since the background is black and all.

Please pardon my late response, I was predisposed at the time.. ( ^ ~ ^ * )

LizFoster (606)

@Hashcode Yayy! Oh my lord, this makes it so much faster to get stuff done (in terms of selling)! Also, I like the colors for the damage severity. good job!!
^ ^*

ReplitAccount (1)

is there any way to sell many things at once to the provisioner? i have 14 rat furs and it's a pain to type sell, 1, and y each time.

Hashcode (190)

@ReplitAccount Yes, this is a TODO item. I know it's annoying, but I need to rework how item lists are made so I can attach the quantity there and pass it into the "sell" function.

Just now I pushed improvements to:

  • Item sorting across all actions which use items:
    inventory, buy, sell, drop, etc.
    It shouldn't be so random looking anymore
  • Item grouping: items which are alike should be grouped now in the display. This means that rat furs won't cause quite so much text scroll anymore.

Hope you're enjoying the game :)

ReplitAccount (1)

@Hashcode really am :) just saved up to buy the morningstar!