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

#41
I'm not sure what's going on in my syncing, help! I'm exporting wrong perhaps? Since AGS wanted a dat file as i understood the instructions. I push the export Anime Studio button in Papagayo. Problem is the sync doesn't look nothing like in Pagagayo once it's in AGS. It looks more like 10fps everything is slowed down. Both AGS and Papagayo is set at 60fps. What's wrong? 9 Frames in the sprite view, perhaps i should have showed those in the video..Edit: Hmm, maybe there's too many closed mouths in there, nope doesn't seem to change anything. Is it the Thumbleweed Template perhaps that's causing something?

If i take away the sync file the character doesn't move his mouth at all, so obviously it has some form of function, but not the correct one.

Code: ags
TotalLipSync.Init(eLipSyncMoho); //Papagayo setting, right? i have 9 mouth movements in the speech view..
TotalLipSync.AutoMapPhonemes();


#42
Highly important Update Actually maybe it's cased closed now! I'm trying Papagoya and it works WAY BETTER from what i remembered it, it was aweful and i got so pissed when i tried some years ago to line stuff up with the spectrum wave. I must have tried a buggy version, works fine now! Now it's actually possible to do syncinc alright (nod). Still that "GetAudioLevel" and being able to set a value for the engine to look for would be very useful indeed!
#43
Wizard, i agree about AudioClips too! Perhaps you could call something like "getAudioLevel" and check the objects at the same time, for easier syncing. Cause it does take a bit of time to try and sync stuff up. I sat for hours trying to figure a traineffect and *swosh* sound when a figure is dragging a rope for example.

I have a big gate that's opening and now i just move them behind a Wall opposite sides. I mean it's a bit of guessing game, and judging how long should the gate drag on floor before it's fully opened and the sound ends.

It could save a couple of minutes. (nod)

Snarky, i'm gonna try your tool again later tonight! Cause i'm so feed up with my stupid manually syncing stuff, it must be easier to create what i want with your tool. I have to try what i tried before but failed. Edit a dat file, and just figure out how long the various Speechanimation times that AGS offers would be similated in the dat file. In what order they all should come for the full animation to play thru like it normally does without lipsyncing, and ofc their specific timings.

Then i could use the tool first and look for all the silences that are synced and take away the rest and justcopy/paste in the stored "full animation running" settings. Thoughts? Edit: The lipsync tool looks great for highres games, i'm only talking about lowres pixelart games here and yes having full on lipsync IS overkill.




#44
Quote from: eri0o on Mon 25/09/2023 13:09:03I think there isn't any way to read the volume level of any sort like enabling making an equalizer in AGS Script. But for lipsync that you want, have you tried using Rhubarb paired with the TotalLipSync module from Snarky?

Unfortunaly yes! It looks ok and i'd probably use in the future if my feature request (i guess) is not easy to fix in the near future. I really don't think i need the lipsync feature, well it "kinda would be a lipsync feature", but get me right. A continued looped mouth moment but only to be closed aka "synced" when there's no sound = closed mouth frame. What i've done so far is manually "lipsync" parts by creating various speech views and trying to line it up with the sound in a dark room with the character. It takes ages, alltho it looks much better to my eyes!  (nod)

Do you think it's possible to fix it inside of AGS in the future? Audio detection using perhaps someform of freeware noisegate behind the scenes. This would improve AGS own speech function.

Then the user could perhaps set their own AudioIsBelowSpeechlevel(-20); would be equal to -20db. Since forexample voices in games seems to live around (taking numbers out of my ass might not be 100% correct) -12db to say -6db. Perhaps i should have posted this as a feature request, but anyways, here's the dream in a pseudo code

Code: ags


function repeatedly_execute_always()
{

  if (player.Speaking) && AudioIsBelowSpeechlevel==-20))
  
  {
   player.Frame=0 (speech player frame closed mouth) 
    

}

else player.KeepSpeaking(); //Something like that..


  }

}
  





#45
Quote from: KyriakosCH on Mon 31/07/2023 12:22:15Maybe he simply is dumb enough to be unable to realize he is dumb.

Yes, he does have Asperger's and as i understood it, parts of that diagnosis is having a hard time socially, reading social cues. Sounding or saying dumb stuff without realising how dumb it sounds, etc. But being very clever in specific interest's. Not sure Twitter is one of those interests (laugh)
#46
What i mean is when the speech file is "silent" or almost silent since most people probably aren't obsessed audiofreaks like me. Is there such a thing? I want a 'psuedo lipsync' module, because it would look much better for pixelart. The goal is to have it check for when the speech file has these slight pauses between the sentences. That it immediately then goes to a closed mouth frame via repeately execute, and then after that the speech restarts itself once there's "hearable speech" in the audio file again.

I know AGS recognise's that a audio file is playing and you can stop, resume, etc, but i can't seem to find anything other then that in the manual. Like "IsAudioSilent" sounds stupid, but you get the point! (laugh)

#47
Thanks! I'll try it tommorrow! I have to erase my own code attempts i realised they were still left in there!  (laugh) I still wanted to have parts of my code in there somewhat, if it's possible. That is to have a character throwing out his hand and meeting the others hand and exchanging items. I did that with a-reno NPC that is standing still, i mean it looks nicer!

Apart from that a-who, i've had no issues with the template, i finally got your DM code to work yesterday on objects in the room since i have a huge gate that is two objects and not a normal "door" so i had to setup the custom properties finally got that working, so that's nice! I'm all set for a future more serious game demo, expect a demo soon in the future!  (nod)
#48
It's almost as if you had a photography of me as reference. Tall and skinny figures is the way i guess (laugh) Started following your Youtube channel :) 
#49
So you're saying your not gonna re-do the graphics similar to this that i'm working on? It just takes five minutes! (laugh)

#50
Show your stuff in DM or here and i can help you. Maybe not with the full drawings since i'm caught up with my own game, but with tips since i've worked pixelart intensely for 3-4 years now. I'm pretty good at it now i must say. This is what i'm working on atm, most of the colouring is there. It's mostly details left to do, adding stuff in the bakground, fine tuning the Church Entrance, etc. I've done EGA graphics before i started with this project so i know it well enough, i'd say.





#51
Edit: Solved it myself, solution at the bottom
Abstauber tried to explain to me long ago in a DM. I didn't get it to work then and not now either! (laugh)
Alltho i'm now trying with an object instead of a hotspot that he explained, but i think it should work in theory when i look at his code ???

This is the code i have inside the VerbsGui.asc

Code: ags
static void Verbs::VariableExtensions() 
{

// define here, which things will use a variable extension (>v)
  // by default, it's only used for doors.
  int r = player.Room;
  Object*oo = Object.GetAtScreenXY(mouse.x, mouse.y);
  int o=0;
  if (oo != null) o = oo.ID;
  Hotspot*hh = Hotspot.GetAtScreenXY(mouse.x, mouse.y);
  int h = hh.ID;

  // Other possible extensions could be: Turn On/Turn Off
  
  // Open/Close Extension:
  // Room | Hotspot |(Door_id)


else if (r==20 && o == 0) {  //trying to get object[0] in room20 to flip between open/close verb Extension
    if (oo.GetProperty("Pushed") == 0) Verbs.AddExtension('y');
    else Verbs.AddExtension('s');
}
}

}

and in the room scripts object 0's anyclick  i have this

Code: ags
  if (Verbs.UsedAction(eGA_Open) && oGate_LEFT.X==0)

{
    oGate_LEFT.SetProperty("Pushed",1);

  player.Walk(460, 2250, eBlock);
  player.FaceDirection(eDirectionUp, eBlock);
  aGate_Open.Play();
  oGate_LEFT.Move(-82, 2400, 1, eNoBlock, eAnywhere);
  oGate_RIGHT.Move(82, 2400, 1, eNoBlock, eAnywhere);
  RestoreWalkableArea(3); 
 
}


What should i pick in Custom Properties?
i've created a new one in Object[0] properties to my understanding called Pushed and it's set to 0 as a "Number" and what it should apply to i choose "objects" unsure?



Edit: Solved it myself finally! Solution was to change oGate_LEFT to object[0] and change to the right extension's the example is push/pull, i didn't bother changing them since i couldn't even get the custom properties working..
In custom properties it should be number, so anyone else that might wonder this knows now!



#52
Quote from: Danvzare on Mon 18/09/2023 12:21:16You basically just described how RotSprite works.

8-0 Just googled! Looks like a software of interest for sure. Thanks for the tip! Perhaps less work is needed in the future for me 8-)  Not that it takes that long to do it manually really, but better 5minutes then 30 minutes, i guess (laugh)
#53
my latest discovery was how amazing and pretty simple it actually can be to rotate a sprite almost to a 3d looking level using upscaling to keep the sprites from anti-aliasing (getting blurry). I'm talking about a wheel or fan rotation, then downscaling it inside of the AGS engine to your resolution of choice! No AI involved in that tho, probably could use one tho, if i knew how to work the AI, the only AI i use atm is for my voice acting, i love it alltho some friends help out too, lended their voices and replaces some lines that sounds ass!  (laugh) So they don't have to work so hard, for no cash. 
#54
Tips? Look at this legend how he does it. I've even emailed him a while back and he gave me some tips, my art has improved a lot since. However he doesn't go into much technical details i had to figure out a lot myself, but it definately helps to get a way better look on your pixelart if you like his style that is! (nod) 

My absolute best advice is to start with the EGA palette! I wished i had done that sooner! Cause it really opened up the ability to sense what colours works together for highlights/shadows in the pixels universe. Since you are limited to just those ugly 16 colors, and that's really good for practice, and getting creative with the limitations as Mark says in his video here
#55
Quote from: Gal Shemesh on Fri 04/08/2023 10:35:38Thanks for the reply, @RootBound! Yep, I tried the Wait() function. But unfortunately, it doesn't work very well as I want the sound to play when the FadeOut starts playing, and not to have to wait for the sound to end before it does...

In the future, just do like i do. Go into Photoshop Take the biggest black Pencil tool you can get hit your leftmouse. Save the file as the same size as your room is. Either animate it in Photoshop itself fading out or do it in AGS with object transparency and Tween Module. Problem solved, none-blocking! 8-)
#56
@abstauber There's a bug in the template. Funny thing tho A-boo i thought i tagged you a-who before, but maybe i didn't 8-0 If you try to GIVE TO it won't give the NPC character the item, until the second time you push the verb! It seems to be related to the distance of the characters, but i'm no coder so i could be wrong (wrong) 
Here's a Ambulance i've done for the game, so you'll get all a-reno and fix it!





#57
CW, i don't know if this is considered related to the engine. But there is a bug in the Thumbleweed template that comes with AGS, to my knowledge it has not been fixed yet ??? No updates in the Thumbleweed template thread.
 
If the player use the GIVE TO verb to a character that is not in a fixed position/hard-coded it won't give the item immediately like it should. Until the second time you push the verb, then it usually works?!


#58
Quote from: Khris on Fri 15/09/2023 13:03:14

This isn't the critics lounge, but given the great sprite art I have to say I'd probably only rotate the wheel without the lighting, then paste that on top at 50% transparency or something like that.

No worries! That's actually a great idea! Alltho i would have to re-make the entire animation, which sucks. Since it's not in layers unfortunaly :~( Edit: Never mind, i could actually just use the bucket tool, the pixels are still pretty clear thanks to resolution. Great! I'll edit it a bit later just darken it a bit..

Perhaps have the lightning layers in the actual room with Straight matter as an object itself?! So when the car drives by it. It reacts to it, sorta like a "lights/lamp layer" ??? But that's in the future now i have to finish more of the game, been slacking so much to do! Lots of BG's left to draw, etc. Thanks for your feedback tho, much appreciated as always! (nod)
#59
Bringing up an old thread, so i started the insane task (laugh) yesterday of trying to do a "suedo 3d effect wheel rotation" without actually using 3d. I think it turned out pretty cool! I rotated the image 18° clockwise then re-sized it to 400% nearest neighbour, eyeballed the wheel spinning somewhat. Since were dealing with pixelart here (mostly, i think?). I do that because i don't want a blurry anti-aliased messy look. If you use transform tool that is what will happen if the resolution is low. 

After doing that i imported all the sprites 20 png's into AGS (to save time i just used transform tool and flipped 10 frames using horizontal/vertical tool in Photoshop to get the full 360) and manually scaled it down in AGS to fit the "320x200 resolution Thumbleweed look". Decent enough for something that you see in 2seconds or less ;) Way better then 2 or 4 frames flipped with vert/hor tool in Photoshop like i've tried before, at least to my eyes (roll)

The only thing i don't like atm is i need to figure out how to use the tweenmodule to fix the animation speed matching the float of the tweenpositioning i do with the moving object (wheels) acceleration :-[. But that's nitpicking. Here is a gif of the result.

I looked in AGS 3.6 but i couldn't find any "object.rotation" or such syntax i guess it's not available yet. Are we talking a distant future for sprite rotation or is it far away? I don't try beta's alpha's and all those things, too scared to mess up my main project files! (laugh) 



http://i.imgur.com/qL1vgHB.gifv
#60
Ahh! That's great, thanks a lot as always!
SMF spam blocked by CleanTalk