I'm writing a SIMPLE game

For announcing and discussing games, getting feedback, asking for hints

Moderators: Pertex, Alex, sgreig, Cryophile, jaynabonne

User avatar
paul_one
Posts: 1914
Joined: Sat Jun 28, 2003 6:54 pm
Location: Portsmouth, England
Contact:

Postby paul_one » Wed Jan 10, 2007 9:17 pm

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.

User avatar
Elexxorine
Posts: 1085
Joined: Tue Jun 01, 2004 11:32 pm
Location: uk
Contact:

Postby Elexxorine » Thu Jan 11, 2007 2:29 pm

I'm looking forward to this also, Slayer.

Cryophile
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Thu Jan 18, 2007 8:52 pm

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
Posts: 336
Joined: Mon Feb 06, 2006 2:43 pm
Contact:

Postby Freak » Fri Jan 19, 2007 12:28 am

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

User avatar
Overcat
Posts: 276
Joined: Wed Dec 28, 2005 2:16 am
Location: Ontario, Canada

Postby Overcat » Fri Jan 19, 2007 12:38 am

Why did you make a reverse-compiler?

Cryophile
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Fri Jan 19, 2007 1:12 am

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

Cryophile
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Fri Jan 19, 2007 3:34 am

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
Posts: 1117
Joined: Thu Aug 21, 2003 12:53 pm

Postby davidw » Fri Jan 19, 2007 7:51 am

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
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Fri Jan 19, 2007 8:37 am

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
Posts: 1117
Joined: Thu Aug 21, 2003 12:53 pm

Postby davidw » Fri Jan 19, 2007 9:24 am

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…

User avatar
Alex
Site Admin
Posts: 2127
Joined: Fri Jun 27, 2003 11:06 pm
Location: London, UK
Contact:

Postby Alex » Fri Jan 19, 2007 9:34 am

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
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Fri Jan 19, 2007 11:21 am

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
Posts: 336
Joined: Mon Feb 06, 2006 2:43 pm
Contact:

Postby Freak » Fri Jan 19, 2007 11:48 am

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
Posts: 336
Joined: Mon Feb 06, 2006 2:43 pm
Contact:

Postby Freak » Mon Jan 22, 2007 2:59 pm

Nasty results from decompilers? From "Hungry Goblin":

Code: Select all

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).[/code]

Cryophile
Posts: 542
Joined: Tue Oct 28, 2003 8:19 pm
Location: Canada

Postby Cryophile » Mon Jan 22, 2007 5:47 pm

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.


Return to “Game Announcements and Feedback”

Who is online

Users browsing this forum: No registered users and 0 guests

cron