Author Topic: Cataclysm of Chaos V9 (Text Adventure)  (Read 63788 times)

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Cataclysm of Chaos (working title)
« Reply #25 on: September 13, 2017, 02:49:15 PM »
Google drive.

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #26 on: September 13, 2017, 03:09:52 PM »
Good suggestion, leeor! Hadn't thought of that. Will need to take a look into that!

-----

Alright, after fixing the major errors, adding a few more UI improvements and adding some new quality of life changes, I will begin testing the game again. If I manage to not find any major issues, I'll upload V2 today.

EDIT: After testing it for a bit, I found one minor error that I fixed. Thus, I have now released V2. You can grab it via mediafire or the attachment to the first post. Haven't had a chance to look at Google Drive yet, which is why I'm still using Mediafire.
« Last Edit: September 13, 2017, 04:38:14 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: Cataclysm of Chaos (working title)
« Reply #27 on: September 14, 2017, 06:59:30 AM »
Quote
I heavily designed and tweaked the actual areas in the dungeons and thoroughly tested them, but didn't think about testing the surface area, as I was so used to just typing descend and going in

Hehe, it's this very kind of testing that makes developers blind to how others experience a game. Once you've done something a few hundred times during development, it becomes second nature. "Of course that's how it works!"

Also, it's totally frustrating when you see other people struggling with what you built, or having a bad experience.

I see based on the number of post edits that you're iterating quite quickly. That's a good sign.


I got the sense earlier, that you could play these Quest games online in a browser? Or maybe I'm just assuming that because of the JavaScript. If so, that might be an easy way for people to try new versions, and get quick feedback. I downloaded your source, but stopped short of downloading the Quest Engine executable. Something about the "for Windows" part (I use Linux, though it probably runs under Wine), and the thought of downloading strange executables onto my computer (which controls so many aspects of my life), for a quick few minutes of testing, kind of stopped me. Bit of a mix of lazy and paranoid there. Is there a way to make it easier for people to test?

Your source is actually quite long.

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #28 on: September 14, 2017, 11:26:25 AM »
Yes, it is kind of interesting. I've helped to beta test several games and it is very common how you do x thing so many times it becomes second nature and you don't even think about it anymore... which is why this kind of feedback is essential to producing a game most people can get into.

Source? Or do you mean the changelog?

----

I took a look at the website and couldn't figure out either how to play it in the browser, so I created a forum post, on the quest engine website, asking how to do so. I'll give an update on the first post (and here) in this thread when I figure that out.

Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Cataclysm of Chaos (working title)
« Reply #29 on: September 14, 2017, 12:37:46 PM »
No, I think he means the actual source. It wasn't hard to 'decompile' the quest thingy -- it's just a ZIP file with a different file extension which contains the entirety of the source code within it.




I'm not sure how much of this code is your own doing or how much of it is automatically generated boiler plate code but... yeah, there it is.  :-X



EDIT: I found a mistake in the code (entirely by chance):

Code: [Select]
case ("tower") {
  if (ListContains(ScopeVisible(), ShieldTower)) {
msg ("You already own a tower shield.")
  }
  else {
if (player.SoulShards > 399) {
  msg ("<br/>You purchase a tower shield.")
  player.SoulShards = player.SoulShards - 400
  AddToInventory (ShieldTower)
}
else {
  msg ("You don't have enough soul shards. You need 2000 but you currently only have: " + player.SoulShards + ".")
}
  }
}

The tower shield is set to 400 shards, but the message says 2000 shards. :-X :-[ :-X

Note sure if this is hand coded but this is clearly the result of copy/paste. I would recommend using a function to print this message that takes three parameters, cost/available currency/item name.



EDIT 2: Google drive -- just go to drive.google.com, sign in with a google account and viola, you have a google drive. Just drag the file into the google drive window and boom, it uploads.
« Last Edit: September 14, 2017, 12:46:04 PM by leeor_net »

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #30 on: September 14, 2017, 01:51:14 PM »
Oh, I didnt know the quest extension was a renamed zip.

Actually when I first implemented the tower shield it did cost 2000 SS. It was after testing ingame that I found it was too high, so changed it to 400 and must have forgotten to change the error response to insufficient SS. Will address that in v3

The above screenshot is boiler plate code; I implemented my own custom money system, for example.

Also, quest doesn't allow for greater than or equals, just greater than or less than. That's why my code is partially designed the way it is.

=====

EDIT: Appears to play the game via a browser requires me to upload the game to the Quest servers and then provide a link to players to use. Dunno, if anyone can play it at that point / if it could be made out to others that it is a beta and not a fully finished game. I'll take a look into uploading V2.

I uploaded it here = http://textadventures.co.uk/games/view/rvnjlvi4heq6u7-namkaxa/the-cataclysm-of-chaos  ; Should allow you to play in a browser. If it doesn't immediately work, it may be because it said on the uploader that a moderator would have to check it out first.
« Last Edit: September 14, 2017, 04:59:02 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Cataclysm of Chaos (working title)
« Reply #31 on: September 14, 2017, 09:54:42 PM »
Oh, I didnt know the quest extension was a renamed zip.
Hackers like me like to look at files to see how they work. When I opened it in a hex editor the first two bytes equated to 'PK' which is a dead giveaway for a ZIP archive. 28 bytes afterward and you get the filename "game.aslx" which confirms, 100% this is a ZIP archive. Open it in an archive decompressor and you know the rest.

Anyway, totally irrelevant, just found it interesting.



Also, quest doesn't allow for greater than or equals, just greater than or less than. That's why my code is partially designed the way it is.

I assumed as much. The check is correct, the mistake is the mismatched message. :)

I've tried this twice and got destroyed by a rat on the second round of battle... seems a little OP to get flattened that way but I'll give it more time tomorrow.
« Last Edit: September 14, 2017, 10:02:00 PM by leeor_net »

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #32 on: September 14, 2017, 10:29:51 PM »
Interesting aside XD

---

I'm looking into having a consistent "you lack SS" message for all purchaseables. I noticed that I have several different kinds of ways of producing the effect. So would like some consistency for all purchaseables. Though, to be honest, the reason the shield code has that problem is because it was one of the earliest bits of code and in general it did its task quite well and thus missed that error as a result.

---

If it was a Primal Chaos Feral Rat, and you had 0 XP, then that is expected logic. All Primal Chaos creatures (as mentioned in the game tips both ingame and in this thread) are experience/level drainers. Every hit they drain experience points. If you are at 0 XP, and get drained to a negative value, then you would lose a level, lose HP/MP as well, and have your XP reset to half of what it would have taken to get the previous level (ie if drained from LV 2 to LV 1, you have 500 XP; if LV3 to LV2, you have 1000 XP; etc). However, if you are at LV 1, and get drained below 0, then the creature will insta-kill you unless you succeed at your Second Wind roll (Vitality + Level + random(1,10) vs (10 + (10 * (Floor Level - 1)) [basically it means that you have to make 10 on floor 1, 20 on floor 2, etc].

You'll know you were killed via XP drain if you get the message = "The creature drained you of your entire lifeforce, and you die instantly."

Primal Chaos creatures are a risk-reward system. They are risky in terms of very good statistics (that increases as you kill more primals) but also because they drain XP. They are good rewards because they offer the best source of XP for character levels, drops an attribute potion that raises 1 attribute by +3, and has higher chances to drop rare items.

Basically, if you are LV 1 with 0 XP, you should avoid them like the plague. Also mentioned in the game tips, if its the first round you can flee from the creature without getting attacked. I'd only go after primals at LV 1 if you have an XP buffer, or if you reasonably think you can one-shot them in the first round. Otherwise avoid them. Again, this just proves that a tutorial is very much necessary, and I think that I'll put some of my plans for V3 aside and focus on building a tutorial instead. I guess I can't expect players to read the ingame gameplay tips, and so the necessity of the tutorial is now, rather than put it off for later. I might be able to get some of my other stuff in for V3, but I do think I need to focus on getting at least the first bit of the tutorial put out for V3.

EDIT:

However, thanks for bringing this to my attention as I noticed two logic errors...
1. XP doesn't get reset to 0 when drained below 0 at LV 1 and you succeed at your Second Wind roll.
2. The way the logic is setup, you'd need 11 to beat 10, rather than being equal to or greater.
« Last Edit: September 14, 2017, 10:40:41 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: Cataclysm of Chaos (working title)
« Reply #33 on: September 15, 2017, 05:17:03 AM »
I didn't even notice it had a different extension. My computer just told me it was a zip file after I downloaded it.

Quote
Note sure if this is hand coded but this is clearly the result of copy/paste. I would recommend using a function to print this message that takes three parameters, cost/available currency/item name.

Agreed, a generic function would be a good idea here.

Quote
Also, quest doesn't allow for greater than or equals, just greater than or less than. That's why my code is partially designed the way it is.

Hah! Yikes. I was just about to say something about that. How about not less than?
Code: [Select]
if !(a < b) {}

Or, just move the error message first, and logic into the else.
Code: [Select]
if (player.SoulShards < item.price) {
  msg ("You don't have enough soul shards. You need " + item.price + " but you currently only have: " + player.SoulShards + ".")
} else {
  msg ("<br/>You purchase a " + item.name + ".")
  player.SoulShards = player.SoulShards - item.price
  AddToInventory (item)
}


If the Primal Chaos creatures are so powerful, why not limit them so the player can't encounter them at level 1. Maybe wait until they go deeper into the dungeon. Plus, you don't want to reward the player too much too quickly if they manage to kill one early on by luck.


Edit:
The online play link looks convenient. Currently I'm stuck at a "Loading..." screen, though I think that has something to do with me being on a bad wifi connection in a far off country. I'll try again later.

Also curious how you're programming this. Are you typing much, or are you using some other kind of interface to generate the code? The website seemed to suggest there was an interface with clicking around and selecting things from menus. I'm wondering what the process is like.

« Last Edit: September 15, 2017, 05:23:08 AM by Hooman »

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2350
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Cataclysm of Chaos (working title)
« Reply #34 on: September 15, 2017, 05:21:54 AM »
You'll know you were killed via XP drain if you get the message = "The creature drained you of your entire lifeforce, and you die instantly."

That's exactly what happened both times... and both times I was attacked as soon as I entered the dungeon (e.g., immediately after the descend command).


Hah! Yikes. I was just about to say something about that. How about not less than?
Code: [Select]
if !(a < b) {}

You are evil.


If the Primal Chaos creatures are so powerful, why not limit them so the player can't encounter them at level 1. Maybe wait until they go deeper into the dungeon. Plus, you don't want to reward the player too much too quickly if they manage to kill one early on by luck.

Maybe they shouldn't be encountered the second you you look at the dungeon entrance. 0.0

"You have entered the dungeon... and you're dead."
Me: blinks
« Last Edit: September 15, 2017, 05:27:14 AM by leeor_net »

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #35 on: September 15, 2017, 12:40:25 PM »
Technically the enemy retaliation code only activates when you cast a combat spell or attack them with a melee weapon/shield. So you might enter a room with them, but they aren't hostile until you do something aggressive. So if you use the "flee from target" command, after entering the room (and not attacking them) you can flee to a brand new room, with something less dangerous in it. I designed the enemy retaliation code like this so that many actions are considered "free actions" and other actions are considered "time-consuming". Attacking and casting combat spells are "time-consuming". Non-combat spells typically take about a minute or two to cast, and thus why you can't cast them in combat (though I doubt I have that anywhere in the game yet) and other actions like looking at your spellbook, drinking a potion, or analyzing the target are "free actions".

That's why I have the command "flee from target" in the game. Its there to get out of situations that you cannot win and if you try, you will die. Primals are supposed to be dangerous no matter what level you encounter and should incite a sense of fear when encountering one.

However, you two do raise a good point. I'll look into making Primals only spawn on Floor 2 or deeper, so that a new player doesn't get massacred the moment they enter the game. That's not fun.

=====

I can do the "not" Boolean, and I have used it in a few places where it makes the conditional statement both easier to read and simpler to code. When self-learning C++, I couldn't see a value in having a ! conditional statement, but now with coding my own game... its very useful... situationally.
 
I fixed the cost / insufficient funds error already for V3... several hours before your post XD. Its in the changelog on the first post of the thread.

The online play link now works. Apparently, the server went down yesterday and is now up and running again (I tried it and managed to get past the loading screen and have posted the link on the first post of the thread)

EDIT: Made it so that Primal Chaos foes cannot be encountered on Floor 1 anymore; only Floor 2+ for V3.

EDIT2: Heres a screenshot of what the programming looks like to me...
« Last Edit: September 15, 2017, 01:00:12 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1013
Re: Cataclysm of Chaos (working title)
« Reply #36 on: September 15, 2017, 10:28:06 PM »
I found some time to try out your game lordpalandus. Nice Job! I'm really impressed with where you are going with this game and could see it being something that I would be interested in playing if it matures enough. I'm going to list some things I noticed below in gameplay. Read it all knowing that to get your game this far is impressive and I'm just looking to help you keep improving it.

Right now, I think you suffer from forcing the user to be very verbose in their commands. In combat I had to type 'cast arcane zap on primal chaos wasp' 3 times to kill it. I can already tell this will get old. An easy start way to reducing this verbosity might be adding a repeat command so my character will just redo the last action. I also feel like purchasing items in the store becomes very tedious. I really like the atmosphere of the game and don't like seeing it hidden behind verbose commands that might frustrate the player.

In this genre of game it is perfectly fine to make the game illogically hard. Look at NetHack, Angband, and Ancient Domains of Mystery (ADOM), all pivotal games for the genre. They all feature permanent death by deleting save files if the character dies and randomly generating situations that may be impossible for the character to survive. NetHack doesn't even explain what items in game do, so you have to experiment and keeps notes on your own to figure it out. People actually pride themselves in the punishment they take in NetHack and how they have played it for over a year or whatever and never beaten it. Of course these games are free and I think you want to sell yours. So the flipside is if I buy your game and get smoked a bunch on level 1 of the dungeon and can't figure out how to play properly, I'm probably apt to leave you negative reviews. Anyways, what I'm saying is the crowd that play these games may not mind or may even prefer it being difficult or complex to play.



Some specific corrections I noticed below

I was playing v2 on the web browser and noticed some things that could use correcting.

Quote
(cast "spell" at "target) = Casts a combat spell at an enemy target.

Missing a quote on end of target (intro command list)

Quote
It is the year 1023, two centuries after the collapse of the Old Empire. Wierd, warped and horrific to behold creatures have been spotted leaving the Capital City of the Old Empire, and have ravaged the nearby countryside. Day by day, the creatures get bolder and more aggressive, which has led to the sovereign of the current monarchy to deploy the army and protect the citizenry. The army has sent scouts to the Old Empire's Capital City and has discovered that the creatures are leaving via a stairwell leading to the sewer system. The army tried collapsing the stairwell, but the next day the stairwell was back as if nothing had happened. Thus, they sovereign of the land put out a call to adventurers to enter the sewer system, stop whatever is causing the creatures to come out and those that succeed will be granted a generous reward, knighthood, and a title to a large chunk of land! Thus, hundreds of adventurers have flocked to the Old Empire's Capital City, the promise of a generous reward on their mind, compelling them to enter. Unfortunately, none have returned and although the army is able to hold off the current creatures coming out, if something isn't done soon, they will be overcome.

I really like your intro text. It is a bit of a wall though. Perhaps consider trying to cut it into a couple of smaller paragraphs will make it easier to read through.

Quote
> buy
What would you like to buy from me today? (consumables), (training), (weapons), (armors), (shields), or (spells).

> consumables
Would you like to purchase (healing) potions, (mana) potions, enchanting (orbs), or enhancement (kits).

> mana
How many mana potions would you like to purchase; please enter a number. Price per is 50.

> 2

It takes a lot of drilling down in order to purchase items in the store. Maybe you should consider separating the store inventories into tables and separate stores. Maybe it would look like:

> visit item store

Enter the letter and quantity of item you would like to purchase. (A 3 would purchase 3 healing potions)

A) Healing Potion 200ss
B) Mana Potion    200ss
C) ...

> B 2

You purchased 2 Mana Potions.


Consider adding some data when inspecting a weapon or armor. I tried inspecting my staff to see if it required 2 hands, but no info was given in the inspection. So I purchased a round shield and learned the hard way I couldn't hold both.

Quote
> salvage round shield
Error running script: Error compiling expression '(player.TempEnchantShardValue * 0)': ArithmeticElement: Operation 'Multiply' is not defined for types 'Object' and 'Int32'

Something appears wrong with the salvage command.

Quote
You encounter a Primal Chaos Wasp!
Their current health is = 18.


> cast arcane zap at primal chaos wasp
You cast arcane zap at the Primal Chaos Wasp, and you penetrate their spell resistance. You blast them for 6 damage and reduce their health to 12.

Maybe you should use a different pronoun than their for a single bad guy. At least it seems strange to my US English background.

Quote
> cast zap at primal chaos wasp

The Primal Chaos Wasp's spell fails to bypass your spell resistance.

It appears that if I type the name of the spell wrong, it doesn't actually cast but wastes my turn. If I get killed because I typed zap instead of arcane zap, I would feel that is a little unfair.



Melvin the human sorcerer (wearing his robe, he is more modest than his cousin) managed to kill the chaos wasp of death and was rewarded with a luck elixir. But I cannot find the elixir in my inventory? Perhaps it is assumed Melvin immediately and greedily gulped it down? I know I would have. Maybe adding a message saying it was immediately gulped would be useful. I tried checking my luck stat in game, but couldn't figure out how using the HELP command.

Unfortunately, I didn't create an account with the website so I'm leaving my browser open for now. If it shuts down than Melvin will be expunged from the memory of the Celestial City.

Keep up the good work!

-Brett

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #37 on: September 15, 2017, 11:31:53 PM »
Thanks for the indepth feedback Vagabond!

-The attack target/cast spell at target commands actually only requires a small part of the target creature's name to perform the action. I think I mentioned this in the ingame tips section and possibly in the command list as well; have to check. Basically for the primal chaos wasp, you can type things like:

1. cast arcane zap at wasp
2. cast arcane zap at primal
3. cast arcane zap at chaos
All three are viable entries.

Also for some creatures, you can shorten their name too. For example, encountering a giant crocodile, you can type "cast arcane zap at croc" and the game will be happy with that.

-I'm fairly sure I implemented the faster to do buy/sell commands in V2. Should be mentioned in the command list. Basically with them if you know you want, like training, you can type "buy training". I also further improved upon this command already for the V3 one, where you can now buy consumables by typing in their name; ie you want to buy healing potions, so type "buy healing potion". Most of the improvements to the alternative buy command will be in V3 to make purchasing less of a chore.

-Well that's why I intend to implement a tutorial to help smooth the initial ride into the game, and once prepared with how things work, leave the player to it. My current attempt in V2, with the game commands list and the ingame game tips is a start, but clearly a need for a tutorial is needed. Problem is, I haven't quite figured out how to properly create the tutorial.

-Good catch on the typo! Will be fixed in V3.

-I'll look into making the "storytime" better for V3.

-The essence of what you have suggested for purchasing, has already been implemented in V3. Sometimes its a bad thing I iterate as quickly as I do >.>

-I'll provide some basic info for when you do "look at item". Thanks for the suggestion!

-Whelp, I deleted the wrong variable as I thought that variable was deprecated (as I had used a different system to calculate salvaging previously when enchanting increased in cost as you did more enchanting.) Will fix it for V3.   

-Maybe I'll change it to: "It's health is currently = XXX". And you are right, their doesn't quite sound right.

-Interesting bug you found with the cast spell at target code. If the name of the spell doesn't line up with a Boolean condition, then nothing should happen; at least that's how I thought I had setup the code. I'll take a look into it. Good eye!

-Hmmm... at the start of the game, it does mention that the command "display info" has a lot of useful information and that is how you'd normally check your attributes, equipment, etc... However, you do make a good point, that when in trouble the go to command should be "HELP". So... I'll see about implementing a help system to provide quick help on demand, for V3. Thanks for bringing this to my attention!

-As for the elixirs, or tomes, or manuals, you will use all of these kinds of things immediately. I'll take a look into making the message that appears when you get one to be more instructive.

Thanks for the vote of confidence!

EDIT:

Fixed most of the issues above, even if they are a simple, temporary fix, for V3.

One other thing that you mentioned that I neglected to add... is a way to name your character. I'll add in for V3 a field for the player's name.

======

EDIT2:

Well, I've gotten 40 changes done to V3, and I think I should get it out ASAP, rather than add more changes. I'll perform a variety of testing to make sure things are working, and if I notice no major errors I'll release it tonight. Otherwise, will be a tomorrow release!

EDIT3:

Found a few minor issues, but haven't tested the majority of my new changes, and as I'm more tired than I thought, tomorrow I'll looking into releasing V3.

EDIT4:

There is a critical error in Shield Spikes that is frustrating me to high hell. The game will properly execute the code to apply armor spikes to armor, but when I use the exact same code copied into shields, it fails to execute and doesn't even post a bug report of why it didn't work. I'm tempted to just advise players to avoid shield spikes in V3...

EDIT5:

... I deleted the variable that applied the shield spikes and replaced it with the exact same variable, verbatim, and it now works. WTF?!?!?!?!?!?!??!?!?!?!?
... I even checked it in code view, and it was the exact same variable in the code both before and after... and it now suddenly decides to work. Huh?
« Last Edit: September 16, 2017, 02:03:41 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #38 on: September 16, 2017, 02:31:24 PM »
Whelp! I finally managed to test everything I felt needed testing. There are a few areas where a bit of UI work could be done, but I figured I'd do that for V4 and get the most up-to-date game out to you guys/gals to test out.

V3 is available via Mediafire, attachment to the first post, or can be played in a web browser. All of this information is in the first post.

V3 has a lot of new content, bugfixes, UI improvements, and quality of life changes.

Enjoy!
« Last Edit: September 16, 2017, 05:56:12 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #39 on: September 16, 2017, 04:26:38 PM »
I'm going to do a hotfix for V3.

I forgot to reset the player shards to 300. Currently its at 30,000.

Game is properly hotfixed now.

EDIT:

Found a lot of typos and UI issues well testing V3 again after releasing the hotfix.

I'm planning on releasing another hotfix with this typos/stuff fixed before I work on V4 proper.
« Last Edit: September 16, 2017, 06:32:02 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #40 on: September 16, 2017, 09:52:21 PM »
Alright, hotfix 2 is up and all the links are updated with it. Included a changelog of the fixes for the hotfix.

Will now turn my attention to working on V4.

EDIT:
I think I'll need to do another hotfix. While doing some extensive testing, I ran into a few weird errors that should be addressed immediately, rather than wait for V4. These are:

1. If your bash damage is too low, you can do negative values and heal the target. Not sure why this is happening. I say this because, the way the code is setup up, if you do 0 or less damage, the game should produce the message: You hit the target but failed to penetrate their armor. Maybe some rare edge case is allowing it to bypass this... or I forgot to code the logic right.

2. The buff message that appears when a spell deactivates usually shows up once. For some strange reason, it keeps spamming the message for Analysis spell. The weirder thing is that I don't know the spell and didn't cast it. And the weirdest thing of all, is that for the first 30 minutes of playing this message didn't appear and then out of the blue decided to keep spamming every round. Buying and casting the spell temporarily fixed it, but will have to take a look at why its doing this.

3. I triggered a trap at least 3 times, and now whenever I activate the trap, no message at all gets posted. And no damage is dealt either. It just jumps straight into the looting phase. Will need to figure out why that is.

Also a few other lesser errors were discovered that will be put into this new hotfix.

----

Managed to defeat both bosses, and get boss loot successful from Chaos Orbs dropped. So that is good. I also found a bunch of other errors.

So yah, I'll try to get out a third hotfix tomorrow addressing all the errors I encountered.

Also, will include some balance changes. My dwarven warrior crushed everything in it's path, often one-shotting creatures, being nearly invulnerable for the 2 hours or so of playing the game this time. In particular, primals died way too easily and I didn't break a sweat at all from fighting either boss. The only thing that properly did its job was a Boulder Trap in Section 2 the ruins. THAT thing hurt. Had one that did 180 HP damage... though as I had 450 HP at that point, it hurt but certainly wasn't lethal by any means.
« Last Edit: September 16, 2017, 11:33:34 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: Cataclysm of Chaos (working title)
« Reply #41 on: September 17, 2017, 05:21:50 AM »
Ok, I just gave this a try in the web browser. Interesting. I like the descriptions you give. Very vivid language.

I also felt commands were a bit too long and wordy. I want to be able to just type "flee", not "flee from target".

After creating a new character, it asks me if I'm "new". I thought that was a bit silly sounding. Maybe just tell them they can type help for a list of commands. New players will do this if they need to. Experienced players will just get right into gameplay without answering an extra prompt.

Bonus if you can condense the help into a single screen of text, though that varies for each player, and needs to be complete.

I descended down to level 2, and I encountered maybe 5 primals in a row. I choose to flee, which is where I found the command so wordy. If the primals are so dangerous, and high reward, maybe they should to be a little less common. In most games, experience eating creatures tend to be very rare, or restricted to special areas, like undead graveyards.

I got into a fight with a "Shrieker Bat" after that. In the first round it took down 2/3 of my hitpoints with one spell. I tried to attack again, but the game didn't recognize the creature name. I may have typed the name differently once. I tried "look" saw how it was spelt, and tried to attack again. Seems I'd misread the prompt though. I was back at the prompt to name a new character. I was then named "attack shrieker". I got a big HP boost from choosing my race again. After choosing my race, I again was stuck in the same battle on level 2, had trouble attacking, and ending up choosing my name and race again, for another large HP boost!


Quote
Melvin the human sorcerer (wearing his robe, he is more modest than his cousin)
lol


Edit: Looks like a string formatting issue when searching the spider's web:
Quote
You skillfully dodge out of the way, and the moment it lands on the ground, you smash it with your " + player.EquippedWeapon + "; killing it!
« Last Edit: September 17, 2017, 06:24:22 AM by Hooman »

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #42 on: September 17, 2017, 12:14:26 PM »
I'll look into refactoring the "flee from object" command. Not sure how complex that will be. In the code, #object# allows you to use a generic variable for interacting with objects in a scene. And if you don't have #object# in the actual command, then you can't use that variable. Thus, if you have a lot of monsters, you would have to duplicate code every time for each monster. By using #object# it reduces code redundancy by a lot. I can understand that "flee" would be a simpler solution for the player, but may be several hours of refactoring for me. Plus, by the time the player gains their first character level, they should have acquired sufficient progression to take on their first Primal Chaos on floor 2. Thus, I've found in my own playtesting that I rarely flee, which is why I don't find the command all that wordy. However I will take a look into how much trouble it will be to refactor it.

It may be a bit silly sounding, but as you guys have pointed out in your feedback, players don't go looking for help most of the time and thus things must be forced into their face so that they don't miss it. For example, in the first release I had the command list in the game, and mentioned how players could get to it, but it seemed no one here found it. It was only after forcing the command list into view, by adding the "new player" prompt, that anyone was able to get into the game period. Granted, the first release did fail on many fronts, particularly guidance for the initial area, which I do apologize for. However, a few of the feedback I've received implies that they never read any of the gameplay tips I put in the game. I'd prefer that a player will go looking for help when they need it, but what seems like a simple and straight forward tactic of telling a player to type "display info" and then "commands" wasn't enough to get the command list to the player. So unfortunately, this prompt is a necessary evil. :(

I don't know what people wanted in the help screen. I can always change it based on feedback.

In the monster spawn code, there are 5 options: Quick, Tough, Spellcaster, Drainer, and Boss. If you aren't on the boss floor or the boss is dead, then it instead spawns a Drainer. So, drainers have a 40% chance of spawning on most floors, and 20% chance of spawning on a boss floor when the boss is alive. Primals cast spells, and thus they only drain XP if and only if they penetrate your spell resistance. So if you have high spell resistance or you kill the primal in one hit, then you can defeat a primal with ease.

That is an extremely weird edge case scenario. I've never encountered it. I'm not sure how you could have encountered it. It seems like the codebase is doing weird things lately, for unexplainable reasons. The way I have it setup in the code, the room that most of the action takes place in is entirely separate from the room that a player is in when they do character generation. And as I don't have anything in the entire codebase that allows you to get back to the character generation room, that I know of, debug control or otherwise, I'm not sure how you had this happen to you. As the character generation script is built directly into the room and thus isn't a free-floating script, I haven't the foggiest idea how this could have happened. Plus, in Quest, objects do not normally transfer to another room unless the programmer builds in this functionality. I'll post on the Quest forums to see if anyone has an idea of how this might happen.

Yes, noticed that one for the spider web. The print message was supposed to be set to "expression" but forgot to do so. Easy fix. Will be in the 3rd hotfix.

Thanks for the feedback!

EDIT: I posted a thread on their forum, you can take a look at it and give your opinions on their responses. Also added two weird cases of my own that I encountered. Link to that post = http://textadventures.co.uk/forum/quest/topic/tyd_mwgm4es8qelorf3pxa/i-have-some-very-wierd-things-going-on-in-my-codebase-unexplainable-things-wtf

EDIT2: The hotfix will have to wait until I get a response to the above thread. Until I know why my codebase is inexplicably failing, in improbable ways, that defies programming logic, I should probably wait on working on the code. Its possible that after enough complex syntax and logic, that the Quest Engine simply fails and then starts to produce unlikely logic that shouldn't be happening. But perhaps the people on the forum will know what is going on.
« Last Edit: September 17, 2017, 12:58:08 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #43 on: September 17, 2017, 06:25:47 PM »
Well, I've managed to solve a few of the logic errors I ran into in my own playthrough. Still have no idea what causes Hooman's error though, and no one on the other forum knows, so I've completed hotfix 3 and updated the first post. Fixes some logic errors, improves specific parts of the UI, and modifies gameplay balance to add more challenge for a warrior-esque playthrough, but should have a low-marginal impact on other playstyles.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: Cataclysm of Chaos (working title)
« Reply #44 on: September 17, 2017, 09:44:27 PM »
Quote
In the code, #object# allows you to use a generic variable for interacting with objects in a scene. And if you don't have #object# in the actual command, then you can't use that variable.

Do you really need this object? The monster name is used in the flee message, but I don't think that's particularly important. Plus, even if you type an abbreviated monster name, the full monster name is displayed in the flee message, so that string is available elsewhere in memory, even if the player doesn't type it.

Quote
Thus, if you have a lot of monsters, you would have to duplicate code every time for each monster. By using #object# it reduces code redundancy by a lot.

I've never encountered more than one monster at a time. Is that possible?


As for the character creation bug, I started a new player, immediately descended, then in the first room where I encountered a Giant Fire Ant I typed "look" as my first command. I ended up back in character creation. After creating that character, as soon as the game starts, before descending, I typed "look", and again ended up back in character creation. As long as I keep typing Look, I keep getting more HP and MP.  :)


Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #45 on: September 17, 2017, 11:00:34 PM »
The string is attached to the monster, which is an object. The #object# targets any monster in the room. As there are different objects for different monsters and bosses, you'd need to manually code in that you flee from monster a, monster b, monster c, monster d, and every single boss. So I don't necessarily NEED #object# but it greatly reduces code redundancy.

Only if I code the logic wrong XD

I managed to partially reproduce your bug. Typing look in the character creation room will cause you to go through character creation again... which is logical, as the character generation code is built into the room description and the command look normally displays the room description. However, I couldn't replicate the error when you get...

Wait a second... When you started the game, did you hit "descend" immediately after creating your character, or did you hit "begin" and then "descend"?

...

You hit descend immediately. I just tried hitting descend in the character generation room, and you can indeed descend. And any time you type "look" in the character generation room, you will regenerate your character.

Well, at least I now know what causes this bug. I'll have it fixed for the next release.

Please, until then, type begin after creating your character, to get moved to the game proper. You'll know you did it right when it says you are in "Old Empire's Capital City".

Well, I'm happy that's cleared up!
« Last Edit: September 17, 2017, 11:04:31 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4954
Re: Cataclysm of Chaos (working title)
« Reply #46 on: September 18, 2017, 12:41:24 AM »
Bah! You mean you're going to fix the hack I discovered to get super powerful right at the beginning of the game? I should never have reported it.  ;)


Post the code for why flee needs an object!  :D

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #47 on: September 18, 2017, 01:12:30 PM »
Hahaha... sads. I never thought that line of reasoning would be used against me... lol... However, unlike most developers who patch out the only effective way to progress and leave players with horrible grind (I'm looking at you Destiny 1, Borderlands 2, Diablo 3, etc), you will find more loot the deeper down you go, so there are still a variety of effective ways to attain progression quickly. For example:

PRO TIP: Get the spell Terrify, cast it on foes to clear them from the room, and then investigate the room without fighting/possibly dying to the monster to investigate the room! And unless you get a trap, those investigatables generally have a lot of valuable loot.

====

The code includes the monster retaliation script which is fairly large. However, there is four instances where the #object# is used in the script:
1. You manage to sneak away without alerting the #object# of your presence.
2. You attempt to flee without getting hit by the #object#.
3. You flee from the #object# and enter a new room.
4. #object# HP = currentHP * 0 + maximumHP.

So, I have four monsters, and 4 bosses currently. That would mean that in every situation of #object# usage, I'd have to explicitly type the monster/boss. So instead of having 4 lines of code that covers all 8 "objects". I'd instead need 32 lines of code, to cover all objects + any time I add new monsters or bosses, I'd have to remember to add those lines to the flee from object command. So it could be done, but would require a lot of time and effort to maintain and would make the code really ugly to work with, as I'd have to sift through the duplicated code sections and get to the areas I need to modify; namely the monster retaliation script.

With the way it is currently designed, any time I add a monster or boss, I only need to update the monster retaliation script. Plus, if I had to do it with each individually named object, I'd have to use CopyPaste to post the exact same message, just for a different critter.

That's why I'm hesistant to change it. Its elegant and efficient. However, what we could look into is changing the format of the command to something shorter. Unfortunately, "Flee from Object" sounds the best.

=====

An alternative solution would be that if you flee from a drainer or boss, then the next monster encountered is a Tough, Quick, or Spellcaster. As you were using flee from object constantly to avoid drainers and kept getting them, this could potentially resolve your issue in a different manner. If you didn't have to use the command as often, would the command still feel wordy?

EDIT: I've implemented a possible solution into the code. Anytime you flee from a drainer or boss, you will get a Tough, Quick or Spellcaster. If you flee from a boss, you can't get a drainer right after, only one of the three. If you flee from a drainer on a boss level, you can't get a boss right after, only one of the three. That should cut down on the unfairness in the monster generation code.

I'll have to test it out to make sure I implemented the code properly though.
« Last Edit: September 18, 2017, 01:27:59 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #48 on: September 20, 2017, 11:24:34 PM »
Well, Release v4 is coming along nicely. I had wanted to implement a bunch more things, but would like to get a few of the new systems out for players to try out and give feedback on.

V4 will include:
1) Section 3, and Section 4; this means new room generation scripts, 3 new investigatables for each section, 20 new monsters for each section, a boss for each section and boss loot for each section.

2) The new storytime system. Will be broken up into 3 categories; backstory, journals, and artifacts. Backstory is what it is currently in V3. Journals are found on adventurer corpses, and provide a bit of extra fluff and lore for the player to immerse themselves in. Artifacts has information on the artifacts themselves once you've defeated the boss. Hopefully this gives players that like to read lore and immerse themselves in a world to greatly help out in that regard. I'll be adding in V4 journals for the Sewer Section only, and artifacts for Sewer Section only, but more to follow later. Also, I'll give a bit more backstory entries to read for players interested in reading it.

3) 7th tier spells, particularly Ultra Heal, Ultra Aid, Power Weapon II, and Force Shield II, to name a few of the new spells.

4) Implement a UI option for renaming your equipped items. So, for example, you could rename your equipped longsword into a warhammer; its stats would remain the same, but it might help the player who is trying to roleplay a particular character to help to immerse themselves better.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Banned
  • Hero Member
  • *****
  • Posts: 825
Re: Cataclysm of Chaos (working title)
« Reply #49 on: September 21, 2017, 04:05:23 PM »
Well, fuck.

While adding the 7th tier of spells to my buy command, the buy command broke. I managed to add the new spells to tiers 1 to 6 without issue. But after adding spells to 7th tier, my buy command now refuses to compile or even load in the UI. I've deleted the entire 7th tier, and the issue remains. I've posted a help request in the other forums. If they can't solve the issue, then the next release will be delayed for anywhere from a few weeks to months.

The purpose of the buy command is to allow players to control the RNG. A problem in RNG heavy games is that sometimes the game will favor you and other times it will give you the finger. The buy command is there to mitigate that RNG so that if the looting of items keeps giving you the finger, then you can purchase the things you need from the store. But if you have no store, then the player has really no way to mitigate that RNG. So if I don't have the buy command in place, then a major and extremely crucial part of the game design will not be present. And as this would help my game stand out from other roguelikes (as most roguelikes lack a reliable way to mitigate the RNG), then its just a rehash of older games.

So, I don't know what I'm going to do if the buy command is permanently borked.

Sigh...

EDIT: Updated my first post of the thread with the current source of V4. If I can figure out a way to get around this situation, I'll gladly keep developing the game and the source will simply serve as a backup copy. If not, then likely I'll just start a brand new project from scratch as the buying system is a critical core functionality of the game, and the game will not play properly without it. It is also, if I would market it, be my competitive advantage over other roguelikes and without it, why would someone play my game over so many other generic roguelikes out on the market already. I'm not trying to downplay the value of the other features that I have, but the entire game design focuses around the ability to mitigate the RNG and without a way to mitigate the RNG, then it will not play properly and will not feel fair.

Unfortunately...

EDIT2: It appears the problem is localized in my spell purchasing code. This means I won't have to rebuild my entire buy command, but will likely have to rebuild my spell purchasing code. So instead of a repair job of 2-4 weeks, it might take me 2-4 days to repair it.
« Last Edit: September 21, 2017, 08:28:47 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html