I'm writing a SIMPLE game

Cryophile
08 Oct 2004, 15:28
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
08 Oct 2004, 17:28
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
08 Oct 2004, 18:58
Because he's doing it properly...

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

Cryophile
08 Oct 2004, 19:09
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
08 Oct 2004, 19:28
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
08 Oct 2004, 19:30
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
08 Oct 2004, 19:33
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
08 Oct 2004, 19:33
Ok, I gotcha!

steve the gaming guy 8) :shock:

Cryophile
08 Oct 2004, 19:39
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
08 Oct 2004, 19:41
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
08 Oct 2004, 19:42
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
08 Oct 2004, 22:55
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
09 Oct 2004, 21:32
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
09 Oct 2004, 22:04
#quest.doorways# & #quest.doorways.out# or just test if they have n,s,e,w tags?

paul_one
09 Oct 2004, 22:19
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
09 Oct 2004, 23:45
set string <temp.room; $locationof(#quest.thing#)$>

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

007bond
10 Oct 2004, 09:38
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
11 Oct 2004, 20:32
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
12 Oct 2004, 19:05
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
15 Oct 2004, 22:04
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
18 Oct 2004, 17:12
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
19 Oct 2004, 07:35
sounds interesting, but it's to confusing for me

Cryophile
20 Oct 2004, 17:00
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
03 Dec 2004, 17:33
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
03 Dec 2004, 18:19
...which leaves us broken hearted

I think Im Dead
03 Dec 2004, 18:22
You should hook up with pizzaface ste.

007bond
03 Dec 2004, 22:32
wow. that's not good. :shock:

Cryophile
24 Feb 2005, 20:30
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
24 Feb 2005, 22:01
You can email it to me and I'll put it up.

Cryophile
10 Jan 2007, 20:52
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
10 Jan 2007, 21:17
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
11 Jan 2007, 14:29
I'm looking forward to this also, Slayer.

Cryophile
18 Jan 2007, 20:52
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
19 Jan 2007, 00:28
CAS is nearly useless for concealing the source to your game; I released a reverse-compiler months ago.

Overcat
19 Jan 2007, 00:38
Why did you make a reverse-compiler?

Cryophile
19 Jan 2007, 01:12
If that is the case I don't believe I will be releasing this game. Thanks, Freak.

Cryophile
19 Jan 2007, 03:34
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
19 Jan 2007, 07:51
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
19 Jan 2007, 08:37
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
19 Jan 2007, 09:24
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
19 Jan 2007, 09:34
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
19 Jan 2007, 11:21
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
19 Jan 2007, 11:48
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
22 Jan 2007, 14:59
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
22 Jan 2007, 17:47
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
08 Aug 2007, 19:20
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
13 Aug 2007, 19:57
WOOT!