Author Topic: What are we working on?  (Read 54477 times)

0 Members and 1 Guest are viewing this topic.

Offline Collector

Re: What are we working on?
« Reply #285 on: December 07, 2020, 08:43:43 AM »
Wouldn't you also need to store all status, inventory items, etc. right before ego enters the situation that kills him for the retry? Wouldn't that require modification at each danger point?
KQII Remake Pic

Offline Doan Sephim

Re: What are we working on?
« Reply #286 on: December 07, 2020, 09:23:43 AM »
I also don't remember, but does the Mandrake plant grow back if you take it in the daytime?

Even if it does grow back, I think if you try to take it the day you get the Baba Yaga quest it won't be there for you at midnight, resulting in an unwinnable state. Probably just having it spawn at midnight would solve this problem.

Also, I love the death achievement log! I'm not sure how you are achieving that, but I would love to add something like that to my current project...but I guess it includes a huge overhaul of the entire save/restore system. Still, I really love it!

Offline Charles

Re: What are we working on?
« Reply #287 on: December 07, 2020, 11:45:40 AM »
Wouldn't you also need to store all status, inventory items, etc. right before ego enters the situation that kills him for the retry? Wouldn't that require modification at each danger point?
That's exactly the sort of challenge I faced at the outset. Most of the time, if you die it's because of something you immediately did wrong. Like step on the wrong trap in the Brigand Fortress, or fall down a hole in the Graveyard, etc. Those are easy. Just back track to right before you did that one thing -- reposition ego, reset any views, undo any flags.

But my earlier example of destroying the spitting plants... you might do that early on in the game, and then forget about it... you could have done dozens of tasks and played through a handful of game days between destroying those plants and actually meeting the Dryad face to face. Others may approach the solution differently, but I decided on a minimally invasive approach to the Retry. In other words, I only change the one specific thing that caused you to die (and anything directly related to it).  Anything else you may have done after killing the plants still happened... time doesn't reverse, your stats aren't reversed, the only thing that changed is that Retry brings you back in the spitting plant room and the plants are alive (and the seed is out of your inventory and back with the plants). Now you can Retry to get the seed the proper way.

Similar thing if you died in battle, or because your stats were too low.  I don't reverse any skill improvements you made. With the premise that this is a game and above all, should be fun... if you died because your character wasn't good enough, it would be incredibly frustrating to be put back right where you were, with skills still too poor.  You're just going to need to grind again anyway...  There are dozens of places where the hero can lose HP (and thus potentially die). I took different approaches in different contexts... in some, I revert the HP to before whatever caused them to die... in others, I just restore them to a token 50% HP or such.

And if people are concerned about "cheating" or getting a freebie or having an unfair advantage because they clicked Retry, well, it's not free... it's marked off in their Death List.  That's why I not just mark the unique deaths, but the total number of deaths.  You're still free to Save/Restore if you want the extra challenge. That's entirely on you.

I also don't remember, but does the Mandrake plant grow back if you take it in the daytime?

Even if it does grow back, I think if you try to take it the day you get the Baba Yaga quest it won't be there for you at midnight, resulting in an unwinnable state. Probably just having it spawn at midnight would solve this problem.

Also, I love the death achievement log! I'm not sure how you are achieving that, but I would love to add something like that to my current project...but I guess it includes a huge overhaul of the entire save/restore system. Still, I really love it!

The Mandrake is similar to killing the plants.  It isn't a walking dead state, like not getting the seed on time.  True, the mandrake doesn't respawn.  But if you agree to get Baba Yaga her mandrake (and if you don't agree, you die) then you have 3 days to do so. If you don't do it in that time, you die.  So I respawn the mandrake on that Retry.  It may not be the most intuitive, and I may still tweak it, but I wanted to stay as true as possible to the original intent of the game... it's completely subjective... I'm just some schlub editorializing someone else's work. Obviously if you implemented this in your own project, it's entirely your choice to decide how to handle it.

Speaking of, I don't think it's as daunting a task as you imagine to retro fit it.  Yes, I had to edit almost every script (and especially every script that had a death), but I wrote my modified EgoDead function so that I could fix things up piecemeal. I'll try and post the code later today in another thread, but basically, you can update the EgoDead function and change nothing else, and the game will properly recompile and all the existing Restore/Restart/Quit dialogs will remain unchanged.  Then you can go through one by one, and update the existing Deaths at your leisure.

Offline Doan Sephim

Re: What are we working on?
« Reply #288 on: December 07, 2020, 12:59:45 PM »
Speaking of, I don't think it's as daunting a task as you imagine to retro fit it.  Yes, I had to edit almost every script (and especially every script that had a death), but I wrote my modified EgoDead function so that I could fix things up piecemeal. I'll try and post the code later today in another thread, but basically, you can update the EgoDead function and change nothing else, and the game will properly recompile and all the existing Restore/Restart/Quit dialogs will remain unchanged.  Then you can go through one by one, and update the existing Deaths at your leisure.
Ohhh! Of course. I was envisioning a huge overhaul, but really it's more just tweaking some things here and there. Would it be rude of me to implement just the death counter and type in my game similar to what you are doing here? I think it's a really cool idea.

Edit: This actually reminds me of a small game I wanted to make a while ago as well. It was supposed to have 100 different deaths in it, and this would allow achieving each type of death as the actual victory condition :P I may have to revisit that at some point
« Last Edit: December 07, 2020, 01:02:33 PM by Doan Sephim »
Artificial Intelligence Competition

Offline Charles

Re: What are we working on?
« Reply #289 on: December 09, 2020, 03:27:34 PM »
Would it be rude of me to implement just the death counter and type in my game similar to what you are doing here? I think it's a really cool idea.

I absolutely welcome it. I'm happy it's been as well received as it has. I'm not sure if you could implement just the death counter without the Retry option, but I wrote up a couple page tutorial on how I did what I did http://sciprogramming.com/community/index.php?topic=1946.0.

Offline EricOakford

Re: What are we working on?
« Reply #290 on: January 06, 2021, 01:36:39 PM »
I've decided to expand my game decompilation efforts to SCUMM games. I've already got some here. I was pleased to find that the SCUMM demos were stripped-down versions of the full games, just like the SCI ones!

Since there's no simple IDE for SCUMM games, I had to make do with ScummRP (to extract the data files) and descumm (from the ScummVM tools). I got the idea from this disassembly project for the C64 version of Maniac Mansion.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned


SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.12 seconds with 24 queries.