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 - GarageGothic

#2081
Looping through an array of 50 GUIs shouldn't be very heavy on the CPU, unless you check/change A LOT of different variables for every entry. The secrecy about the actual intent of the function doesn't make it easier to come with suggestions.

Is it really necessary to run through every single GUI every frame? Wouldn't it be enough to check the ones visible, or ones marked as "dirty" by any function changing the properties?
#2082
A launcher program coded in Visual Basic or similar could just open the standard webbrowser and direct it to the right web address. It doesn't have to be a stand-alone download manager, but of course then you would need to tell the user where to save the file to. For the casual games market that may be a bit too demanding.

Edit: You could even customize the launcher for each distributor with their logo (change a resource file and recompile, takes 2 seconds in VB), I'm sure they'd love that.
#2083
It might be possible using a plugin, but wouldn't it be far easier to create a launcher program where this is an option? The game won't recognize the addition of a voicepack anyway without restarting.
#2085
The code is very close to my own savegame menu, I compared them and it looks fine to me.
The only reason I could think of is that you've forgotten to FillSaveGameList() again somewhere after a savegame has been deleted. That would mean there could be more items in the LoadList than there are savegame indexes.


Edit: I managed to recreate it:

QuoteError: run_text_script1: error -6 running function 'LoadList_SelectedIndex':
Error: Array index out of bounds (index: 20, bounds: 0..19)
in Global script (line 1494)

I saved a LOT of new games, then tried to restore one of the oldest. It seems that games beyond index 19 can't be restored. And I think I found the reason. You're still using savegameindex[], but more than 20 savegames. This is from the changefile for AGS 2.72:

QuoteObsoleted savegameindex[] array, and added ListBox.SaveGameSlots[]
   array instead. Additionally, raised the max save games from 20 to 50.

I take it from this that savegameindex may still have the old limit. Try rewriting the code using ListBox.SaveGameSlots instead and see if that works.

Edit 2: Yep, similar problem in my code which also uses savegameindex[] yet allows 50 savegames. I'll fix my own code now and let you know if it helped.

Edit 3: Yeah, it solved all my problems. Changing savegameindex[listselected] to LoadList.SaveGameSlots[listselected] should do the trick.
#2086
I love how PC Zone's reviewer of The Shivah (linked on the Wadjet Eye site) writes: "I won't spoil the plot by saying any more", yet the review features a screenshot of:

Spoiler
Rabbi Zelig holding a gun.
[close]

I myself turned in a review of The Shivah today to the Danish newspaper Politiken, by the way (as a supplement to an article on Manifesto Games where Dave is also quoted). I'll post a link when it's been published.
#2087
Too bad. I guess you'll have to write a function to do it for you (don't worry, it's not too hard). Perhaps this thread can give some ideas.
#2088
This is easier done by scripting a whole new speech funtion, at least if it's something you use more than once in the game. Yes, you can set the text speed with the game.text_speed variable, but the problem with that solution is that text change speed is also based on text length. In your case it would mean that the pause became longer for every letter added. A workaround could be to add spaces for the remaining letters ("P     ", "PE    ", "PEO   ", "PEOP  ", "PEOPL ") but I'm not sure how that registers in the engine. The text_speed would of course have to be set to normal before the full word is displayed or it will flash by in an instant.

#2089
Well, it depends on your definition of adventure, but it is commonly classified as one (e.g. on wikipedia), even though there are no inventory puzzles and it has some short action (shoot-em-up) sequences. The puzzles are very original - such as analyzing an audio recording to track down the location or analyzing bullet trajectories - and it's certainly one of the better FMV games of the period.

Edit: Check out the screenshots at Mobygames, as well as their scan of the back of the box, to get a better impression of the gameplay style.
#2090
Imho there hasn't been a single worthwhile adventuregame released since 1999. Don't waste your time on modern crap like Still Life, which I'm sure someone will recommend you.

Rather spend the time developing your own realistic game. I'm a Police Quest fan myself, and there really are way too few games in this genre. Another older game, which might interest you is Spycraft: The Great Game (and indeed it is). As for AGS games, The Shivah is pretty realistic and pretty damn good, albeit very short.
#2091
I have 66 savegame files for Martian Memorandum, covering - I think - all the game. PM me if you want me to email them to you, it's a 6KB rar file. If the game indexes them alphabetically you may be in trouble though, as the file names aren't very explanatory.

Edit: For future reference, Ghostlady's website Mystery Manor has adventure game savegames for download, but unfortunately not MM.
#2092
General Discussion / Re: Creative Burnout
Mon 02/04/2007 18:51:54
I think variations on the common methods to get over writer's block should work also for game design.

I suggest taking a month's break from the game. One option is to take a break from game development altogether, another would be to participate in this month's MAGS to work on something smaller, less ambitious.
When you return then return to your main project, you may be able to see what's wrong, make a minor change and continue work. Or perhaps you realize that nothing is wrong with the idea at all, and that you can't wait to get working again. Worst case scenario is that you discover that the idea is absolute crap and that nobody in their right might would play the game, but even in that case you wouldn't be wasting more time working on it.

Good luck!
#2093
To my knowledge, GetGameSpeed() doesn't represent actual framerate but only the target framerate, which you've selected using SetGameSpeed(). Unless you change it yourself, it will default to 40.

Furthermore, the manual entry for SetGameSpeed(int_newspeed) specifies:

QuoteThe NEW_SPEED must lie between 10 and 1000. If it does not, it will be rounded to 10 or 1000.

In other words, there's no possible way short of an engine error that GetGameSpeed() could return anything below 10. I'm guessing there's some kind of glitch in the Linux engine if that line results in a divide-by-zero.

Edit: Yeah, I just checked a section of my game where the true framerate dips to 7, but GetGameSpeed() remained a constant 40. The only non-engine reason I can think of is whether the System.Vsync property is turned on (either through script or game setup)? That would cap the game speed to the screen's refresh rate, and if the Linux display drivers for some reason returns an invalid Hz value to AGS, I guess that could cause problems.
#2094
OMG, this had better not be an Aprils fools joke - I used to love watching Brødrene Dal on Swedish TV as a kid. Please tell me there'll be a Norwegian language version for us Scandinavians.

Edit: In regards to Rui's comment on the graphics, the video capture style actually remind me of the old Access game Amazon.
#2095
The problem is that the room names - as far as I know - are stored within the room file itself, which isn't loaded until the player enters that room. A workaround, which may be what Esper is suggesting, is do define eNum values in the global script corresponding to the room numbers (eRoomLivingRoom = 5).
#2096
Quote from: spann on Fri 30/03/2007 13:03:46The text is all over the place.

Under "trouble shooting" on the game's website it says:
QuoteKnown problem: Scattered text
Solution: Download the NAGI Interperter (190 KB) & extract the contents of the zip-file into the game directory. Run 'NAGI.exe'.
#2097
If you didn't mind the text parser interface in Trilby's Notes, I recommend Enclosure. The story structure as well as the atmosphere is very similar to Yahtzee's games.
#2098
The problem is the missing parentheses, as AGS itself points out. Try:

Code: ags
if (gQuitgui.Visible == true) {


note that you also need "==" instead of just "=" when writing if statements.
Also, and I'm not sure this is necessary, but you should probably use lowercase "button" to be consistent with the function.
#2099
Quote from: Pumaman on Mon 26/03/2007 19:29:41Hmm, I still don't fully understand. The translation source file should automatically include all script strings, and then can't your custom function just use GetTranslation to get the translated version?

Hmm, this is something I considered briefly at one point, but didn't pursue since I didn't know whether GetTranslation was compatible with new Strings. Would it be possible to substitute a String with it's translation at the beginning of a custom function without messing anything up? Like this:

Code: ags

function lbSay(Character *charname, String dialogline, int voicefile) {
   dialogline = GetTranslation (dialogline);
   etc. etc.
   }


Is GetTranslation a slow function so it would be safer to check for IsTranslationAvailable() first? In some situations I need to run through a couple of hundred Strings every loop.

Edit: Woohoo! Yes, it worked! Thanks CJ, this solved all my translation problems!
#2100
Quote from: Rui "Trovatore" Pires on Mon 26/03/2007 10:47:49I had to make a custom function that gets the inputted string, puts it on a GUI label, and if necessary splits it into 2+ lines.

I have the exact same problem in my game - and in the end gave up on the idea of ever having it translated. I wonder how much it would take to rework the engine so that translated Strings are implemented the moment they are parsed rather than when they are displayed (at least that is how I understood the internal workings, but maybe I'm wrong?). This would allow for linebreaking code working also on translations, since the lettercount would refer to the translation rather than the original string.
SMF spam blocked by CleanTalk