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 - Ryan Timothy B

#2441
General Discussion / Re: Christmas Thanks!
Wed 24/12/2008 00:23:14
Thanks for this wicked AGS!
(second time posting.. seems the forums didn't like me complimenting AGS and timed out)
#2442
Well speaking of Christmas shiz.... I FINALLY completed a game.

Road Racer!
#2443


Is proud to present:

ROAD RACERv1.3

Download this incredibly fun, finger mashing, arcade racing game.
It's a top down racing game similar to GTA1.  Race against the clock to complete each level (7 levels in total--with large scrolling backgrounds).
The car can rotate 360 degrees and is equipped with a parking brake. Yay!

Click to view entire 7 level course




Three game play options offering a different game play for each.

A - Race against the clock to complete the levels.

B - Race against the clock to complete the levels.  Car cannot take too much damage (ie: driving off-road or colliding with something).

C - Race against the clock to complete the levels.  Car cannot take too much damage (ie: driving off-road or colliding with something).  And to make things harder -- objects that are scattered along the roads.  Hitting them will stop your car dead.

You can also choose your difficulty setting Easy, Medium and Hard which changes the maximum time and maximum damage count.




It's the first game completed by Ryan Timothy, as you can probably imagine, I'm pretty excited about that.


(WARNING: Some keyboards have a weird glitch using a combination of the Arrow keys and the Space bar.  I am working on having two inputs for the handbrake for now, and perhaps later down the road the choice to select which keys you'd like to use instead.)

Download Here - 21MB

Visit Games Page


Screenshot:





Game was updated on Dec 31, 2008 to include 2 new levels and extra features

  • Car now explodes when the time runs out, or if the bomb is damaged.
  • Car bounces backwards or forwards when it collides into an object.
  • An option to increase steering sharpness slightly.
  • Better customizable difficulties menu to allow everyone of all skills to enjoy.
#2444
Yep that's pretty much what I meant, the 'point clicky' as you call it. :P

At first I didn't know this was a mandatory thing, doing the whole pointy clicky to add common events.  I had copied a script from another room.  Kept playing the game over and over and reviewing my script trying to find out why nothing was working, yet it worked on the other room (I believe the rep_exec worked, just not room load, or before fade in).  I was ready to give up and delete the room thinking it was some kind of glitch, then realized I didn't touch the damn properties pane in the room editor.  Doh.
I think that moment sucked up at least 10 minutes of precious programming time.  lol
#2445
Quote from: Pumaman on Mon 22/12/2008 19:50:24
Is that bit of script in repeatedly_execute or some sort of place where it could be running too many times?
Negative.  It only accesses it whenever the speed is higher than zero and a collision was detected.
I even (just now just to absolutely make sure) put in some fail safe booleans so the collision sound will only happen once if the front end detects collision, until you put it in reverse.

QuoteWhen the problem happens, can you place a breakpoint on that PlaySoundEx line and see if the script is repeatedly running there?
I wasn't sure what you meant by breakpoint.  So I installed a fail safe button.  A.
If you press A it sets a boolean to TRUE and it runs this:
Code: ags

  if (keycode==65) { //press A
    a=true;
    StopChannel(1);
    StopChannel(2); //just for the sake of doing it
    StopChannel(3);
    StopChannel(4);
    StopChannel(5);
    StopChannel(6);
    StopChannel(7);
    StopAmbientSound(1);
    StopAmbientSound(2); //just for the sake of doing it
    StopAmbientSound(3);
    StopAmbientSound(4);
    StopAmbientSound(5);
    StopAmbientSound(6);
    StopAmbientSound(7);
    StopMusic();
    }

At first I tried stopping only the channel that the looping sound was played on.  Then tried stopping ambient sound on that channel just in case.  Then went all out and tried stopping every single channel including music.
And prevented the function containing the only playsoundex/playambientsound's, from running.
Still the sound looped for minutes on end (perhaps infinite).
I'm now pretty confident this is a weird AGS glitch.  Progz seemed to have heard of it before, so maybe he knows more about it.

QuoteThat sounds pretty unusual to me. I presume you haven't changed the music volume down to make it silent?
I again double checked to see if I could have been wrong.  The only time setdigitalmastervolume command is run whenever a new room is loaded or esc is pressed.

QuoteNext time that happens can you post here what your mouse cursor is hovering over in the script? It looks like an error trying to pop-up the help window when you hover over a variable/function.
I can tell you approximately what I did from the 2 times this happened.
I had 5 room scripts I needed to update to match the first script.
I copied the top half of the  function room_RepExec() on the first script.  Had the second script already opened, clicked on it, deleted the top half of the   function room_RepExec()  and pasted.  I think when I clicked to go back to the first script is when I had the error.

When I say I copied and deleted the top half of the function room_RepExec(), this is what I mean:
Code: ags

function room_RepExec()
{
  [...plus the code....]
  [..I also didn't copy or delete the bottom half of the script with the closing bracket..]


I've tried it twice today to see if I could encounter this again, and it won't.
#2446
Pardon this if it's already part of 3.1.1.

It would be really nice if the scripts were independent from the room editor.  It's a pain having to open the room editor for each and every room making you have to use the Events pane just to add, for instance, the event where the character leaves a room.

I feel if you add it in the script (typing it manually) the room should check for the functions and update itself.
#2447
Code: ags
if (IsChannelPlaying(4)==1) StopChannel(4);
PlaySoundEx(15, 4); 


The script is a big mess of functions and what-not, but the only part that plays audio clip 15 is that part.
95% of the time that clip is played (sometimes more, sometimes less), it will play without any problems whatsoever.  If you're really keen on figuring out what my problem is, I could always send you the entire uncompiled game and you can crash into walls over and over until the problem occurs. :)  AND have fun while doing it! :P

Also, is it unusual for repeating music to suddenly stop playing?  When I crash into the walls repeatedly, having all the sound channels used, after a while the music stops.  And ismusicplaying() still registers as if it's playing.

Anyway, I'm really not too worried about the sound glitch for this game, hitting walls is something the player isn't supposed to be doing.  So it could be like an audibly annoying lesson for them NOT to do it again.  :P

EDIT:  I feel like I'm plaguing this thread.. I've been getting this error message when I go from script to script today.  It's been like 5 times now.
Code: ags

Error: StartIndex cannot be less than zero.
Parameter name: startIndex
Version: AGS 3.1.0.60

System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at AGS.Editor.ScintillaWrapper.CheckFunctionForLocalVariables(Int32 currentPos, ScriptFunction func, String scriptExtract)
   at AGS.Editor.ScintillaWrapper.GetListOfLocalVariablesForCurrentPosition(Int32 currentPos)
   at AGS.Editor.ScintillaWrapper.FindLocalVariableWithName(Int32 startAtPos, String nameToFind)
   at AGS.Editor.ScintillaWrapper.GetFinalPartOfExpression(Int32 currentPos, ScriptStruct& memberOfStruct, Boolean functionsOnly)
   at AGS.Editor.ScintillaWrapper.ShowCalltip(Int32 openingBracketPos, Int32 parameterIndex, Boolean functionsOnly)
   at AGS.Editor.ScintillaWrapper.scintillaControl1_DwellStart(Object sender, DwellStartEventArgs e)
   at Scintilla.ScintillaControl.DispatchScintillaEvent(SCNotification notification)
   at Scintilla.ScintillaControl.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)
#2448
Certainly..
http://www.bryvis.com/roadracer/sound15.ogg

Since the problem still occurs even though it's longer than a second, I'll try pumping up the silence to 3 seconds in length.
EDIT:  Still with no luck.  I wouldn't doubt if it's my programming.. I'm like a monkey at a keyboard.   :D
#2449
Critics' Lounge / Re: vault dweller
Sat 20/12/2008 19:19:10
Khris:  I'm not a big fan of the scrunched up looking face, but the shading on the body looks absolutely great.
If that could be animated smoothly, it would be one hell of a game sprite.
#2450
Progz gave you some advice that can be very important to pixel art characters.

Two of them were:
No double pixels.
Avoid using shades that are very similar to the main color.  It's nearly impossible to notice them, making them useless to even do.

I noticed you have LOTS of double pixels in your new character.


See here.  The double pixels in 'orange' make the character look very low res and blocky.  Especially if the character is mixed with double pixel outlines and single pixel outlines; in 'blue'.

I honestly didn't even know the character had a light shadow for facial hair until I was editing the image.
The dark shadows on the coat almost match the dark outlines.  Therefor making the outlines appear VERY bold and giving no sense of shadow.

I agree that out of all the characters I've seen you draw, this is a very big improvement.  I'm no artist, nor pixel artist, but it's pretty simple to follow easy guidelines.

Here's an edit (to keep your style intact--so you can see and understand the difference):


I made his face wider by 1 pixel.
Changed the bright color of his undershirt.
Removed the double pixels.
Changed the close shades of colors to more noticeable ones.
And changed his facial hair color and added a brown outline for it.
To make his hands look like they were in the pockets: added brighter color on top and darker on bottom.
EDIT: Forgot to mention I lowered the location of his hands making his arms longer.

Keep practicing, you are getting better.
#2451
Quote from: KhrisMUC on Mon 15/12/2008 14:08:23
You don't need hotspots.
Keep a 2-color copy of the current background in a second DrawingSurface, then erase terrain on both the actual screen and the copy.
To check if there's terrain or not, use DrawingSurface.GetPixel.

That sounds like a good idea.
Thanks Khris.  You just saved me from tons of unneeded math equations. :P
#2453
Is it possible to edit Hotspots or Walk-Behinds in-game?

I need to make destructible terrain similar to the Worms2 game.  Where the shotgun in that game can destroy circular sections of the side scrolling background and allow the character (worm) to walk on what was once the mountain.

I'm planning on making a Worms2 type game, and without this I don't really want to attempt it.



Now IF the Hotspots can't be manipulated with the drawing surface feature, I've been thinking about creating an array that stores the x and y coords and radius of where the weapon had hit the surface.  Then I would have the global script check to see if the character is within any of the slightly larger 'square' sections of the circles radius (with a square you wouldn't have to do the radius calculations each and every time even if the character is no where near a damaged section of the map).  Once they are, the character would interact with the new damaged section of the background.
Now this I believe I could do, I'm just hoping someone knows of an easier way that just allows you to edit the hotspots while in-game.
#2454
Hmm.. I'm actually testing my game right now to see if all the walls are collision proof, and sadly, I've still encountered the audio segment looping just recently.  I'll try adding another second of silence and doubling any other small length looping ambient sounds I have (just in case it's the other short sounds that are causing it.  but it only happens with the one crashing sound.  And I don't believe it's corrupt in anyway, they are all OGG's too.  :-\).
#2455
Do a: Hermit who likes cheese, who makes bouncy balls with his belly-button lint and tries to sell them on Ebay.
#2456
Yeah, I agree with your feelings of redoing the backgrounds.  You obviously have noticed your flaws from when you first drew them, so consider these practice.

I really really don't like the bookshelf being in the foreground.  It literally leaves the player wondering where they are until they see the characters hair poking up.  It's a very bad layout/viewpoint.  It wouldn't be so horrible if the shelf was half as high, but it's still not great being there.  If it were on the far wall the player would have something to interact with.  A box of toys, books, some trophies, etc.

Your art style on the backgrounds don't match the poster at all.  It looks like something drawn from a 5 year old with MS Paint, so yes, go with your feelings on scrapping the poster :).

I know you like the GUI, but it's really way too distracting.  I personally think it's too high, but sometimes people use the GUI to help them draw less for each background.  Whichever suits you. :P
I'd prefer a black solid bar for the GUI.  Check out  Cure for the Common Cold, nice small black GUI.  It's simple, and looks very professional.

I usually try to avoid changing the perspective from one room to the other.  But sometimes you need to change things up depending on the background.  If I were to map out the design for the rooms, the character going from the kitchen to the bedroom would be on the same perspective.  For example: In the kitchen you walk left to the bedroom, and in the bedroom you start on the right.
This may not be a rule (to my knowledge), it's just something I prefer to do to avoid confusion.

You mentioned this already.. you completely went against the vanishing points in the kitchen scene with the bedroom in the background.  It looks like it's on a 45 degree slope. 

A good thing for you to do (which I need to start doing myself) is draw the top view sketch of each room.  Quickly map it all out, then decide where you'd like the viewpoint to be.

Anyway, I like your style it would be a fun little game.  Oh and I hope you have realized by now, your character has little midget arms.  :-\
#2457
I'm using AGS 3.1.  I quickly scrolled through the 3.1.1 thread to see if there were any fixes for this (since I haven't upgraded yet).
I noticed quite often in my current game-in-production that when I play audio several times over, the game seems to hold a segment of audio and replays it over and over.

Lets explain this a little better..  My car in my racing game, when it crashes into a wall/etc I play a sound.  Using PlaySoundEx so I can control my audio (since I'm using up all the channels as is).  Whenever I crash into a wall I check to see if the channel is playing still, then stop the channel, then play the crashing sound (since that channel is also used for braking).

Well for some odd reason a segment of the crashing sound will be played over and over as though it is an ambient sound playing only a segment of the crashing audio.  But usually only if I'm repetitively playing the crash sound.

Whenever I call up the script to do this back-to-back:
  SetDigitalMasterVolume(0);
  SetDigitalMasterVolume(100);
The problem goes away.

EDIT:  Oh and the audio clip is less than 0.2 seconds.  I'll try adding a large section of silence after the 0.2 seconds of audio.

AGAIN:  Look at that.  I added 0.8 seconds of silence to the end of the audio clip making it a whole 1 second long.  And VOILA!  I crashed the car into a wall more than 300 times and nothing happened.
#2458
How about: Losing weight while playing computer games and eating super-sized McDonald's meals -- without moving ones fat ass.





Actually wait, I'd pay to read that book.
#2459
Yes, they always 'could' still follow perspective.  They could also make a cartoon character follow human anatomy down to a tee.

But it doesn't need to be.  Look at Ben there, Dan that (a game I speak of way too often for examples).  Sometimes bending the rules makes the game more interesting.  A twisted environment in a cartoon comedy game can really add to the game play.
It can help take the tension off of the graphics (especially if you're not very good in general at drawing) and put the focus on the game play and characters.

But just like you said: Just as long as you know when and how.  You obviously can't completely contradict reality and have every wall and object pointing in incredibly random directions.  Some poor person's head could easily implode while playing.   ;D
#2460
I think (or at least I believed) he was going for the Dott style graphics with non square objects and walls.
That's why I felt it was 'alright', perspective wise.  Sure the carpet (or wall) was a little off, but with the Dott style, I'll let it go.
If these are Dott style graphics, perspective on the walls and objects shouldn't matter too much just as long as it looks alright; so basically I wouldn't mind the walls being the way they are and you pull the top-left side of the carpet a little straighter.

Also the square garbage can doesn't need to follow the vanishing point since it was clearly on an angle.  Only when it's parallel to the wall should that matter.

Oh and remember, the more strict you are with perspective: the bigger a character will look while standing at the back of the room versus the front.  That is where sprite scaling comes into play.  That's one reason why I think cartoony comedy games should just ditch perspective all together.  That's my opinion though.
SMF spam blocked by CleanTalk