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

0 Members and 1 Guest are viewing this topic.

Online 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.

Online 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

Offline spiffythedog

Re: What are we working on?
« Reply #291 on: January 20, 2021, 11:44:15 AM »
Thanks to EricOakford's SCI Decompilation Archive, I'm now very close to putting the finishing touches on my update patch for Space Quest III, a project I've been sitting on for about three years now.

There are only two things left to be done:

  • The view for the back of Roger's head (view.031) on the Aluminum Mallard. The shadow doesn't work now that he has blonde hair, and simply replacing the colours produces what you see in the fourth screenshot below. While I've done a lot of editing and colour replacement, I'm certainly no pixel artist. Are there any talented artists out there that can help me make this look presentable?
  • For the life of me, I just can't get any version of MAKEVOLS to work. Maybe it's because SQ3 is an SCI0 game and the formatting of the RESOURCE.TXT and WHERE files are different for earlier versions of the program/interpreter. I couldn't even get KQ6 floppy to pack using the files NRS provided with MAKEVOLS version 3.01. I suppose I could just use ResDumpPack if I still can't figure it out.

If anyone could help me out with these two issues, I'd greatly appreciate it!

Offline Kawa

Re: What are we working on?
« Reply #292 on: April 10, 2021, 09:11:06 AM »
I've been working on a thing, I guess.

Also have a long-belated attempt at a blonde Rog head.

Offline gumby

Re: What are we working on?
« Reply #293 on: April 10, 2021, 10:18:56 AM »
SCUMMCompanion?  That's awesome.  Looks like a .NET project?
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Kawa

Re: What are we working on?
« Reply #294 on: April 10, 2021, 12:27:59 PM »
What tipped you off? 😸

Offline OmerMor

Re: What are we working on?
« Reply #295 on: April 10, 2021, 03:22:25 PM »
That's awesome Kawa!

Offline Kawa

Re: What are we working on?
« Reply #296 on: April 10, 2021, 04:57:09 PM »
Yeah, imagine if it actually let you change more than just boxes, and anything in a property grid. And actually saved.

Offline troflip

Re: What are we working on?
« Reply #297 on: April 10, 2021, 05:09:26 PM »
Very cool anyway, I'm sure you'll get that working before too long.

Does .net stuff run on ok Mac/Linux these days? My biggest regret with SCI Companion was relying way too heavily on Windows-only stuff for the UI. Really wish I'd used a cross-platform widget library.
« Last Edit: April 10, 2021, 07:45:09 PM by troflip »
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline lskovlun

Re: What are we working on?
« Reply #298 on: April 10, 2021, 05:56:48 PM »
Myself, I'd be interested in seeing the bootscripts/UI/lower level scripts. Y'know, is SCUMM really as extensible as SCI, and how do the parts relate. Missed that in the Ron Gilbert video, but I realize it might not appeal to everyone.

Offline Kawa

Re: What are we working on?
« Reply #299 on: April 10, 2021, 08:45:23 PM »
Does .net stuff run on ok Mac/Linux these days?
Usually I try to use as few P/Invokes as I can so it will in fact run on Mono. Unfortunately there are some parts in here that break that rule: fetching system icons for folders and generic documents, and removing the bevel from the MDI window so the right hand panel in the explorer window and such looks like it's part of the parent, not the child.

I blame you.

Obvious solution: have the wrapper functions detect they are not in fact running on Windows and thus doomed. Return built-in icons and just don't remove the inner bevel in those cases, way before you try to do the thing.

Quote
I'm sure you'll get that working before too long.
Well, I do have a "save selected branch to separate file" test menu item, and it did manage to save an exact recreation of the "rowboat and oars" OBCD. And then an equally valid "roeiboot en riemen" after I renamed it.

Myself, I'd be interested in seeing the bootscripts/UI/lower level scripts.
Probably part of the first-seen LFLF/room and the last-stored. I'll find out soon enough.
Quote
Y'know, is SCUMM really as extensible as SCI, and how do the parts relate.
FT, S&M, but mostly Loom come to mind.

I do know with near certainty that the system window layouts are hardcoded, but their text is loaded in by startup scripts.
« Last Edit: April 10, 2021, 08:53:58 PM by Kawa »


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

Page created in 0.14 seconds with 24 queries.