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

#41
Aw snap, I'm about to be beaten to the punch on the "maker of the first traditional turn-based RPG made with AGS" title (or does Asporia count?)

Nonetheless, I greatly look forward to the release of this game.

#42
Well I was born in the far west (USA), then moved to New England when I was 3 months old, and now I've been in the southwest for the past year and a half, attempting to start a life.  I guess I still consider myself to be from New England though.
#43
Thanks for taking out the letterbox option for 320x240 / 640x480 resolution games!  For a second, it had me convinced my game was messed up.
#44
Okay, so the array for native types issue is a trivial one.  Because custom structs don't have dynamic array liberties like other types, however, situations crop up where a string of 'if' and 'else if' blocks of what are essentially the same code.

Such as making tables of encounters.  Declaring an encounter struct...

Code: ags

struct PossibleEncounter{
  int EnemyParty[7];   
  int TotalEncountersInTable;
};


followed by an array of encounters to represent a table...

Code: ags

PossibleEncounter Table0[ENCOUNTERS_TABLE0];  
export Table0;

PossibleEncounter Table1[ENCOUNTERS_TABLE1];
export Table1;


...forces the creation of a function which requires a tree of 'if' statements carrying essentially the same code due to the fact that ID's of the tables are tied to the variable names instead of variables values. 

Code: ags

  if (TableID==0){
    while (i<Table0[0].TotalEncountersInTable){
      TotalChances=TotalChances+Table0[i].EnemyParty[OCCURENCE_CHANCES];
      i++;
    } i=0;
    ChanceTable=new int[TotalChances]; 
    while (i<Table0[0].TotalEncountersInTable){
      while (j<Table0[i].EnemyParty[OCCURENCE_CHANCES]){
        ChanceTable[CTIndex]=i;
        CTIndex++;
        j++; 
      }
      i++;
    }
  }
  else if (TableID==1){
    while (i<Table1[0].TotalEncountersInTable){
      TotalChances=TotalChances+Table0[i].EnemyParty[OCCURENCE_CHANCES];
      i++;
    } i=0;
    ChanceTable=new int[TotalChances]; 
    while (i<Table1[0].TotalEncountersInTable){
      while (j<Table1[i].EnemyParty[OCCURENCE_CHANCES]){
        ChanceTable[CTIndex]=i;
        CTIndex++;
        j++; 
      }
      i++;
    }
  }


...Although in retrospect, maybe it would have been better to have EncounterTable as the struct name instead of PossibleEncounter, which could be implemented much more simply, thus only one struct array " EncounterTable TableDataBase[TOTAL_TABLES]" would be needed...just...Damn it, why do you always have to be right? 

I'm now terrified that if I suggest dynamic struct arrays for AGS 3.1.2 I'll immediately after have an epiphany as to why its rediculously unnecessary.
#45
I tried running the game again and didn't bother with the letterbox settings.  This time, I noticed that only a certain room in the game had the letterbox mode issue... 

I loaded a 640x480 background for that room (there was no background set for that room previously), and the letterbox boxes were gone.   ???

While I'm still baffled by this behavior, I'm at least glad it won't be a problem for me anymore.  Thanks for the feedback!
#46
There's an option in General Settings that can be set to true or false now, called "use low-resolution coordinates in script".  Set that to false, and you can use high-resolution (640x400) coordinates in your script for calculations instead of low-resolution (320x200) coordinates.  (Granted, if you've already written a script that uses low-res coords, you may have a fair amount of work cut out updating your code!)

...And now your thread is listed above mine.   ::)  Me and my big mouth!  :P
#47
Hey there,

I decided to restart a project from scratch when I saw that AGS 3.1 got a final release.  The game resolution was set to be 640x480.  However, after a few days of scripting, I've noticed that the letterbox mode option in the general game settings was set to "true".  I checked it off and tested the game, but now the window displays at 640x400! 

I checked the resolution again, and it says it's still at 640x480.  I clicked on the 640x480 option from the drop-down list of resolutions just to be sure and ran the game again, which displayed a 640x480 window...with the letterbox bars there again!

Whenever I reselect 640x480, the letterbox option sets itself to "true," as if the resolution is set at 640x400...am I just being really, really stupid and missing something obvious? 

Thanks in advance for any input.
#48
Quote from: OneDollar on Wed 10/12/2008 13:05:01
Multi-dimensional arrays?

Ditto to that. 

I've been wanting to create databases for arch-typical RPG elements (monster databases, character progression, inventory, etc.) and have had to write workarounds involving long lists of definitions as a sort of "index" in place of a 2nd (and sometimes 3rd) dimension, which involves having to come up with new unique nomenclature for each index, coupled with a string of "if" statements metaphorical of an individual element of another dimension.

#49
Quote from: Grim Reaper on Tue 23/09/2008 23:52:46
1. During a battle with an enemy character's inv item which is used as weapon gets knocked out of his hands every so loops number. In between the idea is that this item is used on enemy before he has a chance to attack. The problem is that if it's currently selected inv (and cursor changed to this inv graphic) character keeps that item and everything goes t*** up! What code should I put in rep_execute to prevent that from happening?

Um...what?  ???

"During a battle with an enemy character's inv item"...It sounds like you're saying you use your item to click on an enemy's item (such as clicking on an image of your opponents sword with your own sword)?  I'd like to help, but you'll need to explain how your battle system works in more detail. 

Also, what do you mean by "everything"?  By "goes up", do you mean values of variables are increasing, or images on the screen are moving upwards?
#50
Hints & Tips / Re: Chatroom
Wed 13/08/2008 06:04:12
That was a pretty refreshing game.  I keep missing that line that prints just before the game ends and closes...could someone post it?  It's getting annoying trying to go through the game again to try and catch it.

#51
Just downloaded v1.2 and gave Dragonball Gauntlet a whirl.  I gotta say, wow.  Considering the vast array of elements that went into it, it's hard to think of it as a mini-game, especially with all the unlockable costumes (You aren't supposed to show people what they look like before they earn them though! Silly.) 

The main game seems a lot more user friendly now, considering a lot of people I showed the game stopped at the first or second level because they couldn't get past it in previous versions.  The modified first dungeon was a nice touch and made it actually challenging.  The nice shiny treasures you have now were another nice addition.  This game just keeps looking all the more complete each release!

I think the volume of a couple sound effects are too loud (footsteps and being burned, especially) but the increased volume of the dungeons with two dragons remedy that, at least for those levels. 

Anyway, as usual, awesome job!
#52
Hi,

I brokeded my blue cup. 

After adding several buttons and a label to a GUI, I had decided the label was unnecessary and proceeded to delete it.  This caused the engine to crash, leading to the engine instructing me to post the following message here:

***BUG REPORT***

Error: Object reference not set to an instance of an object.
Version: AGS 3.0.1.35

System.NullReferenceException: Object reference not set to an instance of an object.
   at AGS.Editor.GUIEditor.bgPanel_MouseMove(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.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)

***END BUG REPORT***
#53
I guess I'd have to say Snake because I worked with him on the music for Castle of Fire.  I've never met him in person.  If I had to guess though, I'd say he's a patient, fun-loving guy in general who has a general sense of how to keep a player from becoming bored. 

Also KhrisMUC and SSH for solving my scripting troubles for a card game I've not seriously worked on in a bit, mostly because my first attempt at scripting was a train wreck, one I'm struggling to remedy by drafting a design document prior to performing any actual scripting.  But that's neither here nor there.

Wow, SSH has been mentioned a lot.  Then again, I guess that happens when you actively engage in a community and help solve problems.

#54
Quote
Posted by Evil:

Got a birth certificate? I had to have mine to get my SS card in the first place. I think that an ID, even though not valid anymore, should be enough with a birth certificate.


Apparently a birth certificate is no longer any good for getting your SS Card, at least not for a replacement.  Thankfully, it looks like a birth certificate is useful to get a drivers license/state ID, so I'm trying to get that now.

Quote
Posted by Fee:

So how do you get a State ID?
And if this is the case, since you start off with neither a dirvers licence or a SS card, how did you get them in the first place if you need one to get the other??

I didn't need any ID to get my learners permit when I was 16, and of course having a learners permit is proof enough of eligibility to get a drivers license after passing the drivers test (I'm pretty sure they needed my parents ID/ID of owner of car I was using for the test though).  You slip up after that and you're f*sked, it seems.  I think they'll let you retake the test to get a new license if you have to though.

And yeah, it sucks how much lack of identity/proof of anything can screw one over these days.  You'd think they'd start utilizing DNA tests/thumbprint/etc., but then again I suppose those could create even greater flaws in the system.

Quote
Posted by SSH:

Why should we help you, can you prove you really are Hammerblade?

Quote
Posted by Andail:

Yeah, I'd like to see some sort of ID

XD Ha ha, sounds like you see my point.  here, my SS number is 666-42-1337.  Proof enough for you?  :P

Simply being able to vent some frustration here is all the help I could ask for.
#55
Now that I think about it, I don't think I could have picked a stupider place to ask this question.  Thankfully I'm too disappointed to care.

For those of you who live in the United States, I recently discovered my Social Security Card has turned up missing.  Coincidentally, my drivers license from Vermont has simultaneously expired.  Last time I went to get a replacement card, my drivers license was sufficient ID to prove my identity and have them send me a replacement card. 

Knowing this, I decided to see what my other options were:  http://www.socialsecurity.gov/ss5doc/

After inputting my info (Replacement card, adult, US born) I note that two other acceptable forms of ID are a student ID card and a health insurance card. 

"Gee willickers, I've got those ones!" 

I grab the bus to the Social Security Office several miles away from where I live, a good 20 minute trip.  After arriving, I grab a number and wait for an hour and a half before I'm called. 

I get to the desk and present my scarce identifying documents.  After pausing for a moment, the clerk informs me that my insurance card is no good.

HB: "But I was informed that a health insurance card could be used...?"
Clerk:  "That's only if you're under 18." 

Thankfully, I'm used to this sort of disappointment by now, after losing my first SS card to begin with.  I lamely offer my license, hoping the clerk won't mind (or won't notice) that the license is expired.

Clerk: "I notice that this license is expired."

Damn.  So much for that.

At this point, I'm digging through my wallet, notice my New Mexico voter's registration card I recently got.

HB: "Well, would this work?"

All of a sudden, the clerk was really short with me, as if I'd said something offensive: "Drivers license, State ID, or passport."

HB:  "Well, I don't have any of those...you have a nice day."  The clerk just continued with some work as though I was gone already.  I don't know if the clerk was afraid I'd snap on her, was angry that I tried to use an expired license, or was just an insensitive person in general, although I would hope the former is the case.  Knew I should have shaved this morning...

10 minute walk back to the bus stop, 20 minute ride, 15 minute walk home.  Over two and a half hours wasted, and I might be screwed.  This is because I need to get a social security card to get a drivers license, and I need a drivers license to get a social security card.  So on top of being stranded 2000+ away from my original home, I might not be employable if I lose my job. 

...Oh, I guess I said I was going to ask a question, wasn't I?  I forgot what it was...um...oh, wait, that was it.

Has anybody here, over 18, and is a US citizen, been able to use a health insurance card as (at least partial) proof of identity when applying for a replacement Social Security card?  I ask because I think that clerk was wrong, and wanted to get confirmation. 

Also, for the sake of general discussion, anybody else ever get stuck in one of these Catch-22 situations (you're damned if you do, and you're damned if you don't)?
#56
Wow, that bonus level is awesome!  I CAN'T BELIEVE HE PUT "THAT GUY" AS ONE OF THE GUARDS!  :o

(Now if only I could figure out how to format spoiler windows in these boards...)



#57
Quote
I think I got what you mean, now. Fog-of-war does show up on the radar, but the background of the radar-map is always going to be drawn, because it's non-static, without recalculation, which is very, very fast. The units are really quick to plot as well, so I think it's actually faster to just iterate through existing ones and draw that pixel than it is to check for each one, whether it's under fog-of-war or not... That last part is what you meant, right?

Yes, that is what I was referring to.  Well, if the units draw fast enough to justify checking each pixel for where units are on the map and drawing them, then I guess it'd be more trouble than it's worth to do an additional check for whether units are hidden by fog of war or not. 
#58
Quote from: dkh on Tue 19/02/2008 13:41:58
the problem with your suggestion (if I'm understanding it correctly) is that the radar-map has to be updated for the whole map and not only for what the player sees. Especially when units move around that are NOT in the player's view, it should show that movement on the radar-map. If you meant something else, do not hesitate to respond and clarify, please, I'm always open for ideas and I'm sure that I'm not yet doing everything in the best and most effective way.

When you say "what the player sees," you're referring exclusively to the main screen and NOT the radar at all, correct?

So are you saying there's no corresponding fog of war on the radar to that which is on the screen?  If so then yeah, what I suggested doesn't make sense at all.  However, if fog of war does show up on the radar, then I still meant exactly what I suggested.  My point is that, if the player can't see that the enemy is moving about on the radar, why waste resources updating that visual radar data to begin with? 

In any case, Khris's suggestion makes a ga-jillion times more sense than mine, so I guess it's a moot point.
#59
EDIT:  At the time of writing, I failed to notice that the radar had been fixed already:

Quote
improved radar-map (see first technical essay for information) - put short, it's not as blocky as the screens anymore, it works pixel-perfect for both units and terrain and it works faster...

My bad.

ORIGINAL POST:

Quote from: dkh on Fri 08/02/2008 21:09:52

      Okay, so I implemented this feature. And it ran slow, which is no wonder. The radar-map is 100x100 pixel sized. Every pixel on that map has to be checked against the "real" map, that means 10000 calls to a somewhat expensive function every frame. Runs at one or two fps, way, way too slow.
     

Are you sure you need to check every pixel on the map each frame?  It sounds like it would make more sense to only have the algorithm check the pixels which are within the players visible range.  Although, the only way I can think of doing that would involve writing 10000 'if' statements under the 'repeatedly execute' event.   :-X

Maybe something along the lines of:
Code: ags

//***--VISIBILITY TEST--***
//Tests all pixels, identified with values from 0-9999, for whether they're visible.

expensive function(int ID_pixel);  //Let's pretend this is the declaration of your "expensive function" mentioned  
                                                     //above.

int pixel = 0;              //Identifying value of the pixel being tested.
bool visible[10000];  //Has the visibility status of a pixel stored (thanks to a separate function).

while (pixel !=10000)  //Keep testing until the 9999th pixel has been tested
{
     if (visible[pixel] == true)
     {
          expensive_function(pixel);
     }
     pixel = pixel + 1;  //Test the next pixel
}
     


You'd still be stuck with 10000 calls by one loop, but at least only a handful of those calls would have to deal with the "expensive function."  I hope that wasn't insultingly useless of me to mention!   :-X
#60
My brother tried playing it and using the brightness adjuster, and it turns out that he could only get the slider to work in full screen mode.
SMF spam blocked by CleanTalk