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

#1501
General Discussion / Re: nmbukveo.dll?
Tue 03/06/2008 09:47:26
Try using HijackThis and upload the log to http://www.hijackthis.de/ for analysis. That should tell you which processes are safe to remove (or even directly identify the culprit).

Edit: It also allows you to delete bad registry entries, which should remove any errors you may get after deleting the .exe.
#1502
Bump! Ok, I imported some phoneme sprites to test the plugin out, and the preview seems to work great. However, when I try to watch the synced dialog in-game the framerate is very slow, so slow that it's difficult to tell if anything is actually syncing up. Any idea why this could be? I put the delay of my character's speech view to 1 just to rule that out. The actual framerate of the game never dips below 40 while the animation plays so it's not hardware related.
#1503
Argh, when I create a new View folder in the latest AGS version, I cannot rename it nor view the content. Whenever I try I get this error:

QuoteError: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
Version: AGS 3.0.2.40

System.Exception: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'. ---> System.InvalidCastException: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
   at AGS.Editor.Components.ViewsComponent.ProjectTree_OnAfterLabelEdit(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.AfterLabelEditHandler.Invoke(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   --- End of inner exception stack trace ---
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.OnAfterLabelEdit(NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.TvnEndLabelEdit(NMTVDISPINFO nmtvdi)
   at System.Windows.Forms.TreeView.WmNotify(Message& m)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Edit: It seems that the new folder doesn't have a number either. At least none visible, and it is moved to the top of the list. Also, I can rename already existing folders without problems.

Edit 2: I came across another, unrelated problem while testing the wonderful new lipsync feature of Smiley's audio manager plugin. There seems to be a timing issue in AGS when using Pamela lipsync (unsupported feature, I know, but I thought I might as well mention it) with mp3 files (encoded in Audacity using LAME 3.97 codec). When using .wav and .ogg files, everything works fine. But when using .mp3 format, the playback framerate of the animation drops to 3-4 fps (actual game framerate never dips below 40). This happens even when using a  copy of the .pam file which works great for .ogg and .wav format. Perhaps the millisecond timings are somehow retrieved incorrectly from the .mp3 file, or maybe some are being skipped?
#1504
Critics' Lounge / Re: business cards...
Mon 02/06/2008 22:37:08
I like Darths third example with the subtle, grey note. If you could get it produced with a glossy finish for the black and the note in a matte finish, or the other way around, it could be super sexy. What I personally like about my own second example is that it visualizes both the composing and sound design skills. If you could work in a thin, lighter gray waveform line behind Darth's note, I think it could look very nice.
#1505
Critics' Lounge / Re: business cards...
Mon 02/06/2008 17:23:14
I find this rather conservative and dull, but I like the simplicity of it:



I also made this alternate version, but I think it gets a bit messy:



Playing around with different ideas, I found that it's probably best to keep the text and image parts separated. Keep in mind that the actual information on the card is the main focus. Anything that makes it difficult to read the text is a problem.

Edit: Also, I think you need a very good reason to make a business card in color. If you're a graphic designer or similar, it makes sense. For most other people it just seems a bit flashy.

#1506
Critics' Lounge / Re: business cards...
Mon 02/06/2008 16:11:51
I see what you're trying to do, but very few of the images actually makes me think about music. Although fractals are used in audio visualizers, they don't really connect directly to sound and music. How about using a graphic of an audio waveform? I think it could be quite simple and stylish and immediately make the person who sees it think of sound (if they have professional interest in audio, they know what a waveform looks like). Perhaps something very graphic black-and-white like the cover of Joy Division's Unknown Pleasures album.

#1507
Quote from: Aulis on Mon 02/06/2008 13:30:42Thief 3 isn't bad, but it really cranks up the terror at Shalebridge Cradle.

The Shalebridge Cradle is indeed one of the scariest settings ever deviced for a game. The whole atmosphere mixed with the slow revelation of little bits of backstory on each of the inmates makes for an experience that I would never ever be able to play at night with the lights off.

This is an excellent article, originally published in PC Gamer, about the creation of that mission and also features a thorough analysis of the level. There's plenty of spoilers, so don't read it if you haven't played the game but intend to. And really, everybody should play Thief Deadly Shadows just for that mission.
#1508
To make the house look less 2D, try showing it from a different angle than the straight-on frontal view.



Also try placing similarly sized objects at different scale throughout the environment to show perspective, in this example I added more bushes. The ones in front are larger than those on the side of the house.

I also tried adding some lighting to give the objects shape and make them look less like flat set-pieces (a problem in your old version is that you have a clearly defined light source, yet it doesn't affect the surroundings much). Shading the tree and changing its hue also helped set it apart from the facade of the building. The brown tone of the tree and the red of the house where a bit too close in tonal value.
#1509
Wow, smiley, that's pretty damn impressive!

I didn't have time to test it out much yet, but the new phoneme editor seems really solid. Much better than Pamela and the preview function is great (there's a seemingly endless row of "Object reference not set to an instance of an object" messages if you forget to assign it to a character, but I guess that's covered in your missing stuff list). I did find one smalle issue that you didn't mention, which is that the previous frame isn't cleared so that each new frame is drawn on top of the previous ones - a slight problem if your talking animation isn't just a static head with lip movement. But other than that, it's absolutely excellent. I'll run more tests in a day or two.

I never expected that we'd get something this professional looking when I originally suggested the lipsync feature. Keep up the good work, man. The audio manager is such as great improvement to AGS. And the auto lipsync will definitely speed up development for a lot of people.

Suggestion: Would it be possible to have an audio preview as you move the phonemes around (playback of the few milliseconds following the phoneme timing)? It would make it a bit easier than just looking at the waveform to try to match the phonemes. I guess random access on a millisecond basis may not work with all audio formats, but perhaps it could convert to .wav while you edit the .pam file?
#1510
I think I've actually been to the place in the first picture. Isn't it near Flagstaff, Arizona?



I see what you're saying, guys. It's a huge accomplishment to succesfully send something to a different planet. I just find the pictures totally unremarkable. Does NASA have some kind of rule against color cameras in space? I realize that special hi-res equipment like that used for the original landing photos probably uses grayscale for technological reasons, but I mean, those two last pictures evenwolf posted - they actually have a camera on Mars, and we can't even get to see a trace of red?
#1511
Quote from: Dualnames on Fri 30/05/2008 10:27:37Garage Gothic: Half of the Guide as it is now can be seen at the demo. Just open it and press space(even at the menu).

Ah, I hadn't realized. I briefly played the demo (waiting for the full game before playing too far) but wasn't aware of the option. The Guide interface is a bit clunky, but I hope that'll be fixed before release - such as button labels and the topic list being slow to scroll without a scroll bar or mouse-wheel support. I must admit I prefer the visual style of the inventory system (which I love) to that of the current Guide. I haven't played around with SSH's module since I use my own html-like system for my game, but it shouldn't be too difficult to add image support for instance.

QuoteI actually like that this game is very open. You can do anything, almost. So unlocking the entries one by one actually makes this game not so good and open as I want it.

I see your point, but I disagree somewhat. Unlocking new entries would serve as a reward for the player - if you read through the full thing as the first thing in the game, a lot of the fun is already over. To me it makes sense that you would, for instance, see an ad for the Pangalactic Gargle Blaster or hear someone mention it, that would let you look the recipe up in the Guide so you could mix one to solve a puzzle. It would also solve the problem of not having millions of entries as Dualnames mentioned.

Edit: I forgot to say that the Guide entries are hilarious. Try looking up the entry for "Walking", which I assume is original for this game.
#1512
Oh, definitely keep the footnotes. They're half the fun as Dualnames also said. But I think it would be a bit too intrusive to just cut to the Guide as they do in the TV series. What about having a little icon of the Guide itself flashing in the bottom corner of the screen whenever some topic is mentioned - similar to yukonhorror's suggestion? If you click on it, you get the footnote. In fact, you could have an in-game Guide where topics are added (unlocked) as you progress through the game, so you can always go back and read the stuff you skipped. SSH's Hypertext Module might be of use.
#1513
Yes, they are indeed incredible, and the detail is amazing. Reminds me of the photos from the Bennett/China mission of 1997 if anyone remembers that:

Lander descending on planet surface

Zoomed view



Spoiler
Ok, I'll stop being a dick now.
[close]
#1514
AGS Games in Production / Re: Resonance
Thu 29/05/2008 02:29:21
Quote from: Vince Twelve on Thu 29/05/2008 01:57:55here’s a work-in-progress of Ed who has just seen something surprising. Perhaps a leprechaun!

Oh my, does that mean he has to suck Cartman's balls?

Looks great, Vince! It reminds me a bit of Dan Lee's drawing style. Are these cutscenes going to be animated or just stills?
I was starting to wonder when we were gonna see another blog update. Thanks for keeping us informed.
#1515
DynamicSprite.CreateFromFile support for PNG files would be very much appreciated since it's the only format that allows alpha channels. I'm coding a small paint application and it would be great if the user could use his own custom brushes with alpha channels without having to import them into the sprite file first.

PNG support for SaveScreenshot and DynamicSprite.SaveToFile would also be nice, because PCX isn't that widespread anymore (Windows' Paint application can't even open it!) and BMPs tend to be huge, but it's not as essential.

Edit: Speaking of alpha channels, is there any chance for DrawingSurfaces with alpha channel support? As it is now, if you use DrawImage with the transparency setting or alpha channel sprites on a DrawingSurface set to COLOR_TRANSPARENT, it will show that lovely magic pink color through or around the edges of the sprite.
#1516
Yeah, with non-animating objects everything should work fine. In case you need something to animate you could always fake it with a character. It's quite clever to add transparent borders instead of simply resizing, I didn't think of that workaround to keeping the sprites centered on the same coordinate. Good idea.

I look forward to see what comes out of this project.
#1517
Ah great, the forum is back up. I originally tried to post this many hours ago:

The interaction part can always be handled in a custom click function by storing the coordinates and current size of the object in a struct. Just check for clicks on objects in the module's on_mouse_click code and then run the relevant Object.RunInteraction(CursorMode) from there. You can even do pixel perfect click detection by using a modified this technique, which I came up with as a workaround for pixel perfect GUI buttons (only requires a single dummy character).

The main issue is the pathfinding, as I said. It can be handled by using WalkStraight and then checking for objects a certain number of pixels ahead of the character in his walking direction. But of course it will never be quite as "intelligent" as the built-in pathfinder. It's definitely possible but will take a bit of planning not to cause AI characters to get stuck.

Good luck with the project. Unfortunately I don't have the time to join your efforts, but it's quite an interesting challenge you've set yourself, and I'd be happy to try to help out with any further questions you might have.

Edit: All this would be a piece of cake if only there was an Object.Scaling property. Perhaps the best idea would just be to let CJ know that such a feature would be put to good use. I already suggested it in the AGS 3.02 Wishlist some days ago.

Edit 2: I didn't consider this at all, since the original question was about DynamicSprites. But have you experimented with the SetAreaScaling function? If the object scaling is fairly linear, at least within the same screen area, you should be able to make a full-screen walkable area and change it's scaling depending on the viewport coordinates (so that the bottom of the screen always is 100%). Might take some tweaking to fit into your other perspective effect though, and because the scrolling room is so big, it may be necessary to split the walkable area into several horizontal slices - otherwise you would only be able to scale all the way up to 100% in the bottom half of the room.
#1518
After all the discussion about automatic lipsync (and hopefully its implementation in smiley's audio manager plugin), I'm wondering how much work it would be to allow lipsyncing for LucasArts speech.

While I agree that mouth movement doesn't need to be very accurate with the distant characters of classic LucasArts style, the mode is a useful workaround if you want character portraits to work differently from standard Sierra style. For instance I use LucasArt speech to emulate the Gabriel Knight dialog interface (hiding the actual speech with an invisible font and displaying the same text on a GUI). And now that true lipsync will hopefully be much easier to implement, I'm sure we'll see lots more people taking advantage of it.
#1519
Ah yes, I see the point now. It's a pretty neat effect you've come up with.

The array I described earlier should work for static objects. However, for animating objects and characters it's a bit more difficult. You could write your own animation code handled through repeatedly_execute_always (with a struct storing the view, loop, current frame and animation speed as well as a timer to let us know when to change the frame), but that's quite a big job. Another way would be to hide all characters and objects and use DrawImage to replicate them on-screen. This approach will cause problems with pathfinding though, if you need to use that.
The easy workaround of replicating all objects and characters in the room using a bunch of dummy characters could work if it's only to be used in your own game. But if you plan to distribute the module it's not an optimal solution.
#1520
First of all, check my edit to my previous post if you haven't already. It's not related to your question but could save you some trouble.

Second, please explain exactly what it is you're trying to do. My impression was that you get sprites from objects, scale them and then draw them to the background. Do you also need to assign the scaled sprites back to the object? I thought that was for debug purposes only?
It shouldn't be difficult to store the original sprite number for each object in an array, so it's not a problem to restore them to original size. I just wonder if it's necessary to change their graphics in the first place.

Anyway, to answer your question, you could create a dynamic array to store the original sprite numbers. Like so:

Outside the function define:

Code: ags
int origsprite[];


Then define it's size in EnterScreenBeforeFadeIn:

Code: ags
function on_event (EventType event, int data) {
   if (event = eEventEnterRoomBeforeFadein) {
      origsprite = new int[Room.ObjectCount]
      }
   }


Then, inside your function, before changing the sprite, you store the original sprite value for the item you change:

Code: ags
int objectnum = 2; //just an example, you'd probably use a while loop to run through all the objects
if (origsprite[objectnum] == 0) origsprite[objectnum] = object[objectnum].Graphic; // I added the conditional so it would only store it the first time around


This is a bit of a mess with animated sprites though, which is also one of the reasons I'd like you to explain the functionality of the module in a bit more detail. Perhaps there are easier ways.
SMF spam blocked by CleanTalk