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.


Messages - krakp

Pages: [1] 2 3 ... 5
1
The X-Com Files / Re: Quick question on Bravery
« on: March 28, 2024, 11:10:33 am »
This is how it worked in the original XC.

https://www.ufopaedia.org/index.php/Bravery

Not sure if Bravery was modded in any way in XCF.

3
Brutal AI / Re: Graphs notifications or improvement
« on: March 02, 2024, 09:33:42 pm »
This was new for me :-).  But I guess I would still leave your notifications to show up every 30 min summarizing the events of the last half an hour... Rather then showing them immediately after the activity is tracked

4
Brutal AI / Re: Graphs notifications or improvement
« on: March 02, 2024, 06:48:06 pm »
Started to analyze the code and found something quite interesting :-). The Graphs do NOT necessarily get updated every 30 min as written here:
https://www.ufopaedia.org/index.php/UFO_Detection#UFO_Activity_Graph

I mean - most of the time they do - but there are events that can be triggered (and increase the score) inside the 30 min interval. Take a look here:
https://www.ufopaedia.org/index.php/Scoring#Alien_Scoring

For example - the 10 points score for Terror mission creation will be granted immediately when the UFO reaches the city - not at the 30 min. Also other missions will work the same way - no necessarily on the 30 min switch. I tested it and could confirm by looking at the graphs just before and just after the Terror ship would land in the City. This was quite a surprise for me - technically it would mean that as a "Heavy Graph Reader" you would actually want to check the Graph every 5 sec to catch all the events immediately :-).

I need to think what this would mean for your notification..... whether I would want it to show up immediately or rather add up the mission score to whatever other score will be generated on the 30min and then display the notification....

If you have any opinion / idea - happy to brainstorm here :-)

5
Brutal AI / Re: Graphs notifications or improvement
« on: March 02, 2024, 12:04:19 pm »
Hey - it was definitely the QoL that brought me to this thread (and through this to OXC/BOXCE) in the first place. So I 100% agree with you.

Still - after playing with your feature (on setting #2) for some time, I realized that it is really powerful. In January it is very similar to 'graph mining' but later in the game it brings way more value than just the graph (due to granularity). I mean, with your feature one can play the game with zero radar coverage and still catch most of the UFOs.

That's what I thought it would need some balancing. And the only way I could imagine would be to count the activity (and add granularity) rather than count UFOs....

6
Brutal AI / Re: Graphs notifications or improvement
« on: March 01, 2024, 09:05:09 pm »
Technically in Graph there is not really a 1000 (or at least there is no way whatsoever to know that it is exactly a 1000). With the real value of 1000 your scale will be 1440 and your granularity 16. Meaning that no matter how much you compare, how many screenshots you take and how good your eyes are (trust me -  there was a time that I did all this :-) that's why I love your feature so much!) - you can only see values that are the multiple of 16 - this is the "pixel size".

So on the Graph you will not see a 1000 but rather 992 (16*62). This is all you will see until you reach 1008 (16*63). The values in between are technically "hidden" to you - no way to read them from the Graph.
As a "Heavy Graph Reader" in your scenario (1000 +10), what you will see is 992 switching to 1008 - however you can't possibly figure out if this was a 992+30, 1000+10 or 1007+1. Graph does not give you this info. So later in a game it may take you a few hours to "notice" a UFO flying over a busy region - in your current example, if you are at 1000, you need 4 hours (8*30min) to notice that a UFO is in the air over the region - only then the "needle" will move (you get to 1008). Your notifications on the other hand can show it immediately.

And that's exactly why I thought about 2 versions:

a) showing exactly 1000+10 in the notification (a bit "cheaty" - giving away more info than the Graph). This notification would pop up every time there is activity (so possibly every 30min)
b) showing 992 + 16 (which is exactly what Graph would be able to tell you, however it is not quite intuitive/easy to explain :-)  (this notification would pop up every time the activity crosses the "granularity" threshold - every time the Graph would move - which is possibly not as often as a)

7
Brutal AI / Re: Graphs notifications or improvement
« on: March 01, 2024, 07:33:28 pm »
Sorry, I don't understand the granularity thing. The popup shows how long UFO is present in region. This is usually a number between 1 and 20.

Try to open the Activity Graph for some of you old saves (far in the game - with a lot of activity tracked already). Notice that the Graph will be scaled differently instead of 90 on the top it will have 180, 360, etc. If you want to sell it as a QoL feature substituting the Graph analysis, you can't forget that later in the game you will not see a single point of activity on the Graph anymore. Depending on your current scale you will only notice a difference after 2 activity points (or 4, or 8, etc). So your feature gives a clear advantage here (noticing the UFO after the first point of activity) vs the Graph. That's why I meant that including the granularity (so only e.g. showing your pop up after 4 activity points are gained - of course depending on the current scale for the country/region) would be more fair / purist.

Does it make sense? :-)

8
Brutal AI / Re: Graphs notifications or improvement
« on: March 01, 2024, 06:44:09 pm »
Makes sense :-) I kind of thought that you designed it like this.

What I was considering would be 2 more options for the feature:

a) exact info from the Activity graph (so basically +N for every region/country/total whenever something should happen). Is is also a kind of "cheat" cause the graphs get less granular with the time....
b) the info from a) but with the right granularity factor. Would be the most "purist" solution but maybe not so easy to explain due to granularity.

Would this be something interesting? Should I build up a PR?

9
Fan-Stuff / Re: "Early Cydonia" challenge
« on: February 28, 2024, 10:00:36 am »
Adding a pic:


10
Fan-Stuff / Re: "Early Cydonia" challenge
« on: February 28, 2024, 09:51:05 am »
January the 1st 1999.

The challenge is ON! Exactly at 14:00 I received a report (https://openxcom.org/forum/index.php/topic,11659.0.html) of the first UFO, YAY! It was first reported over South America, so I sent out a welcome committee (my 2 Interceptors with the standard Stingrays + Cannons) to the south of Europe. One would patrol over Portugal, the other one over Italy (the very first UFO is guaranteed, I think, to arrive at the region of your base  // mine is in Łódź // , so it does not makes sense to chase it - you have better chances when you simply patrol).

Half an hour later (14:30) a second report - this time over Pacific. Since I did not quite know which direction this one would be flying into I decided to stay put and observe.

2 reports later (15:30) I had some clarity - the first UFO was already over North Africa (heading to Europe where my Interceptors were patrolling), the second one arrived over Japan - so it was heading West (from Pacific) probably somewhere into Asia. I decided to send my Skyranger in its direction (of course I first packed all the equipment and "reorganized" my rookies, so that the ones with the highest reactions can step out first from Skyranger).

At 16:30 I detected the first saucer over Spain - shortly after it slowed down a bit and I caught up with it over Madrid. However, it was extremely shy - it disengaged almost immediately after the dogfight had started and left at full speed towards the Atlantic Ocean. I kept my patrolling position over Spain (I definitely did not want to shoot it down over water) and hoped that it would come back at some moment.

And indeed - an hour and a half later (18:00) it was again over Europe (France to be exact). I caught it over Bordeaux and this time managed to send 2 Stingrays in its direction - the first one missed, the second one successfully downed it - "Ufo crash lands". YAY, Yay, yay.

In the meantime the other UFO was getting spotted over various parts of East Asia (China, Russia, Siberia). My Skyranger was already on the way, but I decided to send the 2 Interceptors in the same direction so that I get better detection coverage. And indeed around 20:00 one of my Interceptors detected the landed UFO in far-east Russia. Google Maps confirmed that the place is called Aeroport: https://maps.app.goo.gl/XHT59V25gshStFo69. I guess the Aliens must also have access to these maps - they chose their landing location very well. :-D

The additional bonus for me is that soon it will be day in here - so no need for a night mission (which without flares is usually quite a nightmare). I actually consider this very first mission, one of the most challenging in the whole game. You only have the 8 Rookies (against up to 9 Aliens), the default equipment, few smoke grenades, few rockets and most of all, nothing to make light (no flares, no incendiary ammo). If you are very lucky you might be able to put something on fire with the HE ammo of Heavy Cannon, I guess. However, you can't really depend on this. Therefore if the first very mission should be at night - it is quite a bummer :-).

In my case the UFO landed so much in the east that it will be full day before I arrive with Skyranger. On the other hand it will be still the 1st of January (the ETA says around 23:00), so I should still be able to sell the loot and use the cash for some investments before the end of the day. Since we want to go to Cydonia as early as possible, every day matters, especially at the very beginning.

So to sum up - the very small UFO is crashed over Bordeaux (I will recover it on the 2nd of Jan - there is around $500k of loot inside it) and the Medium Scout is landed in the Aeroport / fear-east Russia with the Skyranger will be arriving there any minute. Saving the game - I will come back in the next days with the report on my very first mission.

Cheers! :-)



11
Brutal AI / Re: Graphs notifications or improvement
« on: February 28, 2024, 02:12:58 am »
Since this is the functionality that brought me to this forum (and to OXC / BOXCE) in the first place (thanks a million Alpha Centauri Bear!!!) and since the UI is already fully implemented (otherwise I would have no idea how to even start), I guess I could rework a bit the logic so that we get a pure QoL feature that just shows exactly what the Activity Graphs do:

- activity for all the UFOs (also the detected ones - which might be a bit of a bummer - the current feature excludes them which is quite practical... But the Activity Graphs obviously do not exclude the detected ones, so for a purist it would make sense not to do it either).
- correct counting for landed UFOs (+2 per 30 minutes)
- including the missions (e.g Terror!)
- and the bases
- and whatever else I might have forgotten (do mods allow for activity points to be generated for other actions than in vanilla?)

Additionally (as I mentioned in one of my previous comments on this thread), the activity graphs rescale after the value goes over 90 for a country/region (they will then only show increments of 2) and with every further "doubling" (180, 360, 720, etc) each time halving the granularity. So when the activity for one of the regions later in the game goes over 720, the Graph will scale up to 1440 and only "move" when there are additional 16 activity points in the region. That's how I was considering to implement it.

I was just wondering whether Alpha Centauri Bear already considered the implementation inside addActivityAlien and decided against it for some reasons that he found out during his analysis / implementation...

Let me know guys if you see any "red flags" and whether you would like me to implement this feature in the next weeks (or whether you are already working on it Xilmi - you seem to have liked my idea :-).

12
Brutal AI / Re: Graphs notifications or improvement
« on: February 27, 2024, 09:49:24 pm »
I played a bit more with this feature and noticed that it works a bit differently than the Activity Graphs:

- it will show activity as 1 for a landed UFO (Graphs show +2)
- it will not show additional activity for a completed mission
- it will not show activity generated by an alien base, etc.

Have you considered "plugging" this functionality into the
void Country::addActivityAlien(int activity)  (AND void Region::addActivityAlien(int activity) )
functions?

This way you would really track the activity (as the Graphs do) rather than track UFOs.
 

13
Brutal AI / Re: Brutal-OXCE 8.3.0
« on: February 27, 2024, 07:29:06 pm »
A really cool concept indeed :-). Still - to me there is a high risk of creating write-only code this way, i.e. in 2 years nobody will know anymore what was meant by this pattern :-P.

I am more of a fan of good-ol' if style logic - not so pretty but still totally obvious 10 years later :-D

14
Brutal AI / Re: Brutal-OXCE 8.3.0
« on: February 27, 2024, 04:39:56 pm »
Totally makes sense - I also agree that this is fully incorrect - that's exactly why the debugger would assert here to warn us about it. So I guess it was a bit lucky that I came across it (and that I actually play/test the game in Debug mode).

For nested loops there is another trick (aside of `goto`) to exit them, `return` and lambda functions:

Wow - really cool - I was not aware that you can return this way.... This is like self executing anonymous function, right?

Anyway, personally I am a fan of easy solutions, so my recommendation would be what Xilmi suggested (and I implemented as a test). The code with lambda function is probably more beautiful but in a year from now I would not remember how it works anymore :-).

But hey - this was never my code (I just was lucky to step into the problem) so I will let you decide how (whether?) you want to fix it.

Cheers!

15
Brutal AI / Re: Brutal-OXCE 8.3.0
« on: February 27, 2024, 03:02:15 pm »
Debug deliberately crash on code like this, in Release all checks are removed (as cost a lot) and code can access invalid memory.

Totally makes sense - have not worked much with C++ compilers but kind of expected a behaviour like this one.
However, even if Release does not check for this (and thus does not immediately crash/assert), it is a kind of bug that should be fixed I think - otherwise we risk a random crash in some other part of the code that would be crazy difficult to debug.



What is this code even? It looks like he wants to prevent iterating through further facilities and thus set the iterator to facitlities.end() when the craft was found.
I'd have used a bool that I set to then check in something like "if(breakOuterLoop) break;".

Yep - this seems to be the right way to implement it:
Code: [Select]
bool breakOuterLoop = false;
// Clear slots in hangar containing craft
for (auto* fac : _facilities)
{
for(Craft *fCraft : fac->getCraftsForDrawing()) // Now, we consider a vector of crafts at the hangar facility
{
if (fCraft == craft)
{
fac->delCraftForDrawing(fCraft); // If craft is at the hangar, it is deleted
//fac=*(_facilities.end()); // Craft has been found; no more search at facilities
breakOuterLoop = true;
break;
}
}
if (breakOuterLoop)
break;
}

It immediately resolved my problem - I guess it would make sense to integrate it into BOXCE.

Thanks for the great brainstorming guys! Cheers :-)
 

Pages: [1] 2 3 ... 5