Community
General and Everything Else => The Games and other Sierra Adventure stuff => Topic started by: JRedant on February 07, 2012, 09:07:43 PM
-
Hey guys, I'm not sure if it's because my computer is running Vista, or if there's something in the tutorial that I'm not understanding, but I'm having trouble making headway into my game.
So I downloaded ScummVM, because SCIV.eve doesn't work with Vista. ScummVM was able to load, and run the Point and Click tutorial, and the template with no problems. But as soon as I made any changes, it decides that it doesn't want to run. ??? What am I missing?
Perhaps I should be using something other than ScummVM?
I'm going to try the tutorials again. Maybe I'm passing over something vitally important?
-
;D
Skip it, I figured it out. DosBox is my new best friend!
Now I'm foraging ahead! I'll let you know what I'm working on as soon as I get beyond one screen, one object, and one character
-
Welcome, and yes scummvm will not work with our in development games. The short version is that scummvm is set up to work on a game by game basis. apparantly the pnc template was created before the last build so it does work. Good choice going with dosbox. If you need any help or get stuck, feel free to ask for help. looking forward to seeing what you make.
-
It's probably been done before, but whatever!
What I'm doing is a port of Island of Secrets, published originally by Usborne back in '84. I had a lot of fun putting the code in when I was a kid. And now it's a pretty darn good source of visual material for a SCI-based game, I'm surprised they haven't done it.
I started using AGI, and that started becoming hairy. Especially the Picedit tool. I couldn't take it anymore, so I switched editing suites.
Now I'm hoping that my attention for this project lasts long enough to complete it.
-
...oh what they hey, I'll post up the project site. :P
https://sites.google.com/site/saskolinasoft/ (https://sites.google.com/site/saskolinasoft/)
-
Okay, maybe someone can help me.
So I made another room. Then from the Script editor, I've done the following:
[New Script] --> {Room Number: 2} --> [OK] --> {proceeded to make script changes} --> [Compile]
Then the following error came up:
"[Error]: Unable to open vocab.000 for reading!
[Compile]: C:/(directory)/rm002.sc Failed!"
Worse still, when I go to the script list, rm002.sc is not listed. However, rm002.sc is in the directory, so that wasn't lost.
What steps am I missing?
-
...once again, nevermind. >.<
Self-learning is a good thing!
-
...oh what they hey, I'll post up the project site. :P
https://sites.google.com/site/saskolinasoft/ (https://sites.google.com/site/saskolinasoft/)
I like your 'leafy path' screenshots - nice art!
-
You may want to see this thread fro testing/running your game.
http://sciprogramming.com/community/index.php/topic,523.0.html
-
I like your 'leafy path' screenshots - nice art!
That...took some time! I was using the tracing method there. I found that if it's worth doing, then it's worth doing well. Even if it's just tracing 24-bit color pictures to a very rough 16 color picture.
-
I see that you are using Studio. You will find that most here use SCI Companion various reasons. Except for a couple of issues, you may find that it is less buggy.
-
Very well, I'll give SCI Companion a try then.
Could I port my work over from Studio, or would I have to start over from scratch?
[edit: ....*sigh*....nevermind. I answered my own question! Oh, about to face my first major challenge. The cave. :-P ]
-
If you are using the template game that comes with studio you will need to make a few changes to a couple of scripts but after that you should be able to use either companion or studio to work on your game. collector is right, companion is the preferred studio and in your case specifically, you may find the pic tools especially handy. you can import images and it will try to convert them to 16 colors for you.
-
If you are using the template game that comes with studio you will need to make a few changes to a couple of scripts but after that you should be able to use either companion or studio to work on your game. collector is right, companion is the preferred studio and in your case specifically, you may find the pic tools especially handy. you can import images and it will try to convert them to 16 colors for you.
Let's suppose that the only script changes I made were to the two rooms alone, would it be slightly simpler to copy and paste the ones from SCI-Companion template that I need? Which ones would I need to move over?
-
The cave has been a challenge. I'm at a point now where I need to ask...does this look like a cave? Or a glob of colors?
https://sites.google.com/site/saskolinasoft/rough-draft/entrancetodarkcave (https://sites.google.com/site/saskolinasoft/rough-draft/entrancetodarkcave)
-
Not bad. Could you utilize some purple to get another dark tone for the interior of the cave? Maybe in the cross-hatched area, instead of black/grey use black/purple?
EDIT: I just checked out the original 'Island of Secrets' - nice to see that you are porting a text adventure to SCI!
-
The book where "Island of Secrets" came from has some pretty great artwork in it. I had to give it a try. Not wanting to jump the gun, since I should get one project done at a time, if this goes over well, I'd like to try to port another text adventure to SCI.
...however, back to the project at hand!
I recall a cave scene in a Sierra game back in the late 80s that effectively used purple in the cave scene. I'd like to try that with mine.
I'm almost tempted to patch up the little bits and release what I have right now as a demo version.
-
Anything you made in Studio will work fine in Companion Script-wise (for the most part, but I doubt you'll run into problems). What Cloudee is talking about is the template game itself. Code you haven't written. There are some "errors" (for lack of a better word) inherent in SCI Studio's template game which SCI Companion fixes. The SCI Companion help file has the information you need on which specific lines of code to fix in which scripts.
-
That was really clever, actually. It's now a clean compile.
-
Absolutely beautiful. I wanted to share this with everyone before I change it:
https://sites.google.com/site/saskolinasoft/rough-draft/snelmslair (https://sites.google.com/site/saskolinasoft/rough-draft/snelmslair)
I made it far too long to do me any good. So I'm going to shorten it. I'm close to releasing a demo.
-
If you only have a couple of rooms you'e coded and the pics, yeah it might be easier to export the pics and any views from studio and import them into companion and then just copy and paste the scriptwork you've done. But then again the bugs aren't that hard to fix either so it's up to you
-
Hey, make sure that you review the bugs in the template game. There is a thread here regarding that. I think there are still undocumented issues (the Dispose script comes to mind) - starting new thread.
-
Bugs have been sorted out, and it runs cleanly. I have to do one more thing before I feel fully competent. I need to introduce an "actor". the first one is not going to be an easy one. It's a "Wild Canyon Beast" So now I need to figure out how to animate four legged characters. If I can do that, I can do anything.
-
That's where I usually look to a sierra game's views for reference. Conquests of camelot has several animals, same with the king's quest games
-
I really should stop posting things that I say could be a challenge before finding out that they're not. ;D Google Image Search just became a great resource for people wanting to look for cel animations of animals. I'm underway to making the sprite now.
-
Oh yeah, and by the way, the demo has been approved and is ready for download off of the fan games page
-
Very cool! Thanks, cloudee! :D
Update: It took me two days to figure out what to do with the Canyon Beast. The thing looks like a pink horse now. I'd like to give it some claws or something.
I'm also been having a pretty bad cold too. I'm managing.
[edit: >.< good thing I had a backup copy. I was working on the Vocab file, removing words I didn't need. Which ruined my game. Never do that again.]
-
(Just watch me figure it out :-P)
So I'm about to put in the Canyon Beast into the game, following the instructions in the tutorial. And it's not happening. I'm not sure if it's because the Canyon Beast is bigger than 19x42 pixels, or however it's supposed to be. Or even if that matters. There might be something else I need to do with the scripts.
The Canyon Beast is 57x42 pixels. And it will be moving. So... ideas?
Five minutes later, I get it. Strike that. Anyway, making good progress!
Nevermind! ^.^'''
(http://3.bp.blogspot.com/_5BxwvKo5JP0/SXgN1cVD-FI/AAAAAAAAA9g/s5DBONhl9gU/s400/RosannaDanna_l.jpg)
-
I played the demo and I have a few criticisms. First I want to say it is remarkable how much work you were able to get done in such a short time (on the pics I mean). Pics take me eons to do and I dread them!
First thing I noticed was that you cannot really "look" at almost anything. I know it's a demo, but this will be important in just a minute.
Second, when I entered the cave, I do not believe you have a way to get out of the cave.
Third, in the cave, I have no idea what the yellow/gold things are on the ground. I tried looking at the ground to see, but the "look" message gives me no input.
So I ended the gam ewith 0/5 puzzle points because there is virtually no interactivity in the game.
Again, I know it's a demo, so I'm not trying to be harsh. Just treat this as a beta test review ;)
EDIT - I looked at your website and I lol'ed when I saw how you made your canyon beast! I used the exact same black and white pic for my horse sprite! It worked very well. Finding a running one was harder, but I made one and you can use the sprite (with color modifications of course). It may save you some time. You can find it in the art gallery (public domain)
-
Thanks for all of that, Doan!
1) That is a hard thing about translating a text game into a graphic game. When all the text game says is "You are at the southern edge of the forest", well sure you can draw the southern edge of the forest. But now after having completed seven of these screens, I feel that I need to write a story about all of these screens, thread them together somehow. Which means I'm going to have to start using a lot more of the book than just the program.
2) Resolved with the additional screens that I've rendered.
3) Resolved with the "look" statement. Although I should have an automatic statement that says "There are mushrooms here". Those are tough buggers to interpret on that kind of a scale.
4) Lack of inactivity, I hope, will continue to develop as I become more familiar with the game. As it stands now, there's hardly anything to interact with. Which is also another drawback to interpreting a text game into a graphical one.
5) That walking horse is pretty valuable, isn't it? :-)
6) Actually that input is necessary. I need those kind of harsh words, actually. I have some of the same issues with the game myself. I give you 5/5 points in being a pretty darn good Beta tester! Once I iron out the Canyon Beast scene and iron out some more issues, would you like to try out what I have now?
-
6) Actually that input is necessary. I need those kind of harsh words, actually. I have some of the same issues with the game myself. I give you 5/5 points in being a pretty darn good Beta tester! Once I iron out the Canyon Beast scene and iron out some more issues, would you like to try out what I have now?
I would be happy to try try it out for you
-
Some things left to do before a second demo is ready:
My GET routine needs to be debugged.
I need to introduce "EAT MUSHROOMS" into the general statements, as it's not a room specific command. It's an inventory command.
The first of the Death screens is about ready.
It's looking better, now that I tied more of the book into the game.
-
Just a thought occurred to me...is this based off of MACLISP or Common Lisp? There's just something very familiar and LISP-like about SCICompanion.
-
Yes the sci syntax is based off lisp
-
Do you know which one, roughly? I thought it might have been based off of Common Lisp (ANSI X3J13)
-
We have had a couple of threads here about the original syntax with some external links.
http://www.mwilden.com/smalltalk/index.htm
http://sciprogramming.com/community/index.php/topic,372.0.html
http://sciprogramming.com/community/index.php/topic,363.msg2026.html#msg2026
http://www.sierrahelp.com/forums/viewtopic.php?f=6&t=2102&start=30#p33222
http://sierrahelp.com/forums/viewtopic.php?f=32&t=134&p=26699#p26699
-
Ahh, okay...now I see it. I thought the picture editor looked more like LOGO than LISP, but LOGO was influenced by Smalltalk to begin with. Alan Kay is a genius.
-
Once again, I'm taking creative liberty. I'm following the book, instead of the program, in designing this game. This is not a bad thing. This is taking something and making it my own, so long as I can pull it off!
For the record, I love doing the artwork, especially tracing the scenes that I need, figuring out what details I need, what the scene calls for, what the surrounding scenes require. I can focus a good 3-4 hours in getting a room right.
That, and I really like having beta testers pull the damn thing apart. It makes for a stronger product.
I'm hungering for more, so here we go!...back to the picture editor
-
I'm at some sort of compiler confusion, or programmer confusion.
My programming algorithm is as follows, inside main.sc in the global Said portion:
If user types "examine mushrooms" or "look at mushrooms"
(
If user has mushrooms in his inventory
(
Drop mushrooms from inventory
Place "Piece of parchment" in inventory
Increase score
Print some sort of message
) else ( etc... )
)
Here's what I came out with:
(if(Said('examine/mushrooms'))
(if(send gEgo:has(INV_MUSHROOMS))
(send gEgo:put(INV_MUSHROOMS))
(send gEgo:get(INV_ONEPARCHMENT))
(send gGame:changeScore(5))
Print("etc.")
)(else
Print("etc")
)
)
Problem: When I type in "examine mushrooms", instead of doing what I intended, it prints out the description of the room. What am I doing wrong? Assume that I've defined INV_MUSHROOMS, and INV_ONEPARCHMENT.
-
Sounds like you've got a more generic said statement prior to the code you posted. Once a said statement is processed, the event is handled and no more said statements will be processed (normally).
-
Am I hearing that I'm going to have to make one really large IF-THEN statement to handle all of the Said statements in Main.sc?
I can do that, for the record, it won't be a problem.
-
What are you doing in the main.sc? Can you post the code so we can have a look? I'm guessing you've got something like said(examine) in there and its getting evaluated first.
-
Starting at Line 266, you come across the following:
(method (handleEvent pEvent)
(super:handleEvent(pEvent))
(if((<> (send pEvent:type) evSAID) or (send pEvent:claimed))
return(TRUE)
)
/***********************************/
/* Add global said statements here */
/***********************************/
This was where I assumed that you would put in, for example, inventory related Said statements. I had put in two. The one, that became buggy for some reason. The following, which came afterwards, works just fine:
(if(Said('eat/mushrooms'))
(if(send gEgo:has(INV_MUSHROOMS))
Print("Eww.")
)(else
Print("Eat what?")
)
)
Putting me back to square one. What went wrong with what I was trying to do?
-
Well, that all looks fine. Where are your Said() strings that end up throwing the prints that display the room descriptions? I was thinking those were the ones that were causing the problems.
-
You have to kind of nest them or else it'll take the first "look" statement as the only one. You have to put all generic action saids last after all the specific ones you want. Here's an example from KQ2SCI:
(if (Said('look>'))
(if (Said('/fence'))
Print(3 0)
)
(if (Said('/tree'))
Print(3 1)
)
(if (Said('/flower , windowbox , box'))
Print(3 2)
)
(if (Said('/cottage'))
Print(3 3)
)
(if (Said('/window'))
Print(3 4)
)
(if (Said('<in / mailbox'))
(if (== (send gEgo:onControl()) ctlSILVER)
(if (gMailBoxClosed)
Print(3 5)
)
(else
(if (send gEgo:has(INV_BASKET))
Print(3 6)
)
(else
(if (send gEgo:has(INV_EMPTYBASKET))
Print(3 6)
)
(else
Print(3 7)
)
)
)
)
(else
PrintNotCloseEnough()
)
)
(if (Said('/mailbox'))
Print(3 8)
)
(if (Said('/door'))
(if (== theDoor:cel() 0)
Print(3 9)
)
(else
Print(3 10)
)
)
(if (Said('[/!*]'))
Print(3 3)
)
)
-
That's actually what I had in mind, Musically. I'll give that try. And I am going to need to see if that code works. Otherwise, I'm going to have to figure out another way to do what I want to do.
-
If you have an if said anyword generic statement in the roomscript similar to the last statement in MI's code, the look statements in the main script will never get checked. First the roomscript is checked, then any region scripts, and finally the main script. So once it hits the look anyword statement in the roomscript which I assume is printing the room description, then the handleEvent is considered handled and it should quit looking, so it doesn't find the mainscript's print statement... similarly if the generic term comes before more specific ones, the specific ones will never be processed. One solution is to put the generic anyword statement at the end of the main script and making use of text resources where each room has it's own text, use a Print(currentRoom 0) and place the each rooms description in the 0 position. that way every specific if said statement from the roomscript through the main script will get checked before it's caught by the anyword statement
-
I've spent a couple weekends traveling and my social life caught up with me.
So, I'm back and thanks for everyone on the input! I'm setting to work on it now. I'd hate to have a promising project sitting around collecting dust.
-
Latest dilemma is more like a design issue.
The game has a meter which measures health. It starts at 100 points and decreases (at best guess) 1/2 or 1/3 of a point each time the character moves. Once it reaches 0 (zero), the main character dies. This comes into play at one, possibly two, points in the game.
In the current room that I'm working on, the Broken Branches, there is a Sparkling Spring. According to the book, it doesn't seem to serve any other purpose than to replenish the main character's health. At least not from what I can find.
If I put in a health meter into play, there is another place in the game where I could use it, and that's in Snelm's Lair. In the text program, the player is able to eat the mushroom and it replenishes the main character's health. Currently, the main character searches the mushroom bits, finds a piece of parchment, and then the mushroom is discarded.
The other design issue at hand is: Do I make the health meter visible? Do I put in "health meter warnings" (such as "Boy, I can surely use a drink about now", "If I don't have something now, I'm going to faint", "Unless I get some food or water in the next 10 turns, I'm going to die"), or do I do away with the health meter and think of something other use for the Sparkling Spring?
-
There's a few games that use a health/ stamina counter. besides hero's quest, the black cauldron makes use of one. It's not all that complicated to implement. If you go with it, it would sure be a bummer to toss the mushroom after finding the parchment. I would suggest changing that bit, and be careful not to make it to short, especially if there's only a couple of places to replenish your health. Or maybe add an apple tree or two to the game
-
Oh that won't be a problem. Code is easy to change and I can come up with another icon for the mushrooms. I'm pretty certain that there will be other areas in the game where there will be an opportunity for the main character to replenish his health.
So I'm hearing that I should go ahead and do it.
In that case, I have somewhat an idea of how to implement it, but I'm not entirely sure where to implement it.
I have the following algorithm in mind:
gTotalHealth = 100
/*somewhere in the code */
Before player enters a new room:
= gTotalHealth (- gTotalHealth 0.5)
Code where player enters a new room
-
I'm not sure how it will like the decimal points, you could always just do 1000 and subtract 5
-
Or 200 and subtract 1.
-
Why not keep things easy, eh?
So now the question remains...where to put it?
-
Well if it was a timer that continuosly counted down I would say the main script. But as you describe, I'm thinking that a region script might serve you well. One that has a changeState method that waits a few cycles upon entering a room then subtracts the health value. Any room you want to effect the health would then need to make use of the region script.
-
It's been super long since I've done any work on the game. Today, after several months of carrying on a pretty active social life, I dove back in.
I've written two Regions for the game which seem to be working. One for the Health counter, and the other for the Canyon Beast. They both seem to work just fine. I don't understand why I was hesitant about it.
Well, now that I'm able to figure out the how's-it-done of making Regions, the rest of this should be a piece of cake! It brings back memories of doing methods, subroutines, functions and classes in college.
-
After some mucking around with the code and working on two screens, v0.3 has been downloaded and hopefully made available. Like the computer geek that I am, I've archived the older versions.
Now to work on the next screen, and I plan to add some functionality to it. I promise you that I'll eventually be done with the forest screens in this game and finally get to business with the other regions.
This screen mentions "You are beneath a carnivorous tree". In the game, that's supposed to describe the scene. The tree, apparently, doesn't eat you. The book doesn't make any mention of the tree, neither. Now I want to exercise creative liberty of making this into a puzzle. Or maybe more like a maze. One wrong move and the tree eats you, game over.
Any suggestions or models?
-
This sounds similar to some of the rooms in the Space Quest games. My guess would be that you want to use control lines to draw the boundaries of the 'maze' and if the ego touches the boundary it triggers the death sequence.
When I read "You are beneath a carnivorous tree", I though of SQ and of Seymore from Rocky Horror.
-
That's what I was thinking. Instead of a carnivorous mushroom, a carnivorous tree. Which means I'm going to have to animate the sucker.
-
I got to thinking about this, actually. I could do it one of several ways. Three come to mind.
1) An umbrella tree. Step into it's shadow, the tree envelopes the ego. Ego tries to fight its way out to no avail. Ego dies.
2) A tentacle tree. Step into it's shadow, Ego is snagged by it's tentacles and is pulled upwards. Moments later, skeletal remains falls to the ground.
3) (probably the one that's going to require the most animation) Nasty looking tree. Step into it's shadow, tentacles grabs the ego and shoves it into the tree's chompers. Munch, munch, munch. Ego dies
I think I'm going to do 2). It seems to be the easiest to pull off. I could try 1) to see how far I could go. But I could flag this scene to be redone at a later time.
-
I sidetracked myself, and added in an intro sound file:
From:
http://www.classicalarchives.com/midi/composer/3190.html
the track Courante
I played around a bit with Soundbox, getting all the presets going with PC Speaker, Tandy (3 sound) and the other sound interfaces. So...how could I check it out using DosBOX?
-
Use Collector's DosBoxRunSetup app:
http://sciprogramming.com/community/index.php/topic,523.0.html
Just drop the installer in your game directory and run it. Then your 'Run' button in Studio/Companion will use DosBox to run your game. You may want to review your resource.cfg file as well to determine which sound driver you are using.
-
My resource.cfg file says I'm using STD.DRV as my sound driver. So what does that mean?
-
Somebody please correct me if I'm wrong, but I think that means that you will be getting 'beepers', just the pc speaker sounds.
-
Yes, PC speaker.
-
Ah. Oh well! At least I can assume that the soundtrack is working. I'll leave it to other techno-savy people to figure out if the other sound configurations are working. In the meantime, I probably should get back to animating the tree!
-
Just set the soundDrv to SNDBLAST.DRV (ADL.DRV if SNDBLAST.DRV is missing) in the RESOURCE.CFG and drop the DosBoxRunSetup in your game's folder and run it. Your game will then start from the run button in Studio or Companion and if it coded right, with sound.
-
ADL.DRV I have. I don't have SNDVLAST.DRV. Is that a separate file that I need to download?
edit: Changing the line "soundDrv = STD.DRV" to "soundDrv = ADL.DRV" gave me no sound. Was there something additional that I needed to do?
-
Yes, you'll need to download that separately.
If you haven't seen this post yet, it might help regarding sound/music in SCI games:
http://sciprogramming.com/community/index.php/topic,243.0.html
I can't remember where I downloaded the extra drivers (SNDBLAST.DRV, MTBLAST.DRV, etc). I thought they were here somewhere, but I can't put my finger on them. They might be linked to in a post.
It's probably time to package all the drivers & patches up in a single download.
-
Sorry for causing all of these problems. ;D
-
No, I think it's good. Just points out that we need to do some housekeeping.
Anyone know why these extra drivers weren't included in the template game(s)? Are there copyright issues with redistributing them?
-
Sorry to bring this up, but I can't get access to BrandonBlume.com. My browser has labelled it as malware, and when I got passed that, it mentions that the website account has been suspended.
-
You should be able to find the extra drivers in any of my games. If you download them, I believe you will find the drivers in the folder.
EDIT - Oops. Nevermind. I don't have the ones you mentioned either :( I only use MPUMIDI.DRV it seems
-
Are you sure this isn't for us new guys to download your stuff, Doan? ;)
I kid! I kid! Thanks a bunch! I'll be sure to do that, plus I'll check out your stuff while I'm at it!
-
They are on the Wiki.
http://sciwiki.sierrahelp.com/index.php?title=SCI_Sound_Utilities#SCI0_Sound_Drivers
-
Okay...so I plugged in GM.DRV for my sound, and how I had laid it out on Anvil Studio 2012...well, it wasn't how it sounded at all. The flute sounds became piano, and the nice church organ that I had came out extremely different. So I toyed around, thinking that it must have been some sort of weird bug.
...and then I plugged in MTBLAST.DRV as my sound. And it sounded exactly how I had intended it to on Anvil Studio. Assuming that I'm not crazy, I'm thinking that MTBLAST.DRV is the way for me to go with the rest of my project.
-
You should only use one of the MT-32 drivers if if the music is done for the MT-32 AND you are listening to it with a real Roland MT-32 module or at least Munt. The instruments are mapped differently as well as uses custom sounds that have to be programmed in. Use the ADL.DRV driver or, if you have any digital sound embedded in any of your SOUND resources, the SNDBLAST.DRV.
-
That's the crazy thing. Neither ADL.DRV nor SNDBLAST.DRV give me any sound. So I'm hearing that I should just use GM.DRV, then?
-
Before you get too frustrated, try setting the tracks in soundbox to use the gm.drv. Now in your game config file set the sound to use the mpumidi.drv. Of course make sure you have the driver in the game folder.
-
That is probably what he did. He probably didn't set the device in Soundbox to AdLib, which is what he needs to do if he wants to use SB.
-
While testing sounds & feeling your way around creating new sounds for the first time, I'd recommend turning *all* the channels on in Soundbox for every sound your are making. That way it's one less variable to troubleshoot when switching between drivers - you won't need to remember which sounds have which channels enabled, and you won't need to pair up your sounds with the correct driver to get output.
When I first started fiddling with sound, no sound output was a very common result for me.
-
I apologize for my website being down. I don't know what happened. I believe I was hacked. I can never get a hold of my website provider, which is a person, not a company, and she's NEVER available. I don't have the money to switch to anyone else right now, though. And I'd need to get all the updated files from my site anyway to transfer it. This has been going on for over a month I believe and I still haven't gotten a response. I'll let you all know what happens.
-
MI, PM me on SHP and perhaps we can arrange something for you.