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

#5101
135/500. Rather funny game, I wish it were longer though.
I thought the getting-gold-from-Jhonka puzzle was best.
#5102
Advanced Technical Forum / Re: Character skips
Wed 04/08/2004 16:14:00
Hm, I'm running on 350 MHz here and that might just qualify as slow, but 2.6 GHz certainly doesn't.
Okay, anyone else got an idea? I've posted the same thing as a bug report once, with objects snapping to their destination in the last 25% of their movement traject, but nobody else seems to have that problem. I can't even blame it on windows since jrl2222 is running a different win version...
#5103
FaceLocation (EGO, mouse.x, mouse.y) usually works.
And there's WalkToHotspot() which moves to a hotspot's location.
For objects, there's WalkToObject(), which unfortunately moves to an object's lower left corner.
#5104
Advanced Technical Forum / Re: Character skips
Wed 04/08/2004 11:54:47
Actually that happens with me as well, partticularly with objects. My guess is that it is a frameskip that occurs because your computer is relatively slow. What CPU speed do you have?
#5105
You are aware that you must import sprites separately, and not as a whole sheet, right?
When importing sprites, select 'upper left pixel = transparent'.
#5106
Dreammaster -> no, you shouldn't start with a cinnastix, and Manannan should indeed disappear again. The cat appearing you mention is actually a bug.
Repetitive scrolling on the up/down buttons is, I believe, not actually possible in AGS, but I'll look into it.

Fluxmaster -> Hm, maybe I should remove the teleport cheat :) DM is correct, you can't actually give him the fish oil.
The firewood puzzle isn't solvable at this point, period. That's plot point fourteen. (well, technically you can find wood somewhere)

Messages '*error seeking entry' have nothing to do with what you did earlier or what you're carrying, the only relevant information to those errors is where exactly you came from and where you were going.
Messages '* no message for <touch/look> <thing>' - for inventory items, I am aware of these because I have a neat list in the source code. If, however, they occur when clicking on a hotspot (e.g. the windows at night, in earlier betas) I would appreciate hearing from them.

Regarding linearity. That's a very good point. Up to now most of your comments have been technical, which is highly useful since there are plenty of bugs at this point. However I would also appreciate story-based comments from anybody who has an opinion. It's difficult to make things non-linear. For instance, I wanted the thieves to steal your inventory at some point, so that the player is forced to get them back. That's linear. Also the player must be guaranteed to carry something important at that time, or he could just ignore the puzzle.
Note that KQ3 original is actually very linear as well, only this is disguised by the fact that there really aren't that many puzzles in the game. In Llewdor, all you can do is 1) find the lab, 2) get ingredients, 3) defeat medusa, 4) defeat spider, 5) get your stuff back from robbers, 6) make spells, 7) defeat wizard and 8) join the ship. 3, 4 and 5 are optional. 1 and 2 are interchangeable. Other than that, the order is {1, 2} -> 6 -> 7 -> 8. After that, the game gets strictly linear as you travel.
That said, I would like some branches in KQ3+. I have several thoughts about optional puzzles, and note that you can do certain things at any time, e.g. dealing with the fisherman (okay, that isn't much of a puzzle, I agree). Dealing with the bears would also be nice as a do-when-you-want-it puzzle. What do I mean by that? Oh, I just thought the bears wouldn't leave their cottage open and unlocked when there's robbers afoot :)

#5107
(legalese)

The term 'abandonware' has no meaning at all, legally speaking. This means that anything classified as 'abandonware' is technically illegal. On the 'net, the term usually refers to software that hasn't been available for sale for five or more years, thus by 'net logic nobody is making a profit of it any more and it could thus be freely spread to all who want it. Indeed most companies don't seem to mind (with a couple of notable exceptions, and note that for instance Sierra and Apogee still sell their old games).

If a company has willingly allowed their software to be freely spread and no longer wants money for it, it is technically 'freeware'. Note that freeware is still copyrighted (as an example, Dink Smallwood, and several games on HOTU).

Finally there's 'public domain' which means that the authors willingly forego any and all rights they have to their software, which literally means that anybody can do anything with it, up to and including modifying the credits and claiming they wrote it. Needless to say very few software is actually in the public domain, but any copyrighted piece of work automatically becomes public domain 75 years after the death of the copyright holder (e.g. most classical pieces of music are PD, meaning that nobody can claim copyright to them any more, and use them for remixes freely, etc)

(/legalese)

#5108
I would like to see it indexed in some categories (i.e. person, game, editor-related, netspeak, etc). That way one could for instance quickly look up all games that made it into the dictionary.
#5109
-- noted --
I'll be back soon.
#5110
Quote from: Pumaman on Mon 02/08/2004 20:52:15
Quote
This is a weird one... SetStrCharAt() apparently checks if its 'pos' parameter is >= 200, in addition to checking if it's >= StrLen(). So if you have a string with length >= 200 (which is possible if you do something like MyFunc("This is a very long string") ), you can't change all of it.
Yes, this is to stop people corrupting memory by writing to somewhere past the end of the buffer size for normal strings. I see how it's a problem in your situation, but I'm not sure of the best solution.
Would it be a lot of work for you to also have the strings in scripts encrypted?

Quote
QuoteIs it the case that PlayMusic checks if newmusic == currentmusic, and if so it does nothing? Because you could set it that if newmusic == currentmusic, to set currentrepeat = newrepeat.
If does indeed, at current. Are you saying that you wouldn't mind if PlayMusic restarted the music, with the repeat flag off, or wouldn't that break the smooth end you're looking for.
I've made a workaround using rep_ex_al (love that function!)
My suggestion was that PlayMusic wouldn't restart the music if newmusic == currentmusic, but simply sets the repeat flag again if you do PlayMusic again. It seems to me that would be what people expect. But it's no big problem.

Quote
c:\prog\kq III+\compiled\kq III+.exe
Hmm, that worked fine for me. Very odd - what version of Windows are you using?
ME.
Again, no big issue. I did notice by the way that if I manually rename the executable, saved games stop working :)

Small feature request: ResetMusicVolumeToTheValueInitiallySpecifiedInTheEditor().

I would appreciate it if, after RestartGame(), the keyboard buffers are automatically cleared. It is possible if the RestartPoint() is at some menu, that a key that was apparently pressed earlier immediately removes the menu when yuo Restart.
#5111
Hi there,

thanks for the bug reports! I must say you're very thorough. That's good!
Now uploaded is beta-3. This fixes all bugs I've seen since I've last read this message board, which is indicated by my last post above and the two posts directly underneath.

The flask in the top of the tree is, indeed, a puzzle. So is the cat. Both are solvable as of beta-3.
Spoiler

The cat doesn't like water. Is there water somewhere in the lab?
[close]

By the way the game is not supposed to have dead ends. It is of course possible that there are some but in that case they are bugs. I'm trying to avoid situations like in the original where you couldn't defeat the dragon if you had wasted the storm potion somewhere earlier, or left it under your bed, or didn't make it in the first place.

Due to the way AGS handles saved games (e.g. a direct memory dump), they are almost never compatible across versions. This is also why sending me saved games to demonstrate errors is not particularly useful. You can use the teleport cheat to help yourself. If people want more cheats I'll consider them. But one of the main points of beta-testing is restarting a lot and seeing what happens.

I've been unable to reproduce the errors when you
- click the fish on the dog (or on Gwydion)
- click hand on empty bottle
- look at the bears' drawers
- look at the empty bottle
In spite of the message you got, the problem is probably in my scripting. It seems that I had already fixed them before I got your message, could you please check if they still occur on your system?

mousewheel support is on my to-do list.

Lightman -> somewhat, yes :) he does order you around a lot more, in the original it was rather easy to defeat him after doing one chore, since he leaves on a journey for the next half-hour of game time or so, and like KQ2 the game can be solved within that time.

Dreammaster -> ah, more bugs, thanks. The spellbook isn't functional yet, I'll let you know when it is. Funny that you should mention the herring quote, because I think it's already there :)

Fluxmaster -> As Dreammaster states, you don't have to pay in the store. I'll make that more clear in the future. Also there's not supposed to be any waiting in the game,  the plot advancements simply depend on your actions. Okay, there are a few spots where you have to wait until the wizard shows up to tell you what to do next, but 1) this should only take 20 seconds or so, and 2) you can always go and find him, his location is not random.
If at any point it isn't clear what you're supposed to do to advance the plot, let me know.
Oh, the exception is that when the plot point is doing a chore, if you don't do the chore within four minutes or so, Manannan will show up and punish you and advance the plot anyway.

In general, the game needs a LOT more use-object-on-hotspot responses. If you think a particular combination makes sense, or gives room for a cool quote, let me know please.

Thanks *masters!
#5112
Create a view that has all the sprites for the door opening, in correct order.
Make an object 0 that corresponds to the door.

In enter_room,
SetObjectView (0, DOORVIEW);

if player clicks hand on door,
Code: ags

if (door_is_open == 0) AnimateObjectEx (0, 0, 5, 0, 0, 1);
else AnimateObjectEx (0, 0, 5, 0, 1, 1);
door_is_open = 1 - door_is_open


Tadah!
#5113
How are you displaying it, using Display() ?
On the first page of the editor, there's a bunch of options and one of them indicates how fast text disappears from screen. I'd recommend setting it to 'clickable'.
#5114
One small feature request... an option to 'treat warnings as errors'. Some of the warnings AGS gives after the game closes down are kind of hard to track down (also because not all of them provide line numbers) so if the game were to abort on any warning, it would make fixing them easier.

This is a weird one... SetStrCharAt() apparently checks if its 'pos' parameter is >= 200, in addition to checking if it's >= StrLen(). So if you have a string with length >= 200 (which is possible if you do something like MyFunc("This is a very long string") ), you can't change all of it.
Why am I using this? Well, since currently AGS doesn't encrypt strings that are part of a global or room script, I figured I'd write my own encryption module. I've got this program that reads an AGS adventure executable and changes all the strings, and then I have to change them back in AGS. It mostly works, too, but crashes infrequently :/

Quote from: Pumaman on Sun 01/08/2004 05:18:21
You'd have to use StopMusic first, before your SetMusicRepeat call will take effect. Basically, the issue is that AGS's sound system doesn't currently allow changing the Repeat flag while a sound is playing.
Is it the case that PlayMusic checks if newmusic == currentmusic, and if so it does nothing? Because you could set it that if newmusic == currentmusic, to set currentrepeat = newrepeat.

Quote
If I create a game with a '+' in its name (i.e. the name of the directory the game is stored in; this name is actually legal in windows), the game crashes at startup with a fatal exception in strcopy/strcat
I just tried this but it worked fine. What was the full path name you used?
c:\prog\kq III+\compiled\kq III+.exe

Quote
Therefore, IsMusicPlaying always returns 0 if a cutscene is being skipped.
How about it instead stopping the music? No wait, that would only work with an IfMusicPlaying/Wait(1) combo. Hm. Okay I get your point, never mind.
#5115
Flux -> logfile should work in the second beta (see link above). I understand your bug, but if you don't tell me where it happens I can't fix it.
The game is not supposed to have dead ends at all. However you can't currently play past plot point fourteen, which is the time you get sent to the countryside to get wood. That's because it's not finished yet. But yes, you can get past the red potion.

Ironman -> thanks!

Random -> no, I don't have a website (yet?) because there's nothign to put up there.
#5116
Hints & Tips / Re: Enclosure
Fri 30/07/2004 16:59:07
Spoiler

1.go outside and catch a fish (with the fishing pole)
2.go to the room with the cat, give fish
3.take mouse
4.find the robot, use mouse
[close]
5.BOOM!
#5117
Okay, beta-2 is now online:
http://www.liacs.nl/~psimoons/kq3b2.zip

Just about all bugs fixed that were mentioned so far, except for those in the post by dreammaster above since I'm just reading that now :)
In particular, the title screen crash is fixed. Or it should be.
#5118
SetRestartPoint() doesn't do what one expects - if I put one on the introduction animation, it is actually set in the first room after that, e.g. either it only registers once control is returned to the player, or it allows for keypresses to 'fall through' causing the animation to be aborted immediately.

the ^D debug info - if there's more than six or so objects, the text window won't fit on the screen.

I have this setup in a game:
StartCutscene(1)
Disclaimer
EndCutscene()
NewRoom (1) // Title screen appears
SetRestartPoint ()
StartCutscene (1)
// Demo animation and stuff
EndCutscene ()
Display ("some text");
It is possible for a single press of the ESCAPE key, to end the two consecutive cut scenes AND remove the text box that appears after that. Also, this key state is saved by SetRestartPoint(), so it is ppossible that the player has to quit rather than restart, to actually see the demo.

StrSetCharAt() tests whether its position parameter is >= 200, as well as whether it's >= StrLen(); in either case, it crashes the game with an error message. However, supposing the string IS larger than 200 chars (possible if you use "literal" strings and pointers thereto) and I want to write past char 200, this isn't possible.

If you restore the game, music continues playing from where it left off. However it does not take into account the 'music volume adjustment' for the room you are in after restoring

If you rename the executable, saved games no longer work

Why does AGS occasionally delete the executable? It's kind of annoying if you're testing a version and keep saving, quitting, making a change and reloading the game. Because if the change is too unsubtle, the savegame no longer works.

Small feature request: GetMusicVolume to complement SetMusicVol (so I can do GetMV, Play a tune at maximum vol, then restore the previous MV)
#5119
Hi there!

Thanks for the bug reports. I also noted that the autologger isn't working. I'll get on it.

Quote
I wouldn't call this game enhanced due to the MANY modifications.
This is just YOUR interpretation of the story. You haven't add things but CHANGED things.
This is more of an alternative version of KQ3.
That's true. I'll think of another name.
By the way I would like to know what people think of the plot so far with wizard, oracle, bandits and all.

Quote
What am I supposed to do with the orb from the mirror?
Nothing yet. You'll see in a later version that lets you play beyond plot point #14.

Quote
EDIT: Another ALREADY! The game hung when I pressed esc to try and skip the opening. Maybe an infinite loop or something similar?
EDIT: How odd, third time run and now the game just gets stuck on the title. The III doesn't appear and it just sparkles.
Yes, this is probably what went wrong with Blackbird as well.
I'm not actually sure what's causing this, but it seems that if you have multple cutscenes in sequence, an ESC can skip through any or all of them. What may be happening is that the game is playing through the intro and it hangs there, or something. I'll see what I can do.

Quote
When Gwydion fell off the cliff, he fell through the pathway where you enter the room. And there was no message for how and why you died.
Which cliff, exactly? You can press ^C to pop up gwydio'n's coordinates, that would help.

Quote
When I fed the chickens, they gave no reaction. Don't they like the chicken feed?
I don't think they did in the original, either. But it's a good idea.

Quote
An enhancement to suggest, make the house appear bigger on the outside. Its tiny!
Also a good idea, but my drawing skills aren't up to the task.

Quote
The note I took from manananns trashcan didn't have a description when I looked at it so I can't read it.
That's a bug. But try clicking it on gwydion to read it, for now.

Quote
I couldn't work my way down the mountain, he kept falling even though I stayed on the path.
Hate that path scene :)  you can ^T teleport to room 45 for now (that's bottom of path)

Quote
* The mouse disappears when you get the ending after drinking the potion of contentedness. This means you can't click on any of the buttons, so the game is effectively hung
Not really, you can use F7/F9 or L,R,Q keys.  But it's a bug of course.

Quote
* In the entrance room of the house, the pathfinding doesn't work between the top of the stairs and the bottom. ie. I need to click on the landing and then click on the top of the stairs
Correct. This room is a bit tricky because it's one of the few true 3-d rooms in adventure gaming. E.g. it is possible for one X,Y position of Gwydion, to mean two different locations on the stairs. What it does now is toggling walkables on/off when you step on the left hand part, thus you require two clicks. I'm open to bettter suggestions.

Quote
* When you perform sweeping the kitchen as a task, it says "you're too busy sweeping"? Maybe a betterÃ,  Ã, message would be "You busily sweep the kitchen"
Yes :) I used the msg from the original but it's less fitting in this way.

Quote
* On the mountainside clipping errors occur around EGO positions 96,84 and 167,92
Okay, thanks.

Quote
* The toadstool looks awfully white after picking it - ideally it should remain the same red and grey as it is when it's on the ground
<grin> correct. Both images are actually the mushroom from KQ1, as an inside joke.

Quote
* As a matter of personal preference, would it be possible to have the game controls at the top of the screen rather than the bottom? It's just that it breaks the convention of all previous games I've played - I keep moving the pointer to the top of the screen without thinking about it, then have to move to the bottom
At this point, I'm afraid not. It would mean moving the room graphics (and assorted walkable/behinds/etc) down thirty pixels, manually, in every room.

Quote
* Speaking of the game controls, would it be possible to program in middle button/mouse wheel controls? Ie. the middle/mousewheel button toggling between walk and the last previously selected action, and the mouse wheel movements letting you cycle through the actions
Sure. Good idea.

#5120
Quote from: Gilbot V7000a on Thu 29/07/2004 02:58:20
For simplicity's sake, I think ALL functions return int values (so there're no such useless evil things as void functions and you can't return other things), if a function was not supposed to return a value, the returned value can be just something meaningless, just ignore it.
Well, yes. But this may cause unseen errors in scripting; for instance if you use 'if (ObjectOn(3))' rather than 'if (IsObjectOn(3))', your code won't work, but there never appears to be an error.
The point is it should be documented at some place what exactly these functions return, even if it's always zero.

Quote
the operators |=, &= etc don't work
I think they're never supposed to, are they really that useful?
Yes, I use them all the time in C++

Quote
Quote
If I select 'dont use inventory gfx as mouse cursors', instead the mouse cursor becomes the Blue Cup (tm) - even if none of my mouse cursors in the cursor menu have that graphic
Did cursor #4 (Use inv) exist in the list?
Yes, it did.

Quote
It seems to me that if you use a sequence like this:
Ã,  while (a < b) {
Ã,  Ã,  SetObjectPosition (2, 100, a);
Ã,  Ã,  Wait (2);
Ã,  Ã,  a++
Ã,  }
then the object will move halfway of what I specify, and then snap to its destination at once. Why?
Actually the same happens with moveobject().
Yes, the ; was a typo. I'm thinking it may have something to do with my computer being only 350 MHz. I'll make a small demo to demonstrate the point, it looks kind of weird here.

Quote
When you skip a cutscene, actually the engine runs it as fast as possible (and making any Wait() functions to "wait" at no time), that makes the while loop looped MANY times and yet the music wasn't stopped yet (sorta equivalent to while(IsMusicPlaying()){}), which is like an infinite loop, to avoid this (hung up and more possibly overflows) the engine will stop a while loop automatically if it's looped for some LARGE number of times (how large I had forgotten), but of course when the loop was broken out the music was not ended yet, so the result. As a workaround you may add a StopMusic(); before the EndCutscene(); . (Though it's not a really good fix though, as it's dirty to let that break out from while loop happens, I think it'll even generate a warning in the log file).
To my knowledge, any while loop that runs more than 150000 iterations, causes AGS to abort with an error message. I believe this isn't the case here, it seems, rather, that Wait() and IfMusicPlaying() and stuff are ignored while fast-forwarding. Anyway the point is, that after a cutscene skip, the game state may actually be different than if you actually watched the cutscene, which sounds like a bug to me. If what you state is true, then any number of things that depend on timing may actually turn out different after a cutscene skip.

Quote
This code gives an error message (incorrectly terminated char const?)
Ã,  int i, try;
Ã,  try = 'X';
Hehe, I figured this one out (and I still believe it's a bug). The point is that X was the name of a view I had recently deleted all sprites from. So the parser interprets it differently.
SMF spam blocked by CleanTalk