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

#1
Quote from: CaptainD on Fri 26/06/2020 11:37:01
Quote from: proximity on Fri 26/06/2020 03:48:19
Hi CaptainD, I'm glad that you solved your problem. Do you have any questions about leaderboards? At first, I thought that it was an exciting feature and put it in my game, then I realized players actually don't care about leaderboards. Only 5% of players have registered themselves into leaderboards in my previous game. I still think it's a cool feature though :)

I haven't released the game on Steam yet (and am likely to only get a handful of players anyway), so I have no idea how much interest there will be, but the particular game I'm working on lends itself to the leaderboard idea - arcade, short gameplay rounds, high customisability so you can make the game easy or much harder (the tougher the setting, the higher the score multipliers etc).  So will have to wait and see...  I'm not aware if the player has to do anything besides have a Steam account for the scores to upload, but will cross that bridge when I come to it!

I did alter the code based on recommendations by Denis (AGS user "Problem") to repeatedly attempt connection to the leaderboard in case it didn't sync properly the first time, I will post the code later in case anyone finds it useful.

Hope your games using the Leaderboard code eventually have more players register to use it!

I did 3 seconds loops of uploads on repeatedly_execute_always while CurrentLeaderboard isn't null. When the game calls UploadScore, it has always uploaded the score for the first time but there is no harm using repeatedly_execute to make sure. The plugin is well optimized and never slows down the engine even if you call it every loop. The only thing bothers me is when Steam Overlay is active, the mouse still controls the game cursor so I can't move the windows cursor over Steam UI.
#2
Hi CaptainD, I'm glad that you solved your problem. Do you have any questions about leaderboards? At first, I thought that it was an exciting feature and put it in my game, then I realized players actually don't care about leaderboards. Only 5% of players have registered themselves into leaderboards in my previous game. I still think it's a cool feature though :)
#3
Thanks Crimson, I've just tested it and it worked  :smiley: Should I follow a similar logic for button GUI with grid formula? Bind buttons to a helper array? Anything different?

https://ibb.co/ZdMJ8jy
#4
Code: ags
int Quest[5];

// Adding quests

ListBox.AddItem("Quest3");
Quest[3]=ListBox.ItemCount; // Quest 3 = 1
ListBox.AddItem("Quest1");
Quest[1]=ListBox.ItemCount; // Quest 1 = 2
ListBox.AddItem("Quest5");
Quest[5]=ListBox.ItemCount; // Quest 5 = 3
ListBox.AddItem("Quest4");
Quest[4]=ListBox.ItemCount; // Quest 4 = 4
ListBox.AddItem("Quest2");
Quest[2]=ListBox.ItemCount; // Quest 2 = 5

// Removing Quests
Listbox.RemoveItem(Quest[5]-1); // removing index 2

// After removing, Quest 4 and Quest 2 indexes get re-numbered. How do I tell the engine that Quest[4] and Quest[2] must also get re-numbered?
#5
Quote from: Crimson Wizard on Sat 09/05/2020 21:26:26
Quote from: proximity on Sat 09/05/2020 20:24:10
1- I want to create an RPG game that has hundreds of main and side quests. I must use a button GUI for quests because I reserved 300 inventory items for collectibles. It doesn't have to be a scrolling GUI because maximum 10 quests may be active at the same time. I thought listbox GUI should do it but when removing an item from listbox, remaining items' indexes change and it makes them impossible to track anymore. And also when the player clicks a quest, it should modify another GUI label for quest description. That's why quests must be GUI buttons.

This is a universal issue with interfaces, as in game players may want to also sort or filter quests, so the common solution is to not rely on list item index, but somehow bind a list item to data (quest in your example), or provide a conversion between list index and an index of a data.

As a quick example, if you have an array of quest names or structs, then you could have a second array telling how listbox items correspond to these quests. When you change the listbox, you also adjust this helper array.

I'm lost here :) Because when adding an item to listbox we define a string, but when removing an item we point index number as int. I can't understand how we can connect anything with them as listbox items are somewhat obscure.

Here is the line from official help : "NOTE: Calling this function causes other items in the list to get re-numbered, so make sure you don't keep around any references from ListBox.SelectedIndex and related functions while using this command."

#6
Quote from: Snarky on Sat 09/05/2020 20:52:00
If you can have ten quests, then you only need ten buttons. Lay them out the way they should be displayed.

Each button acts as a slot that you can "fill" with a quest. You probably want to have an array that keeps track of which quest is assigned to each button.

Also keep track of how many quests are active, and when you need to add another one, set that button to that quest, update the array and increase the count.
If you take out a quest from the middle, switch the quests that each of the other buttons are linked to one slot down. That's about it.

And just a word of warning: I have written a couple of RPG-ish engines in AGS. It involves a tremendous amount of wrangling data: setting up arrays and structs with all sorts of definitions. If you struggle with this bit, I would expect it to be an extremely challenging task for you.

How do I switch button texts when removing a quest from the middle? Should I define a string array?
#7
There are two reasons why I want this;
1- I want to create an RPG game that has hundreds of main and side quests. I must use a button GUI for quests because I reserved 300 inventory items for collectibles. It doesn't have to be a scrolling GUI because maximum 10 quests may be active at the same time. I thought listbox GUI should do it but when removing an item from listbox, remaining items' indexes change and it makes them impossible to track anymore. And also when the player clicks a quest, it should modify another GUI label for quest description. That's why quests must be GUI buttons.
2- Another GUI for collectibles such as weapons, armors, scrolls, books. Inventory items only include food, herbs, ingredients... So I need a custom GUI for special collectibles.
#8
Sorry, I didn't make myself clear. What I want to say is that I want all visible buttons sorted dynamically so there will be no space between them. When an invisible button becomes visible in the game, it will be positioned next to (or below) the last visible button. There will be hundreds of buttons so I need a logic to keep them positioned correctly.
#9
Advanced Technical Forum / GUI like inventory
Sat 09/05/2020 11:05:32
I want to create a GUI with buttons just like inventory GUI. When a GUI button is added (visible) or removed (invisible) from the GUI, remaining buttons must stay in order. What is the logic of this? Is there any algorithm for it? If so, how can I implement it with current GUI button script commands?
#10
I've just tried beta 5. Mouse speed is extremely slow, even on max speed (10.0). I don't know if this is a known issue but I just want you to know.
#11
Thank you everyone. It's out now, please lock the thread  ;)
#12
AGS Games in Production / Herd is Coming
Mon 13/05/2019 01:04:34
 :P  "Herd is Coming" is a survival RPG set in a post apocalyptic world filled with zombies. It's the story of Mike who's survived for 10 years since the outbreak.

  Ten years have passed since the outbreak, food has been decayed already. Survivors had to find another way to feed themselves, eventually they did. Desperately, they started eating zombies they killed. As time goes by, they are used to it. Now, the new world is described as the world of mutual cannibalism.

  In this ruthless world, Mike has managed to survive by travelling and scavenging continuously. However, Mike has run into less and less people over the years. Mike worries about decreasing number of survivors and he feels he has to do something about it.

  Release date : 10.06.2019. Playable demo will be available before the game release. AGS version is 3.4.1.

  For detailed information, please visit the game page on Steam : https://store.steampowered.com/app/1028740/Herd_is_Coming/















#13
Quote from: Crimson Wizard on Thu 24/01/2019 18:57:03
Quote from: proximity on Thu 24/01/2019 18:02:23
Hello. I've just tried SnowRain plugin with AGS 3.4.1. The resolution is 1920*1080, 32-bit color and game speed is 60. I had 35 FPS with OpenGL, 47 FPS with Direct3D and 60 FPS with software renderer. How is that possible? Software renderer is better than Direct3D? My graphics card is Geforce GTX 1050 TI 4GB.

This plugin is not truly suitable for Direct3D and OpenGL. We did some changes to the engine to let it run the plugin with these drivers too, but it uses a workaround. My guess is that may be slower, and the higher game resolution is the more noticeable effect it has.

Have you done any fps tests without plugin?

Without the plugin, all of them run at 60 FPS. I don't have lots of stuff in the room though. I thought Software Renderer is for low-res and low-color games. I didn't know that it's powerful enough to run an HD game smoothly.
#14
Hello. I've just tried SnowRain plugin with AGS 3.4.1. The resolution is 1920*1080, 32-bit color and game speed is 60. I had 35 FPS with OpenGL, 47 FPS with Direct3D and 60 FPS with software renderer. How is that possible? Software renderer is better than Direct3D? My graphics card is Geforce GTX 1050 TI 4GB.
#15
Quote from: Crimson Wizard on Mon 03/12/2018 17:53:27
Quote from: proximity on Mon 12/11/2018 22:53:53
Hello Crimson. There are serious problems with the engine:

* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).

I am trying to replicate this now, and it does not seem to happen to me.

Does this still happen to you? Can you tell more details about this, like -
- what is the size of the room;
- what is the actual size of character or object sprite;
- if you choose sprite, what is "Resolution" field sais in its properties?
- do you have any walkable areas with scaling in the room?

Sorry for the late response. The bug occured when I first create an object or a character in a room. After closing and reloading the project, the sprites look normal now. I tried small and big sprites. The room is a wide scrolling room, 13000*1080. Sprites are all "high" resolution on the properties. Walkable area scaling is 70% but the characters and objects don't stand on it.
#16
I checked the frames with GUI label and everything looks normal. Probably I messed something in repeatedly_execute. So forget about Char.Frame :smiley:
#17
Of course, I will check the frames with label to see If they are right and share the results. May be other things cause this. Did you change something in the global script page? I don't have deep knowledge but I feel something is not right about scripting.
#18
Okay. Here are details :

* The Room pane on the top of the window gets unselectable over some time. When you select it, nothing happens. Just a window frame that represents the Room window and its inside is blank, or not blank really, its inside is the screen of the last window you visited. It's like an error from Windows 98 era. Do you visualize what I described? If not, I can take a screenshot.

* It's not related to zooming because I tried it with 100% zoom. It's much slower than 3.4.1.

* GetWalkableAreaAt I just migrated my test project from 3.4.1 to 3.5.0 and it was working on 3.4.1. Coordinates are player.x and player.y. I think they are room coordinates?

* I can explain it with an easy example :
Code: ags
if (cChar.Frame == 35) {
cChar.ChangeView(X);
}


In this simple code, the engine doesn't wait to change the view till the frame number 35. Instead, It changes the view immediately. Whatever the the actual frame number is, the engine thinks It's 35 and executes the command. And believe me, I know what I'm doing :) I didn't test every single script command. There may be more broken scripts like Character.Frame and GetWalkableAreaAt.
#19
Hello Crimson. There are serious problems with the engine:

* The Room pane gets broken over time and you can't access it, and it's too slow, nearly uneditable.
* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).
* GetWalkableAreaAt script command doesn't work anymore. The engine knows the player is on a walkable area but doesn't execute the command.
* Character.Frame property also seems broken. Whatever the character frame is, the engine thinks it is always true.
#20
I pasted them to both patch 5 and patch 6. All drawing tools work now. Rectangle tool draws to 1 pixel right-down as you said. I think you should update these files on patch 6. Thanks for quick update :)
SMF spam blocked by CleanTalk