Adventure Game Studio

Community => Adventure Related Talk & Chat => Topic started by: on Sat 27/12/2003 00:31:51

Title: Benethe a Steel Sky GUI
Post by: on Sat 27/12/2003 00:31:51
I have just finished a really great Benethe a Steel Sky (BaSS) GUI that I use for my upcoming game Vreten Zero, and I couldn't find any good place to post it, so I posted it here =)

This GUI does have:
* Popup inventory at the top of the screen, for maximum use of background instead of GUI.
* Text that show what item it is that follow the cursor, instead of DotT and Indy-style, where it's a static box.
* Two-button (mouse buttons) interface! Easy to learn, easy to use.
* Changable graphics for goto-room areas/objects (arrow pointing up, down, left or right. more added easily)
* Added support to scroll your inventory with WHEEL, but as said in the tip when you check that box, it is not vital to completing the game
* Old-style 320x2?0 cursors (although easily changed to high-res)

Probably don't have:
* Perfect optimized scripting, but hey, it works 8)

Definitly don't have:
* Lensflares ;D

If anyone are looking for that kind of thing, just PM me, or say anything is this thread! (and if anyone knows where to post a GUI like this, tell me!)
Title: Re:Benethe a Steel Sky GUI
Post by: jannar85 on Sat 27/12/2003 09:38:36
Well, post in the technical forum.
If the template is below 1 MB I guess you can upload it at http://www.2dadventure.com/ags/upload/upload.html

then I can mirror it @ AD.
Title: Re:Benethe a Steel Sky GUI
Post by: on Sat 27/12/2003 21:23:20
I liked it now, http://www.2dadventure.com/ags/BaSS_template_1.0_by_BuRRe.zip so you all can abuse it  ;D

read the included .txt so you know what to do.
Title: Re:Benethe a Steel Sky GUI
Post by: prowler on Mon 29/12/2003 21:59:51
dude i love the gui; bass is my fav gui, too.

btw for version 1.1 you could try spelling "beneath" correctly :P :)
Title: Re:Benethe a Steel Sky GUI
Post by: Inkoddi on Mon 29/12/2003 22:13:48
Yes, and make it compatible with 640×480 and 320×240 resolution.
Title: Re:Benethe a Steel Sky GUI
Post by: on Mon 29/12/2003 22:23:19
prowler: thnx! hehe ok, i'll try ;) well, besides that, have you found any reason to make a 1.1? :)

Inkoddi: well, I have made it in 640x480.. it is not compatible with that? really strange.. specially since the only specified thing are the width, and it is compatible with 640x* and 320x*.. the only thing not compatible are 800x600, or at least the only thing not tested.. please PM me if you think different :)

note: it is made in AGS 2.6, and if you are using another version that might be the problem?
Title: Re:Benethe a Steel Sky GUI
Post by: Inkoddi on Mon 29/12/2003 22:45:52
ok... make a game at 640×480 resolution and move the cursor to the bottom of the screen...
voila! the game crashes!
Title: Re:Benethe a Steel Sky GUI
Post by: on Mon 29/12/2003 23:16:07
Inkoddi: Oh! Sorry, I had made a bad thing.. it only crashed with a room with "wrong" height, meening lower than 240.. noted that and thanked you for it :)

So, new link if you wanna be able to use it with all rooms:
http://www.2dadventure.com/ags/BaSS_template_1.1_by_BuRRe.zip
Title: Re:Benethe a Steel Sky GUI
Post by: Rui 'Trovatore' Pires on Thu 01/01/2004 18:36:37
I'll add it to my page, at www.freewebs.com/skimbleshanks.
Title: Re:Benethe a Steel Sky GUI
Post by: on Fri 02/01/2004 14:43:17
redruM: Wohoo! I'm once again on the web with one of my creations  ;D
Yep, the spelling is correct! Thanks a lot, can you tell me if lots of people download it then?  :D
Title: Re:Benethe a Steel Sky GUI
Post by: Rui 'Trovatore' Pires on Fri 02/01/2004 14:45:00
<laugh> I have no way of knowing. My web knowledge is only good enough to make do. But considering the hits I've been getting (thanks folks!), I think lot'sa people will see it.
Title: Re:Benethe a Steel Sky GUI
Post by: on Sat 03/01/2004 13:45:42
Good! Well, hopefully the people that use my GUI will read the readme, and tell me they are using my GUI.. hopefully.. on the other hand, I didn't release this because I wanted any money or anything, but only because there were no BaSS GUI out here hehe.. now I just wanna get home again and continue working on my game!

If I have time I might even add the "correct" options-screen to the GUI, who knows.. (I'm not using that options-screen in my game, so it would be extra work.. although it would be kinda nice to have one that is working correctly!)
Title: Re:Benethe a Steel Sky GUI
Post by: Inkoddi on Sat 03/01/2004 14:05:52
Can you make so that when you hold the left mouse button down over an inventory item it displays the description of that item below, and when you right-click on it that item is selected and the game pauses until you use it? (how it originally was in BaSS) It would be nice :)
Title: Re:Benethe a Steel Sky GUI
Post by: Duck on Sat 03/01/2004 21:33:21
Hey, looks good. I think I'll use it.
Title: Re:Benethe a Steel Sky GUI
Post by: on Sun 04/01/2004 15:16:12
Duck: great! hope you like it!

Inkoddi: Yeah, THAT is how it's supposed to be hehe.. I'll get right on it when I get home, I really wanna have the whole BaSS-feeling, and now that you point it out I know that is what was missing! Check back later for v1.2, with options-screen and correct inventory-use then hehe
Title: Re:Benethe a Steel Sky GUI
Post by: Archangel (aka SoupDragon) on Sun 04/01/2004 19:42:26
Wow, very nice work :D I'll be using this in my upcoming game Building 66 (more info on this later) with a couple of alterations to the colour scheme and a simple load-save-quit dialog. Thanks for releasing this!
Title: Re:Benethe a Steel Sky GUI
Post by: jannar85 on Wed 07/01/2004 14:12:51
Quote from: redruM on Thu 01/01/2004 18:36:37
I'll add it to my page, at www.freewebs.com/skimbleshanks.

QuoteThe page you are looking for has expended its monthly bandwidth allowance and will be frozen until more is purchased or its bandwidth is reset.

:P
Title: Re:Benethe a Steel Sky GUI
Post by: Proskrito on Wed 07/01/2004 15:14:19
great interface!  :D but there is one thing i think you could change: its about the exit arrows. The first letter that tells your system that the object/hotspot is an exit, is the 'e' character, is very usual imo. (i think i read its the most used character in english or in spanish, i dont know), so there might be some problems with it, as many words can start with er, eu, ed or el , and there could be reasons to dont want to write it in uppercase. Maybe if you changed it to something like <,$,#, or so it would avoid those problems.
Just an opinion, though.  :)

btw, if you want bass-like save/load interfaces, they are much like the lucasarts ones, i could give you the code if you want (or you could get it from the templates here (http://www.agsforums.com/yabb/index.php?board=2;action=display;threadid=6642)), so you can spend that time in other things  :)
Title: Re:Benethe a Steel Sky GUI
Post by: Duck on Thu 08/01/2004 00:36:49
One thing I'd change is the save/load/quit dealie. As it is, I have to program it so that you need to do the keyboard combination every time I want to save. It would be nice to have a menu for this somewhere.

Other than that minor issue, great job.
Title: Re:Benethe a Steel Sky GUI
Post by: Dan2552 on Thu 08/01/2004 19:59:06
bass is a great game... i wish for revolution to make a sequal. maybe someone should ask them if they can make BASS2 officially with AGS?

i will defiantly download the gui




be vigilant
Title: Re:Benethe a Steel Sky GUI
Post by: strazer on Fri 09/01/2004 01:12:01
Hi all!

BuRRe, regarding v1.0 of your BASS-Interface.
I like it a lot, but I noticed something regarding the mouse wheel:

(I just got into scripting (and really must praise the excellent help file!), so don't slap me if I misunderstand this. ;D )

Here in the while-loop of your "on_mouse_click"-function, you manually set the number of inventory items via the variable (constant?) WHEEL_NUMBER_OF_ITEMS (defined in your script header):

...
else if(button == WHEELSOUTH)   // get previous possible inventory
   {
     lastInv--;
     invOrNormal = WHEEL_INVENTORY;
     while(character[GetPlayerCharacter()].inv[lastInv] == 0)
     {
       lastInv--;
       if(lastInv < 1)
         lastInv = WHEEL_NUMBER_OF_ITEMS;
     }
     character[GetPlayerCharacter()].activeinv = lastInv;
     SetCursorMode(MODE_USEINV);
   }
...

Why?
Isn't the global variable "game.num_inv_items" supposed to be used for that?
Thing is, if you character has no inventory (yet or s/he lost it or whatever),  the game crashes of course (endless loop), unless you constantly update the "WHEEL_NUMBER_OF_ITEMS"-variable:

(ACI version 2.60.693)
Error: run_text_script1: error -6 (Error (line 235): Script appears to be hung (150001 while loop iterations without an update)) running function 'on_mouse_click'


And another (minor) thing, regarding the same part of code above:
At the beginning of the game, the "lastInv"-variable is 0 (or null?) of course, since you haven't used the wheel yet.
Now if you scroll the wheel south, "lastInv" is -1 (lastInv--;, see above).
Since "character[GetPlayerCharacter()].inv[-1]" strangely returns "4" (not "0" as expected), no inventory items appear for 2 scrolls or so until it finally returns a "0" (I checked for -1 only).

I suggest changing it to

...
else if(button == WHEELSOUTH)   // get previous possible inventory
   {
     if (lastInv > 0)
       lastInv--;
...

to prevent that from happening.

Regards
strazer

P.S.: I signed on some time ago, but didn't post in quite a while. I tried to login again to post this, but my account was gone. Do accounts get deleted after (what?) time of inactivity?
Title: Re:Benethe a Steel Sky GUI
Post by: Inkoddi on Fri 09/01/2004 12:56:50
Nine months i think if you havent posted enough
Title: Re:Benethe a Steel Sky GUI
Post by: strazer on Mon 26/01/2004 05:19:06
I have been working on this and have to correct myself here.

With the above code, when using the game.num_inv_items variable it doesn't activate the last inventory item but the inventory item that is the same number as the number of items in the inventory of course.
It just worked out that way when I tested it so I didn't notice it until recently.

So I've added the bold lines below.

...
else if(button == WHEELSOUTH)   // get previous possible inventory
   if (lastInv > 0)
      lastInv--;
   while(character[GetPlayerCharacter()].inv[lastInv] == 0) {
      lastInv--;
      if(lastInv < 1) {
         lastInv = WHEEL_NUMBER_OF_ITEMS;
         while(character[GetPlayerCharacter()].inv[lastInv] == 0)
            lastInv--;

      }
   }
   character[GetPlayerCharacter()].activeinv = lastInv;
   SetCursorMode(MODE_USEINV);
 }
...

WHEEL_NUMBER_OF_ITEMS is defined in the global script as the maximum number of inventory items there are in the game (or higher of course): #define WHEEL_NUMBER_OF_ITEMS 100

Is there an easier way to return the last (or first) item in the inventory?
It doesn't slow down or anything, I just don't like using too many loops.  :)