Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Radiant

#4861
Quote
I now believe you are not looking for the truth, but only for some kind of personal satisfaction.
That is a rather cheap shot. The fact of the matter is that you asked for feedback on your document, in this thread. Several people, myself included, gave feedback. And then you either ignored what we said, or stubbornly claimed we were wrong, without really giving a good reason. That's not a way to improve your document.
You may not have intended it that way, but your document has a rather arrogant ring to it, as if it were the sole truth of the matter. That is a matter of style but you might want to look into that (especially as you have no experience to back you up). If you want to write an authoritative document on any aspect of game design, you will have to look at multiple viewpoints. We have given you alternate viewpoints and you ignore them.
Or, try and write a game yourself, and in doing so, you will find out several fallacies in your document.

And by the way my conscious attention can focus on at least three things simultaneously. Maybe that's just me.

I'm now going to stop this thread before it turns into a flame war. For what it's worth, any document requires proofreading - and if you treat your proofreaders badly, they will leave, and your document will be the worse for it. Caveat emptor.
#4862
Hm... does anyone know if The Professor (i.e. Brian Moriarty) is still around somewhere? He used to be an infocommie. Maybe he has some plot outlines for the planned sequels.
#4863
Quote
Indeed they would, but people don't always understand what's best for them, or why they don't like something. There are unexpected details that impress the subconscious only.
I hope the irony in that passage is not lost on you :)

Quote
Also, the interface I proposed is meant to be used as a last resort, only if you can't afford to renounce to some puzzles. And I stated that clearly. A thing you keep ignoring.
Well, you may not have meant it that way, but your article does imply that your 'type-a-word-once' GUI is the one and only best way to create an adventure game.

Quote
You keep ignoring it, but I clearly states that adding puzzles to a story is an iterative process, not sequential, in which you should start with the story, because stories that are born to justify puzzles rarely make good games.
Neither are puzzles born to justify the story, good puzzles. I would say that puzzles and story are two concurrent processes, rather than one iterative (which in this context is a synonym of sequential, by the way).
Your document has a clear outline of steps, one of which is story design, another of which is puzzles. That part of the document implies that you should do one after the other. If that's not what you meant, you should consider fixing it.

Quote
Untrue. Color animation is the only way to animate lights.
Not true. You can get a better flicker in true animation, because it's more versatile, and you can get better fire effects using particle engines. Try the fire plugin.

Quote
Once again, I am not confusing anything.  :-* I am proposing a very simple thing: since current cards cannot simulate palette animation in hicolor modes,
What you propose is nothing new, but you do have your terms mixed up (I mean, you're talking about multiplying a color) which makes it a bit hard to understand. Anyway, the method you state does work, but you can get better results in different ways (e.g. flickering shadows can be done in true animation, and it looks better that way). The method you're suggesting in fact implements a subset of true animation.

Quote
Blitting has to do with palette cycling.
To blit means to move pixel data from one location in memory to another. To cycle a palette means to send a port-out command to your video card to change color values. Read the VGA docs if you don't believe me. What you suggest isn't even modifying the blit function per se, it is preprocessing the pixel data before you blit it. You could do similar things using an alpha channel, btw.
#4864
Well, I'd hate to be rude, but it seems to me that you ignored most of the feedback given to you by people in this thread. I believe that if you were to make a game as you explain in the text, people would critique on its lack of user-friendliness in the GUI department, on the cliches that you suggest as must-haves for a good story, and the strange gameplay that is created when you first write a story, then add puzzles, then add rooms and then add items, as you suggested.

As a long-time graphics programmer, I feel I must comment on the passage below, quoted from your text, because you really don't know what you're talking about.
Quote
Palette animation is even more important than ordinary animation. Imagine Monkey Island 2 (e.g. the woodsmith's cabin) or Indiana Jones 4, or even Ultima 7, without animated palettes: everything would seem “fake” and still. Palette animation is a must, at least for lights and water. Modern games don't use this technique anymore, because hicolor modes make it difficult for 2d games to dynamically change the color of objects in a non-uniform way; this is, in my humble opinion, a big deficiency that should be solved at any costâ€"even if this requires using the CPU for blitting sprites, instead of the hardware blitting capabilities of graphic cards.
First, 'true' animation (e.g. crashing waves) always looks better than 'palette' animation (i.e. rotating the colors of the sea). Ultima 7 actually does use crashing waves in true animation.
Second, what you say about hicolor modes is bogus, the fact of the matter is that a 16-bit (or more) color game does not have a palette, and therefore by definition can't cycle its palette.
Third, what you say about using the CPU for blitting sprites is more bogus. Blitting is just moving pixels around, and a graphics card can handle that, that's what it's there for. You seem to be confusing blitting with hardware-vs-software rendered polygons.
And finally, blitting has absolutely nothing to do with palette cycling. Palette cycling was used in older games to save on processor cycles, instead of using true animation. With comtemporary high-performance computers, true animation is the way to go, and luminescence could be used as an added bonus. Not the other way around.

#4865
Make a room containing the map, and change the player character view to something very small. Then use the 'when player steps on region' trigger to move him to new rooms.

#4866
Wow, JudgeDeadd wins the quick response award. And I liked the absurdism of blinding someone with light reflected from your shoes. Good job!
(it could be one of those squeeze-light torches that don't even have batteries...)
#4867
General Discussion / Re: D&D on the forums
Thu 18/11/2004 10:42:06
Recommended reading: this overpowered (but funny) story. :)

If you want, you can download rtfs of all third-and-a-halfth-edition rulebooks at the official wizards.com site. It's legal since they've made it open source gaming content.

And screwed? Come on, it's goblins! You can single-handedly outnumber five of them!
#4868
Go to the character panel for EGO, and click 'ignore area scaling'
#4869
Okay. To avoid confusing people, maybe you could add a Property 'Room' as well? Because having everything capitalized is kind of neat.

And am I correct to assume that ANYWHERE and the other stuff are actually #defined to boolean values? Because personally, I prefer using 1 and 0 (or TRUE and FALSE) to lengthy text strings.

This may be radical, but how about EGO->Clickable as a shorthand for character[EGO].Clickable?

The only useful thing I could think of for the Say trilogy is SayEx, which might combine SayAt and SayBackground. Not sure if that's useful though. The alternative is naming SayBackground 'Whisper' and SayAt 'Ventriloquate' :)
#4870
I believe the trick was talking to the door. You can learn the password in the casino.
#4872
Rules: Every couple of weeks, a post will be made with a list of items and a scenario. Using your wit and skill find a way to complete the scenario with the items provided. You can only use a set number of items of your own choice. When I say use your skill, use it. I've tried to take Ashen's suggestions at the last contest, and I've also made the deadline a bit later than usual, to give people the chance to respond. If there are less than three entries by then, I'll probably want to extend it a bit.

Voting: After the deadline, voting shall begin to initiate a starting commencement!

The Grand Prize: The winner shall receive a FREE copy of the latest version of AGS! Oh wait, AGS is already free... so I guess the winner will just have the honor of hosting the next contest.

Scenario: A famous celebrity (you may pick one yourself) is staying in the local hotel for just one night - and, as a small-time reporter and would-be pulitzer winner, this is your only chance for an interview! So get up there and speak to him, or her, or it!

Problems: There are three potential compilcations that I could think of; you must use at least one of these in the puzzle (and you are free to add other compilications). One, something is wrong or missing with your equipment; two, the celebrity is guarded by someone or something (bonus points for something ludicrous as a guardian); and three, the celeb may not want to speak to you in the first place and may require some convincing.

Equipment: Use at least three of the following, and up to three items of your own choice. All of these may be in your inventory at the beginning, or picked up somewhere, or whatever, as you see fit.
camera
notebook and pen
dictaphone
wrist watch
tennis ball
blank recordable CD
miniature eiffel tower
can of shoeshine
pencil eraser
driver's license
comb
broom
chessboard
bug repellent
yo-yo
#4873
Why is it that people have lost interest in puzzle time? Has it jumped the shark or is it just me? I mean, the last three puzzle times had a total of five or six entries combined, and that's just not very interesting for a contest.
Now I'm relatively new to this since I didn't start reading the competitions board until last month, but maybe an oldbie could give some hints for this competition?
#4874
Thanks for the info!

Quote
QuoteAh, but then you could to char[ego].say ("Hello", BLOCKING);
Aye, but then the problem is it would lose its %d/%s support. So the question is, would you rather have a Say command with an optional Blocking parameter, or two different Say and SayBackground commands, but both supporting %d and %s?
Good point. I do suppose the %d/%s support is very useful with Say.
That just leaves a possibility of mering SayAt with SayBG, into one SayWithExtraParameters (note that in the old system, you can't do a SayAtBackground anyway)

Quote
As you can see, I am renaming the MoveCharacter functions to Walk. This is also to make way for a new Character.Move command which will do the same as Walk, but not play the walking animation.
That sounds a bit confusing... Move is kind of a synonym of Walk. Maybe you could name it something like WalkNoAnim or something.

Quote
QuoteBy the way you mentioned #IFDEFs as a feature... are these compile-time or run-time? Specifically, an #IFDEF LINUX would be useful at runtime to filter out some things that aren't possible in Linux, e.g. non-existent plugins.
They are compile-time. It's not really possible to have run-time #ifdef's, because the code has already been compiled and you can't suddenly remove half of it.
True. But I did notice that some errors in a room script don't trigger unless the player character enters said room. Anyway the reason I'm asking, is that I would like to have some way of running a game that has plugins, in Linux where those plugins don't exist. And since you're working on #directives anyway, would something like this be possible? It would already work if it was just restricted to a single function (e.g. SystemCall, that consists of a windows part and a linux part, and only the part appropriate to your machine gets parsed).
#4875
Advanced Technical Forum / Re: AnimateObjectEx
Tue 16/11/2004 22:01:35
Yes, but you're confusing the two.
The top code checks frontdoorright, but sets frontdoorLEFT.
#4876
General Discussion / Re: D&D on the forums
Tue 16/11/2004 20:05:02
You are in a maze of twisty passages, all alike.
:)
#4877
Quote from: Pumaman on Tue 16/11/2004 19:20:28
QuoteI think 'character.skipuntildone' sounds confusing, since this command isn't an action affecting the character, so it shouldn't be a member thereof.
Yeah, I thought the same thing. However, otherwise it becomes the only function that still takes a CHARID as a parameter, which I'm sure would confuse people who would try and use "character[EGO]" as the parameter, and so on.
Good point. But, it would fit in better with StartCutscene etc. At least you should rename the function, as the character itself doesn't skip. Maybe something like WalkAndFastForwardGame.

Quote
I agree -- and in fact, one thing I have added since the beta is support for Properties. These are basically functions disguised as normal variables, which will mean that instead of doing
SetCharacterTransparency(EGO, 10);
you can do:
character[EGO].Transparency = 10;
What about char[ego].transparency ++  ?

Quote
As for the MoveToXXX functions, I'm not sure whether to remove them completely ... all the co-ordinates can be obtained and then used with Walk anyway.
I don't think these really get used -- probably because of the somewhat arbitrary location that the character is moved to relative to the object. But do correct me if they're useful.
I never use MoveToChar, since it causes the two chars to overlap (for conversation, for instance, you'd want the two chars to end up face to face near each other, but not overlapped). I do occasionally use MoveToObject, specifically if the object is an inventory item that can be picked up. I wouldn't really miss it if it were removed though.

Quote
QuoteIs it an idea to use 'default' parameters with functions
That's something I'd like to add, yes. So that Walk, for example, would be non-direct and blocking by default, but you could specify the extra parameters if you wanted to.
Ah, but then you could to char[ego].say ("Hello", BLOCKING);  :)

One more thing, all the functions for characters refer to 'moving', but the variable that can be checked if the character is still moving, is called 'walking'.

By the way you mentioned #IFDEFs as a feature... are these compile-time or run-time? Specifically, an #IFDEF LINUX would be useful at runtime to filter out some things that aren't possible in Linux, e.g. non-existent plugins.

Am I correct to assume that, other than char[].* functions, there will be Object[2].Transparency = 5, and stuff like that?
#4878
This seems like a good effort with a lot of time put into it. Keep up the good work!

Some thoughts...
I'm assuming the statistics screen is a placeholder? You should keep the stats to the left and the skills to the right. You may want to consider adding some new skills (or dropping some old ones). It would also be nice to start with different spells than in the original.
I believe showing Ann Agramma like that is gross and uncalled for.
Story-wise, I would like to point out that if the main character is anything but a fighter, sending him to Uncle Barnard would not be appropriate. Also I do believe Elsa hates her brother's guts, and quite possibly so does the Prince of Shapeir. By the way do you wish to hardcode the assumption that the Prince of Shapeir is indeed a fighter, and that he married Elsa? Because when most people finish QfGV, that is not actually the case. It seems to have no bearing on the story anyway, since he and his wife have just disappeared.
Also story-wise, it seems strange that, given the distance between Spielburg and Silmaria, the hero's son arrives just in time to rescue an infant from the burning house.
I can understand about the turn-based combat as that would allow for some interesting strategies, but why exactly are you using levels in a QfG game?

By the way - you may want to know that Vivendi sent a Cease & Desist order to shut down Quest for Glory 4.5. I am unsure why they have done this since they haven't (to my knowledge) attempted to shut down other fangames, but do be aware of the risk.
#4879
Very interesting changes!

I do have some suggestions on consistency, and clarity to new users...

How about LockView and UnlockView, rather than set and release?
Considering what it does, SetIdleState should be named SetIdleView.
This one is nitpicky, but I would like 'talk' renamed to 'say'.

I think 'character.skipuntildone' sounds confusing, since this command isn't an action affecting the character, so it shouldn't be a member thereof. Come to think of it, it isn't entirely logical that 'char[].ChangeRoom' also changes the visible room if the char specified happens to be the player character, but I can't think of a good workaround.

If you're going consistent in removing 'Ex' and other related functions, then you should consider removing TalkBackground, and instead, making the backgroundness a parameter to Talk. And also maybe to Think and TalkAt.

Shouldn't MoveStraight have direct and blocking parameters?
AddWalkPath might be renamed to AddWayPoint, since that's what it actually does, and it might need a 'direct' parameter.

It doesn't really bother me, but this is inconsistent:
Code: ags

character[EGO].z = 10;
character[EGO].SetTransparency (10);

(e.g. logically, both would be a function or a member var; the advantage of making the latter a member var is that reading it or doing math on it is easier; that's just my preference, I know C canon states that you should use Set and Get functions).
Same thing applies to Add and Loseinv; I tend to use 'char
  • .inv[y] = z' sometimes, so if you're making that read-only I would like to have a SetInv function.

    For consistency, there is a FaceChar and FaceLoc, but no FaceObj. There is a MoveToLoc and MoveToObj, but no MoveToChar.
    By the way, it would be nice to have a 'blocking' parameter to FaceCharacter / FaceLocation, since then you can use it in rep_ex_always to have an NPC keep watching the player character.

    MoveToWalkableArea might be nice with a parameter that states if the character 'teleports' there (as it does now), or simply walks there.

    Is it an idea to use 'default' parameters with functions (e.g. if the user doesn't specify a function's last parameter, a default value is used, like in C++)? Or would that be too confusing, or too annoying to code?

    The three basic behaviors in AGI games (other than standing still) are chase, wander and avoid. Chase is obviously implemented, and I believe that Avoid isn't actually used in any AGI game anyway. However, it may be nice to add a function 'character[].Wander (int walkable_area_number, or maybe region_number instead)' that makes the character wander around randomly. Of course it's easy to put this in a script instead, but newbies might appreciate it.

    Would it be possible to have SetCharView an option to also lock into a certain loop? So that it won't get changed to a direction loop if you move the character.

    Unrelated to this, I believe GetTextWidth() should have a maximum width parameter. Why? Suppose I have a string that has no line breaks. If its GTW is larger than the screen's width, or it's put on a GUI label or something, it will get wrapped. But you can't tell in advance where exactly it will be wrapped.
#4880
Have you seen the VGA version of Loom? LucasArts did upgrade most of their old games (MM & Zak to hi-res, Indy3, Loom and MI to VGA)
I believe you should not do a sequel unless you can rival Brian Moriarty's storytelling skills, which is not exactly easy. If you're doing the original story with added sidequests, that would actually be a remake (like KQ2+).
There was another Loom remake in the works, from a forum thread about three months ago. Anyone know what became of that one? It had a couple of SVGA screenshots and was supposed to be a sequel in which Bobbin revisits the five Guilds to rebuild the Loom.
SMF spam blocked by CleanTalk