Author Topic: Island of Secrets (revival)  (Read 10058 times)

0 Members and 1 Guest are viewing this topic.

Offline JRedant

Island of Secrets (revival)
« on: August 04, 2013, 03:56:19 PM »
Hey guys!

It's been over a year since I last revisited the project. So I have some updates and a question.

I found a walk-through of the game and it looks like it needs to be done in the correct sequence. Otherwise, you can't win. And it's kind of like the early King's Quest games...you collect stuff to reveal clues. Some of the stuff is pretty useless after revealing the clues.

So, for example, in a scene that had me stumped for a while:
You are in a cave and you see mushrooms. In the mushrooms is a parchment that contains a valuable clue. The walk-through revealed that you weren't supposed to interact with the mushrooms until you had completed four prior tasks in a specific order. After you completed those tasks, then you can get the mushrooms and then you can get your parchment.
For my SCI interpretation, this turns out to be a simple fix. I also decided to be nice to the player, as well.

So here's the question:
There is a Canyon Beast in the game. It wanders around, ignoring all actors. You can't RIDE BEAST until late in the game. I have designed a view with the EGO riding the BEAST. What code do I use to change the EGO View from 001 to 003?



Offline Doan Sephim

Re: Island of Secrets (revival)
« Reply #1 on: August 04, 2013, 11:40:57 PM »
(send gEgo:view(3))

Offline JRedant

Re: Island of Secrets (revival)
« Reply #2 on: August 05, 2013, 12:18:07 PM »
Ah, it's that easy? Cool!

Offline Doan Sephim

Re: Island of Secrets (revival)
« Reply #3 on: August 05, 2013, 02:26:41 PM »
You'll also probably want to hide the beast sprite at the same time...

(send gEgo:view(3))
(beast:hide())

Offline JRedant

Re: Island of Secrets (revival)
« Reply #4 on: August 05, 2013, 02:59:03 PM »
I'll throw in something a tiny bit more challenging:

In the game, there is a ruthless character. If you try to engage, he will swipe you with his sword causing physical damage, of course. If you give him a certain item, he will leave you alone for the rest of the game. Otherwise, he'll just be on the screen owning the whole joint, as it were.

So in the game, how would you get the character to get into close proximity to the Ego and "hurt you"? Assume that I already have the Heath meter taken care of at this point.

Offline Doan Sephim

Re: Island of Secrets (revival)
« Reply #5 on: August 05, 2013, 03:37:02 PM »
There are a couple ways to go about this.

(knifeGuy:setMotion(MoveTo (send gEgo:x) (send gEgo:y) )) is one way. You could call this in the doit Method, so if the ego moves, the coordinates would be updated...

but there is actually already a built in function to do this

(knifeGuy:setMotion(follow gEgo)) // I don't remember if the follow is capitalized or not.

if you use this one, you need to make sure to add "use follow" at the top of the sscript.

Offline gumby

Re: Island of Secrets (revival)
« Reply #6 on: August 05, 2013, 07:04:19 PM »
You may get some hints on how to do this from the death handler script:

http://sciprogramming.com/community/index.php/topic,62.0.html

Specifically, there is code in that post that compares the distance of the ego to the 'bad guy' to determine if the ego is close & how to kick off the dying script.  You should be able to modify this to include a 'combat' step before death is dealt.
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Roycole

Re: Island of Secrets (revival)
« Reply #7 on: February 17, 2014, 11:11:38 AM »
Thanks mate this script is very useful i was looking for such thing...thanks a lot..

Offline Tomihask

Re: Island of Secrets (revival)
« Reply #8 on: May 04, 2014, 07:23:03 AM »
There are a couple ways to go about this.

(knifeGuy:setMotion(MoveTo (send gEgo:x) (send gEgo:y) )) is one way. You could call this in the doit Method, so if the ego moves, the coordinates would be updated...

but there is actually already a built in function to do this

(knifeGuy:setMotion(follow gEgo)) // I don't remember if the follow is capitalized or not.

if you use this one, you need to make sure to add "use follow" at the top of the sscript.

Thanks Doan Sephim for useful post .


SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.072 seconds with 18 queries.