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 - EnterTheStory (aka tolworthy)

#41
I'm experimenting with large games, and some of them take 30 seconds between clicking the icon and seeing the game - there's not even a black screen until then.* Preload.PCX only appears in the last half second, which sort of defeats its purpose. Am I doing it wrong?

Is there some other way to load a pre-load screen? I don't want to launch the game from some pre-loader, because my whole reason for combining games is to simplify the launch as much as possible.** But is there some way to let the user know that something is happening?

* I'm planning ahead for 100 games in one file, based on the size of the first 4 games. I tested the worst case scenario: 250 MB of text modules that all have to load before anything is seen.

** I've had reports of game shortcuts not working in some configurations, and I can't find any reason for it. Mostly it works, but occasionally it doesn't: so I'm not taking ANY chances with shortcuts, non-standard loads, etc.
#42
I'm considering combining all my games into one file. Right now it would only be 700 MB, but over the next 20 years it could easily push 10 gigabytes. Is there any practical limit to the physical size of AGS games?

EDIT: I've tried a 3 gig game, and it works OK, but obviously I haven't tested it thoroughly - it was just a fake game with giant rooms. I'd be interested to know if anyone has found slow downs when pushing everything to the limit.
#43
Thanks - the advice is very much appreciated.

re: error message:
I can't reproduce the error. The only person who's reported it is very thorough, yet didn't mention any message. But I'll check.

Quote from: GarageGothic on Wed 14/07/2010 03:21:27I'm curious if you've made any survey of what percentage of your audience actually makes use of the between-game movement?

Until the current game (A Tale of Two Cities) I would guess almost none, because there was very little natural overlap. However, the streets in A Tale of Two Cities directly connect with the streets of Les Miserables. All future games will grow incrementally like that, adding new streets to existing cities. This allows me to add games rapidly, only adding the bare minimum necessary rooms for each one, yet having each feel like it's part of a vast world.

Also, the maps tend to link to more than one game - e.g. the Les Miserables map includes streets from A Tale of Two Cities, since they intertwine.

Also, the 'retro room' code relies on RunAGSGame - where old games can magically sprout new rooms (actually stored in later games). Ultimately the whole game is not about stories, it's about discovery. The first person to extensively test the latest game raved about that: she loved how you can just explore and find new stories around every corner.

For me, RunAGSGame is the killer app, the heart and soul of AGS.

Quote from: GarageGothic on Wed 14/07/2010 03:21:27I find the idea of jumping between already complex fictions utterly confusing
The transition is improved in the latest games - less jarring, more pleasing. Or that's what users report anyway.
#44
I'm having intermittent problems with Windows not finding files when using start menu shortcuts and RunAGSGame. For example:

Quote
I installed the games on D drive. I moved from game A to game B, then tried to move from game B to game C: The game crashed....over and over again. Same happened A to C to B.
.
Then I installed the game on my C drive...same computer....windows XP
Did the same things and this time everything worked perfectly, back and forth, back and forth...
.
...until the seventh time, then crash.
.
Then I installed the game on my laptop....windows vista. This time everything worked perfectly.
.
Then tried to start the game from a start menu shortcut (not the desktop shortcut) ...and it wouldn't.
.
I tried the same thing on the XP-machine...it did open eventually, after nine attempts....as if it finally found what it was looking for???
.
I tried again...it opened....tried again...tried about twelve times, it opened perfectly every time.

It sounds like Windows is having problems finding things. Is there any way that I can make the job easier? Like using certain folders (I install to My Documents), only using DOS 8.3 filenames, forcing the user to only start with the same game each time?

I am really stuck here. My game relies on frequent use of RunAGSGame, and if Windows can't always find files then I'm in serious trouble.
#45
Quote from: Pumaman on Fri 25/06/2010 14:01:57
I was never able to reproduce this problem. Do you have a way of reliably reproducing the crash?

I can upload the previous build of my game if you like - but it would be several hundred MB. In the latest build I don't use crossfade, so it's not really urgent for me any more. But if it would help anyone else I'd happily upload everything, code and all.
#46
Edit: that's a good idea. But rather than spending more time bug tracking I replaced the built in fade code with custom fade code (that I wrote for the other games) and it all works perfectly now.
#47
I often get this crash when loading a saved game:
Code: ags
Crossfade: buffer is null attempting transition


This was mentioned a couple of years ago but I can't find any reference to a solution. I use eTransitionCrossfade as the default screen fade, so I imagine that is the problem?

I've tried calling 'SetNextScreenTransition(eTransitionInstant)' before saving a game but it makes no difference. Any ideas what I should do?
#48
A certain room causes a "more than 50 sprites" crash, but ONLY when run with non-standard settings (3x antialiasing, 100MB RAM for sprites, Direct3D9). That room was supposed to only have 49 sprites. Any idea what might be happening?
#49
Quote from: Dataflashsabot on Fri 11/06/2010 19:26:17
The tables are broken, please add a linebreak or three to the message
That sounds almost Biblical! (see Exodus 32) :)
#50
Thanks. On further investigation it may be a combination of AVG and Copernic Desktop Search both fighting to access files while AGS tries to read them. I hope it's just that, as that would be fairly easy to avoid.
#51
My games often refuse to save or load in the editor. Until now rebooting the computer always fixed it, but no longer. Presumably this is due to some registry permissions thing? Is there a line in the registry (or some ini file) I can edit to allow me to run a game?

Here are sample error messages from two different games:
Code: ags

---------------------------
Adventure Game Studio
---------------------------
An error occurred whilst trying to load your game. The error was: 

The process cannot access the file 'C:\AGS\sandbox\GlobalScript.asc' because it is being used by another process.

If you cannot resolve the error, please post on the AGS Technical Forum for assistance.

Error details: System.IO.IOException: The process cannot access the file 'C:\AGS\sandbox\GlobalScript.asc' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at AGS.Types.Script.LoadFromDisk()
   at AGS.Types.Script..ctor(XmlNode node)
   at AGS.Types.Scripts..ctor(XmlNode node)
   at AGS.Types.Game.FromXml(XmlNode node)
   at AGS.Editor.AGSEditor.LoadGameFile(String fileName)
   at AGS.Editor.Tasks.LoadGameFromDisk(String gameToLoad, Boolean interactive)
   at AGS.Editor.InteractiveTasks.LoadGameFromDisk(String gameToLoad)
---------------------------
OK   
---------------------------


---------------------------
Adventure Game Studio
---------------------------
An error occurred whilst trying to load your game. The error was: 

The process cannot access the file 'C:\AGS\Les Miserables\misc code.asc' because it is being used by another process.

If you cannot resolve the error, please post on the AGS Technical Forum for assistance.

Error details: System.IO.IOException: The process cannot access the file 'C:\AGS\Les Miserables\misc code.asc' because it is being used by another process.   
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)   
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)   
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)   
at AGS.Types.Script.LoadFromDisk()   
at AGS.Types.Script..ctor(XmlNode node)   
at AGS.Types.Scripts..ctor(XmlNode node)   
at AGS.Types.Game.FromXml(XmlNode node)   
at AGS.Editor.AGSEditor.LoadGameFile(String fileName)   
at AGS.Editor.Tasks.LoadGameFromDisk(String gameToLoad, Boolean interactive)   
at AGS.Editor.InteractiveTasks.LoadGameFromDisk(String gameToLoad)
---------------------------
OK   
---------------------------

#53
I have a function for fading out GUIs, but what's the right terminology?  E.g.
Code: ags

function fadeGUI (int whatGUI){}//?
function fadeGUI (GUI* whatGUI){}//?
function fadeGUI (gui *whatGUI){}//?
function fadeGUI (what doIputHere){}//?

Sorry if this is a trivial question, but I can't find the syntax in the manual or the forums.
#54
Quote from: Pumaman on Sun 09/05/2010 16:53:18please download this patched ACWIN.EXE and replace the one in your AGS folder with it. Then, see if you still get the memory leak:
http://www.adventuregamestudio.co.uk/acwin.zip

Should this be downloaded for all versions of 3.x? (Or maybe that's a really stupid question)
#55
Quote from: Calin Leafshade on Wed 14/04/2010 16:49:52
why not just draw directly onto the sprite with COLOR_TRANSPARENT?

no need for masks and stuff
You mean make shapes by using lines and rectangles? It might take a while. This is one of my hole masks - it's over six hundred frames long. :) (when you knock a hole in a wall the workers come and build it up again.)


But the good news is that since posting the earlier stuff I gave up with character sprites - the coordinate bug was driving me crazy. Now I use GUIs for any characters that need holes, and everything works perfectly: you can blow any parts of the wall up and it doesn't matter if the holes overlap.

Once the coordinate problem was overcome it was just a matter of copying and drawing the dynamic sprites in the right order.
#56
Quote from: wonkyth on Wed 14/04/2010 14:39:07
A better way to do this may be to keep the original rectangle that you're using for the hole, and updating it to add more holes, and then use it as a transparency mask on an original copy of the sprite you're sticking the hole in.

I've tried that, but it requires multiple deleting of on screen dynamic sprites (e.g. when an on-screen character gets a new hole, their existing dynamic sprite has to be updated). This creates problems with the coordinates bug:

Characters are normally positioned at the bottom middle, but on deleting a dynamic sprite the image stays on screen, but takes on top left coordinates. Meaning the character jumps down and to the right. To overcome this I've been by using replacement cloned characters and trying to the deleting off screen. It makes the code horribly complicated.
#57
I'm shooting irregular holes in my sprites. That is:
1. I use DynamicSprite to get the existing sprite as a mask
2. I draw a rectangle in COLOR_TRANSPARENT
3. the use DrawImage to fill in the rectangle with a nice shaped hole
4. Then use this as a transparency mask

This is fine for single holes, but is no good for overlapping holes because the edges of the hole are added each time.

What I'd really like to do is paste only the hole, then afterwards set the sprite transparent color to the hole color.
or...
just tell AGS to past the hole shape as transparent.
or...
flip the transparent and opaque pixels (using AND, NOT, etc).
Is any of this possible?
#58
The only genuine duplicates seem to be GUI buttons and responses, 'Save' 'Cancel 'There are no more saved game slots' and of course this only happens with updating a translation file, not with the original. The first version was generated with 2.72 then imported into 3.12 if that's any help.

Also it seemed to me that some older dialog lines were not removed when they should have been. E.g. I'd fix a spelling mistake, and in the update the original bad spelling was still there as well as the new line. I can't swear to that, though , it's always possible that I used the same line twice and only fixed one spelling (the file I was checking had eight thousand lines so I may have missed one).

Oh, and a question - I'm assuming that it does no harm to delete lines that are not translated? As long as the remaining lines are still in pairs of course?
#59
Is it normal for 3.x translation files to have multiple identical lines? I'm updating a translation file and keep finding duplicate lines, usually instructions like "Save" and "Cancel." Is this normal? The first appearance is translated and the second is not (it only appeared in the update). Should I manually copy the translation of the first occurrence and paste it after the second occurrence as well?
#60
Quote from: Pumaman on Fri 02/04/2010 16:23:19If you're still getting sound jittering problems with AGS 3
Not with my new room changing code :)
I'm no expert, but I'd imagine it's unavoidable, when loading a 2 MB room plus playing music plus cross-fading plus whatever else might be going on, all on a slow computer. I don't suppose many other people have 2 MB rooms.

It's my own fault. My choice to have giant rooms (that stutter if not loaded in pieces), giant floors (where path finding doesn't work unless it's basically a rectangle), a lot of rep_ex code and workarounds (so that tiny, innocent changes in 3.x have dramatic effects), using RunAGSGame along with changing languages (Winsetup doesn't like that at all!), and so on. I think I just need to accept that I'm pushing AGS in directions it wasn't designed for, and that nobody else particularly wants :)
SMF spam blocked by CleanTalk