I'm writing a SIMPLE game

Cryophile
I plan on writing a simple classic IF game soon. It should take an hour or two to complete due to puzzles and such. It should be done in about a week or so.

davidw
If it's only takes an hour or two to complete, why is it going to take you a week to get it done?

paul_one
Because he's doing it properly...

No point in doing something unless it's done proper!

Cryophile
Yes, I plan on doing it properly. But I have a life and a gf too. It may take more than a week (2-4 hours a night)
I'll need a beta-tester too since Quest doesn't work with linux.

Perhaps a partnership would work. I would write the complete game and send it to a partner who could work out any bugs it may have.

The actual game takes place in a temple. There are three floors in the temple. The majority of the puzzles take place on the first floor, but the basement/sub level has a difficult puzzle as well. The game will feature a scoring system and I'll add a hint system as well that will probably suck up 5 points for each hint.

steve the gaming guy
I wouldn't mind beta-testing it. I don't know if 'sucking up points' for hints will be a popular idea though. That's just my opinion.

steve the gaming guy 8)

Cryophile
Some of the puzzles will be difficult. On the first floor you must gather four seemingly impossible items to open the 2nd floor. There is a scale and furnace used to melt down, seal, and weigh materials. If you can make it through without hints your score is better. If you're lazy or desperate your score will be lower.

paul_one
Yeah - sucking up points at first I thought "yoooouuuuu BASTARD!" in a fairly comical way :D...
But no, I think that it's a fair idea.

I would offer bug-busting help, but I don't know about my job until tomorrow.

steve the gaming guy
Ok, I gotcha!

steve the gaming guy 8) :shock:

Cryophile
The 2nd floor is really simple. You need to catch someone (I don't want to give away anything)
The sub level is fairly difficult. There's an imp running around through about 30 rooms - four exits per room. A lock is on each door but can only be locked from one side. You have to trap the imp in a room. Unfortunately he's faster than you and can unlock doors (from the locked side still)

paul_one
Eh - you just use hints the first time through - then rush through just typing in the commands from last time :P

.... Although right now he's going to add a random puzzle thing to the game somewhere ;) .

Cryophile
The first floor is harder and I haven't said anything about it. I told you what had to be done for the sub level but as you can tell from what I said that's no easy feat since it's different every time. The sub level's imp runs randomly and twice as fast as you.

007bond
Well, good luck Slayer, seeing as Quest doesn't work on Linux, there'd be no way to find out if you had done something wrong until you got the file to the tester.

With this imp: That would take a long time to program, seeing as his path would be random, there are roughly 30 rooms, and there are lockable doors.

I'd be happy to help test it for you, if I can find the time of course. :D

paul_one
007 - It's easy... I can't wait till Alex puts in an easy way to get a list of the exits from a room without moving the player to that room first (I'm not sure if he has or not yet).

The difficult bit is - how can he be locked in a room if he can unlock the doors? it's not possible!

I think Im Dead
#quest.doorways# & #quest.doorways.out# or just test if they have n,s,e,w tags?

paul_one
Yes - but again, you need to move the player into that room...

Say I want to have a skill of seeing a certain area around the player in a 'map' - so this object goes through to get the list of exits "around" you (to a certain amount) and lists the exits... That would be so much easier than turning off the output and moving the player around alot of rooms.

Or if an NPC is in a room, and you can telecommunicate with him... You want to know the room's exits etc...

Now, you can get the description (getting the location of the object, then the "description" property of the room)... What about the exits?

Anonymous
set string <temp.room; $locationof(#quest.thing#)$>

if property <#temp.room#; east> then msg <#temp.room# has an east exit|n>

007bond
1. Who posted that last post
2. I see what you are getting at CW. That's why I said in another thread: ASL really needs an upgrade.

Cryophile
Ummm... CW... I said the doors locked from one side only. Picture a real door with two separate deadbolts on each side with no keyholes. That's basically how this functions. You can lock it from either side but it can only be unlocked from the same side. You'll need a little strategy to do that floor of the temple :)

Anyway I'm starting it today.

Cryophile
Let me clarify that. There are 4 doors in each room in the four cardinal directions. Each door has a lock on each side. One or both locks can be engaged but you must be on the proper side to lock/unlock it.

This is a relatively plotless game. The whole point is to complete the puzzles, gather a few items, and find an exit.

paul_one
No - I got what you meant about the doors/locks - you just said that the imp could unlock the door no matter what side it's on... So how can you trap him if that's true?

And I may give that room property a go - that would be ideal... Is there also an "exits" property just like if the player's in the room?

And 007 - ASL only needs a couple of things - not too many... Quest needs a little update of "do events" or whatever in the start-up procedure... It freezes up if you have alot of variables in an array initiated in the startscript (I had 100-ish... maybe 1000) and it froze up for a good 10 seconds...

Cryophile
Yes, the imp could. But what if you run him into a room with 3 exits locked from the outside? If he tries to escape you'll be there. Also he may have to backtrack several rooms to open a door from the right side.

007bond
sounds interesting, but it's to confusing for me

Cryophile
I'm working at this slower than I thought. I've been really busy lately, but it's coming along very slowly. It will be finished, but not in the week or two I said.

Cryophile
Well obviously there were a few problems. Let me explain. I happened to be kicked out of my house, during which my parents trashed my computer, cancelled my cable and internet connection, and basically screwed me over in every way they could. This game will most likely never be finished.

Anonymous
...which leaves us broken hearted

I think Im Dead
You should hook up with pizzaface ste.

007bond
wow. that's not good. :shock:

Cryophile
I know this is a very old topic, but I don't feel the urge to start another on the same game. I recently got my computer fixed up and working (no internet connection still - I'm on a school computer).
I'll be working on this game for the next few weeks. The hard part will be finding a way to upload it. I'll find a way. Worst case would be that I copy the file to a disk, bring it to school, email it to a dummy email for this purpose, and give the password to any of you that want to play it. Maybe someone can upload it from there

paul_one
You can email it to me and I'll put it up.

Cryophile
Okay, this game was begun again and is coming along nicely. It's a three floor temple with nearly a dozen puzzles, most of which are completed. I added an interesting twist to make the already difficult puzzles harder. All objects remain invisible until examined. They will be mentioned in room descriptions so attention to detail is a must. Updates will be posted here, and I'll make a notification when I upload the .CAS.

paul_one
As I've said - I can both host it on my servers, and I can also test.. I'm quite looking foreward to playing some good IF.

Elexxorine
I'm looking forward to this also, Slayer.

Cryophile
Okay, as it stands the first level is complete, although I will be making a few additions and touch-ups after the sub-level is completed. Nearly all the puzzles have been completed. Now, the game was developed with Quest 3.53 and will not be ported to 4.0. Also, it will be compiled into a .CAS so you'll have to figure out the puzzles yourself. I've also removed the hint system I previously implemented. I don't have an approximate release date for this yet since I have been very busy recently.

Freak
CAS is nearly useless for concealing the source to your game; I released a reverse-compiler months ago.

Overcat
Why did you make a reverse-compiler?

Cryophile
If that is the case I don't believe I will be releasing this game. Thanks, Freak.

Cryophile
After some consideration I've decided that if there is indeed a reverse compiler I will not be releasing this game, and I will not be purchasing an upgrade to Quest 4.0. As of now I am placing this project on hold. If there is such an application developed I probably will not be releasing any games with Quest and this game will be completely scrapped. Before anyone asks, YES, it IS that significant to me.

davidw
Did you think that, even if a reverse compiler didn't exist, a reasonably skilled programmer couldn't hack into your game and see the source code if he really wanted?

Cryophile
Yeah, but I had hoped the option would not be available to anyone. Regardless, this has irritated me beyond belief and discouraged me from any further development (at least for the moment).

davidw
I'm not sure why you see it as such a big deal. Quite a few IF authors make the source code to their games readily available and I haven't password protected a number of my own games. The ones I have included passwords for I've given out to people if they ask. That people can see the source code to your game if they want (and we're not talking about a huge amount of people here in any event) is largely irrelevant. It might even act to your advantage. If people get stuck on a puzzle in a game in which you haven't included hints, they'd most likely quit. However, if the option is there to sneak a peek at the source code and see what they need to do…

Alex
I may be wrong but I would doubt that 99% of the people who play your game would know that a decompiler exists.

In any case, the output of the decompiler won't exactly resemble your source code. All the nested blocks would be broken up, making it very hard to follow what was going on. So I don't think it's something you need to worry about too much.

Cryophile
Yes, I realize now that most will not know the decompiler exists, and I have seen the nasty results they generally produce (with C, however). I will finish this and decide whether to release the CAS after. The issue was that I had never intended to release the source for this game, although I could care less about most others.

Freak
Actually, uncas.pl will restore nested braces. (It doesn't put the comparisons back parenthesis form, but I could do that easily and don't think it's that important anyway.)

And I had to write a decompiler to create Geas. (Even if I hadn't, it took me about 6 hours to work out the bulk of the format, working entirely from precompiled files, and that was done away from my usual development environment. If CAS has stood this long, it's because nobody's made much of an effort to analyze it.)

Freak
Nasty results from decompilers? From "Hungry Goblin":


define game <Hungry Goblin>
asl-version <350>
gametype singleplayer
start <den>
game author <Boze>
game version <1>
game copyright <� Dave Aldridge 2006>
game info <Created with QDK 3.53>
default fontname <Papyrus>
default fontsize <24>
background <black>
foreground <green>
startscript set numeric <trolltimer; 10>
afterturn {
if flag <trollhere> then {
give <troll>
lose <troll>
}
if is <%trolltimer%;lt=;0> then {
msg <You didn't get away from the big troll. He bashes you on the head and wanders off. Ouch! >
inc <tummy; 10>
flag off <trollhere>
move <troll; swamp 2>
set numeric <trolltimer; 10>
}
if here <troll> then {
dec <trolltimer>
msg <You really must get away from that big ugly troll or he is liable to gobble you. Hurry little goblin, run!>
flag on <trollhere>
}
inc <tummy; 1>
if is <%tummy%;gt=;100> then playerlose
if is <%tummy%;lt=;0> then playerwin
}
command <eat #@food#> if got <#@food#> and action <#@food#; eat> then doaction <#@food#; eat> else msg <You are holding nothing edible.>
command <eat> msg <What would you like to eat?>
command <hide in #@hidingplace#> if here <#@hidingplace#> and action <#@hidingplace#; hides> then doaction <#@hidingplace#; hides> else msg <You need to find a better hiding place.>
command <hide> msg <You need to find a better hiding place.>
command <wear #@clothing#> if got <#@clothing#> and action <#@clothing#; wear> then doaction <#@clothing#; wear> else msg <You don't have a thing to wear.>
command <wear> msg <What do you want to wear, little goblin?>
error <badcommand; Please use commands a little goblin can understand. Type HELP for a list.>
error <badthing; You can't see that here.>
error <noitem; Silly Goblin. You don't have that.>
error <badgo; I don't understand your use of 'GO' - you must either GO in some direction, or GO TO a place.>
error <baditem; You can't see that anywhere.>
error <defaultexamine; Can you eat it? That's all that matters.>
error <defaultlook; Can you eat it? That's all that matters.>
...


Qcompile doesn't do that much; roughly:
1) Remove comments (irreversible)
2) Remove parened comparisons: convert "( %a% < 100 )" to "is <%a%; lt; 100>" (not reversed, but I could easily do so).
3) Deinline braces: convert "if A then { // X // Y // }" to "if A then do <!intproc1> ... define procedure <!intproc1> // X // Y // end define" (reversed by uncas)
4) Obfuscate the final result. (reversed).

Cryophile
Well, I guess it would be a bit different with a C/C++ decompiler, as it's C->ASM->Binary as opposed to just ASL->CAS, which isn't really any different. That tends to garble the code a lot, as Assembly can't really be properly transferred back to a higher level language.

Cryophile
This game is being continued again. Not sure if I'll have the time to fully complete it soon. The sublevel with the imp has been removed from this incarnation of the game, and there may be a noticeable difference in writing style in some portions, as well as some more darker, macabre descriptions in some locations. All in all, it's still a family game and nothing questionable is presented.
The best part is now that I've spent time away from it, I now have more ideas and innovations to add. Also, I can't remember half the commands so I get to beta test my own game!

Elexxorine
WOOT!

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums