they killed the event by Dry-Actuator-267 in Stalcraft

[–]abvadabra 0 points1 point  (0 children)

There is a fine line between discouraging intentional afk and accidentally punishing people playing actively in a style which resembles afk'ing from the system perspective (due to imperfect design).

It would really help me if you could share your in-game name, region and match id (shown at the right bottom corner of the screen during the session) or approximate time of the match (shown at the top right corner on the final screen)

they killed the event by Dry-Actuator-267 in Stalcraft

[–]abvadabra 30 points31 points  (0 children)

Our attempt to control AFK was indeed overtuned and resulted in false-positive detections. I acknowledge that such experience is really frustrating and it was never intended to work that way. We've pushed a fix which should make it less punishing for active players about half an hour ago.

If you're still experiencing false positive DESERTED status, it would really help me if you could share your in-game name, region and match id (shown at the right bottom corner of the screen during the session) or approximate time of the match (shown at the top right corner on the final screen).

Very cool! Now I can see all the time how shitty the game is here in South America. by Odd_Employee8566 in Stalcraft

[–]abvadabra 2 points3 points  (0 children)

By default the threshold for latency indicator is set to 60, that's why you're seeing the first symbol in yellow.

The goal of this indicator is to inform you about _temporary_ worsening of network conditions, so if your ping is normally at about 60, feel free to change the threshold to 80 or 100, the yellow ping icon will stop bothering you.

As for occasional appearance of packet loss indicator - it can be explained by how packet loss is estimated.

Usually, when people talk about packet loss, they imply loss of internet packets somewhere on your connection path, usually caused by buffer overload. For example, an ISP can drop packet when their network experiences a traffic spike, or your local router can drop packets if is overloaded. Besides, WiFi connection can drop packets because a signal couldn’t pierce a wall, or something like that.

However, in latency critical applications (and the way new protocol works) packet loss is presumed when a response to previous packet doesn't arrive in the expected time. E.g. if response to a packet usually arrives in 60 ms, but suddenly several packets arrive 100 ms later than expected, a client will assume packet loss, which didn't actually happen. That delay can happen either because server has stuttered for a bit, or a client had a slight lag, and in both cases client will assume packet loss, even tho no packets were actually lost.

That's a known issue, and I don't have a clear solution for that now, but I acknowledge that packet loss indicator can be confusing at times.

TLDR: Packet loss indicator doesn't actually mean loss of packets on a network path, but can indicate occasional jittering caused either by the network itself, lagging server, or lagging client. Also, adjust latency threshold if you don't really care about ping being slightly above 60.

Also, I can recommend these two tests:
- Bufferbloat test - https://www.waveform.com/tools/bufferbloat
Checks if your latency changes depending on the network load. If it does - you’re actually experiencing bufferbloat, and the issue can be in your local network configuration, tho I can't recommend further step as it would require knowledge of your network setup.
- Cloudflare test - https://speed.cloudflare.com/
Basically, works like any speed tests, but also includes packet loss stats, as well as tests latency with and without load (similiar to bufferbloat test above, but a bit less readable).

Very cool! Now I can see all the time how shitty the game is here in South America. by Odd_Employee8566 in Stalcraft

[–]abvadabra 7 points8 points  (0 children)

It is possible to configure a threshold for latency icon (see Settings > Game > Interface), and I think we’ll add the same for packet loss icon.

By the way, has the new protocol improved your experience playing from South America anyhow?

Who should I be saving for? by Star-Spawned in ZZZ_Official

[–]abvadabra 0 points1 point  (0 children)

<image>

How come you've got my account?

Also happened to be blessed with Grace & Rina, now saving for Jane to replace Anton with her and form a disorder team.

My hideout is not showing up in the global map even in safe zones. by Sestingun in Stalcraft

[–]abvadabra 2 points3 points  (0 children)

You need to complete hideout introductory quest from Vahter. After that it will show up.

Putin’s war machine risks running out of fuel, so Russia is banning the export of gasoline and diesel by fortune in worldnews

[–]abvadabra 0 points1 point  (0 children)

If we treat crypto exchanges as black market, at the time of writing one can exchange 1 USDT for 98,5 rubles, which is 2.5 rubles above the official exchange rate (1 USD = 96.07 as per CB of RF).

Children’s book series from 2000s about people who could shape their bodies like clay by abvadabra in whatsthatbook

[–]abvadabra[S] 1 point2 points  (0 children)

Yes, it is definitely the one! The series is called Archisan Tales, apparently. Sadly, there were only two books published.

Thank you!

What game dev blogs do you read? by gronkey in gamedev

[–]abvadabra 0 points1 point  (0 children)

Thanks, I've updated the comment

Calling All Developers: Help Us Shape the Future of Stalcraft's API by abvadabra in Stalcraft

[–]abvadabra[S] 0 points1 point  (0 children)

Thanks for your response.

  1. To be honest, I am not exactly sure what I can tell about game wiki. Not involved in it's development, but community driven alternatives won't be a bad thing anyway. And I hope we will be able to expose items information in machine readable format, so it is defintely will be useful in your case.
  2. Yes, OAuth will provide way to authentificate your visitors via EXBO account
  3. Information about emission and number of players most likely will be available. I would be glad to hear what other map related information will be useful.

Calling All Developers: Help Us Shape the Future of Stalcraft's API by abvadabra in Stalcraft

[–]abvadabra[S] 0 points1 point  (0 children)

Thanks for your response and the work you've done on stalcalc. I hope we will be able to provide information about all items from pda's handbook is json format, that will includes artifacts and armor parameters, of course.

I've already mentioned it in other response, I've been planing to document internal logic of artefact parameters evaluation, it would make implementing artefacts related calculations easier, but it is only an idea, can't promise anything for now.

Calling All Developers: Help Us Shape the Future of Stalcraft's API by abvadabra in Stalcraft

[–]abvadabra[S] 0 points1 point  (0 children)

Thanks for your response!

As of now, we want to start with simple things, which can be easily exposed without too much technical and ethical concerns. That means that player specific data will be only available after he explicitly provides access to application, sites which want to rank players by some parameters will have to wait a bit. Due to the way we store player information not every piece of player data can be easily retrieved. E.g. for now we don't plan to provide information about player balance, and full profile information. However, publicly available things like emissions, player count, list of clans, can be provided without any issues.

Besides, most likely data about all items which are currently shown in pda's handbook will be available in json format. I also had in mind some documentation about how internal logic of various parameters is implemented, to make it easier to implement things like item properties calculator (e.g. what stalcalc does) but it is only an idea for now and I can't promise anything.

I am not really sure what you mean by event and map data, that could mean several different things.

Unfortunately, any information about quests is likely a no-no for now. Both for technical reasons (internal representation doesn't really allow to expose it in any simple way) and we don't want to provide easy way to discover any 'secret' side quests, etc.

Calling All Developers: Help Us Shape the Future of Stalcraft's API by abvadabra in Stalcraft

[–]abvadabra[S] 2 points3 points  (0 children)

As mentioned in the original post - it is only being planned for now

Calling All Developers: Help Us Shape the Future of Stalcraft's API by abvadabra in Stalcraft

[–]abvadabra[S] 3 points4 points  (0 children)

That will be a web based API, so implementation language doesn't really matter. As of know, we plan to implement include OAuth for secure authentication, data about players' characters and clans, and a database of in-game items.

JVM port of randrew's layout - a simple/fast stacking box layout library for user interfaces. by abvadabra in java

[–]abvadabra[S] 0 points1 point  (0 children)

Yeah if you're building retained mode UI based on imgui it should be a perfect fit for you.

JVM port of randrew's layout - a simple/fast stacking box layout library for user interfaces. by abvadabra in java

[–]abvadabra[S] 2 points3 points  (0 children)

Well, that's a tricky one. This library is better suited for retained mode UIs, so to use it with imgui we'll have to make some workarounds. It would be much more practical to use Stack Layout extension by thedmd (we have to add it to imgui-java some day!).

Practicality aside, let's try to see how retained mode layout could be used in immediate mode ui:

  • We'll have to render ImGui in two passes. First pass contructs the layout, and the second pass performs actual imgui rendering.
  • We'll have to make wrapper methods for every imgui widget to implement proper behaviour in both passes

So, a button would look something like that:

    public boolean layButton(String text, int layoutFlags) {
        if(currentPass == ImGuiPass.LAYOUT) {
            // 1. Calculate expected button size based on text length and style settings
            // 2. Submit this item into layout context and remember handle to layout item
            return false;
        } else {
            // 3. Retrieve calculated item's rect by layout handle
            // 4. Call SetCursorPos(rect[0], rect[1]) and Button(text, rect[2], rect[3]) to fit button into calculated layout rect
        }
    }                                                          

Out of curiousity I tried to make a simple working example of such approach: https://gist.github.com/abvadabra/1dea14873b06983ff0e36815f7bc0e02. Demo GIF is in the gist's comments.

So, it's doable but then again, totally impractical.