ACEO-16016 Contract Renewals & Negotiations

When it comes to renewing contracts, the directors put forward a negotiated contract renewal and the CEO simply has to decide whether to

  1. Sign the contract
  2. Ask for better contract with the same franchise.
    Asking for better contracts continuously will lead to the franchise withdrawing from contract negotiations.
  3. Reject the contract and look for other suitable franchises.

Thoughts?

1 Like

Yeaass…
I’d like to negotiate the contracts a bit more than just the money and the %-cut etc.
But everything you can negotiate (e.g # of seats, # of desks, size, location in airport, # of cashiers, storage place, airconditioning, walled or open, distance to toilets, distance to smoking area (has a real impact in real-life contracts) etc, every of those points you can negotiate needs an AI that can value thosepoints, sum that up and decide whether it’s worth it or not.
So I think as long as it is easy to program, it stays as boring as it is at the moment.
You want it exciting: You need a lot of developing/designing/programming effort.

1 Like

@ilios21 I love this idea !
What about, if you ask too often (as two demands too close in time, how short is determined by a simple algorithm which input how much profits they make) they can either withdraw from contract (if they aren’t making enough profits) or simply reject any possible future demand of better contract (if they make quite a lot of profits, it won’t make sense for them to simply go away).

And having the possibility to choose either contracts limited in time as in game actually, contracts where we choose ourselves how much time it will last, or simply a contract without any particular ending date.

@Titule As a programmer, those idea aren’t really long or hard to implement.
Every “number of” are really easy, as counting number of object owned by x is really easy to do, it literally require minutes, and the code is already here since it count shelves.
For “number of near” are a little bit more complex but this is just an area based counting which is quite easy to implement too.
Size, storage place (size), is quite easy as the area feature is already used for contracts, this literally require some really simple code tweaks to add it.
Aircon is quite easy too as it would be a simple upgrade to the area or an object we place, but in both case, this is as simple as the required number of shelves, for example.
Walled or open is also quite simple, you just need to check the coordinates around the shop and see if the blocks contain walls or doors or windows, with a simple Boolean to check there is at least a single door within that look, and considering those zone are rectangles only, this is quite easy as opposed to free form which would require a more complex “contour checking” algorithm.
Distance to toilets, smoking area and location in airport are the “hardest” to implement, though I don’t know their source code, but basically it can surely be done by using the pathfinding algorithm with passengers preset (as contractor goes everywhere, workers have some limitations and passengers have even more strict limitation of where they can go, but I think they all use the same algorithm with different parameters) to see the walking distance from the two other zone and from the typical passenger route.

1 Like

Exactly! This would bring the realism in contract negotiations. :smiley:

Also I thought about it latter, and there is an issue if the contract get simply removed and inaccessible for ever, because there is a limited number of contracts the devs can make, it could easily be procedural generated names and characteristics, but the icon and contract text is another story.
So what about rather a contract get unavailable for a certain amount of time ?
Would also make sense for refusing better contracts as they can’t really refuse for ever, but rather for a certain time.

This is true if you don’t have any mods installed. However, with mods, we can expand the number of contracts from the in-game ones. The ACEOMM (Airport CEO Mod Manager Discussion - #490 by EG0611) has taken care of this by adding a lot of businesses to the game.

And yes, with limited contracts or not, this is the more sensible way.

No, I didn’t mean the programming effort to determine the distance to a toilet or to count shelves.
I meant the effort to program the decision how valuable, how important is that number to the shop-renter, in other words the AI to decide what price it is willing to pay if the toilet is so far away.

And this is also a quite simple algorithm, this isn’t real life marketing decision so you don’t need a monster algorithm, and even there this isn’t the most complicated thing in the world.
Here is an example with an actual code :

And it is actually small and simple.

The algo we talk for the game don’t need to know about stock, supply, offer and demand, pricing elsewhere, passengers demographic and class distribution, ads, strategic shop location, typical flight route and time windows, time passengers have to wait, etc etc
Even the companies themselves change clearly what type of shop you want because of their pricing, reputation, onboard service and lots of other things.
So at the end, it just put a set of really simple and limited numerical values and just do some simple math.

Yes, it is possible. But I still don’t think it’s simple.
I have heard such an argumentation many times in my life and it always ended with the budget not being sufficient.
I don’t know any game out there that has a decent simulation of price negotiations, do you?
I’d love to see that and have it even in ACEO, so yes, I’ll vote for it. Just don’t underestimate it.

Well I have learn multiples programming language and I know intuitively what is possible or not, any mathematical algorithm can be coded, and if you already know the algo, its not hard to put it into code.
Programming is not a about budget, the only budget related thing is the time it take.
And well, to be honest, none actually need that, including ACEO which could get away easily with a simply numerical values blending thing, you don’t need it to be relevant for real life which make things thousands of time easier.

Mine is bigger:

  • I’m programming since 1986, all the way from assembler, imperative, functional, and logical to object oriented languages.
  • I helped designing program languages, taught compiler construction
  • I’m a certified test manager
  • I have 20+ years experience in managing international IT projects (in air cargo business)

Programming is about budget, everything takes time, and time is money - and ACEO is a commercial product.

1 Like

Could we at least find the same denominator that the question is - however easy or not to code this: Is the time doing it worth spending?
Contract renewal is rather important in my book of QoL.
Otherwise I see this discussion plummeting into who has the shiniest diploma/work or life experience to bolster his theory - a thing educated people rather should refrain from.

Nice, I obviously don’t have as much experience, I wasn’t even born in 1986.
I just learned a bit of assembler (MASM which was the first language I learned and a tiny bit of NASM), VB .NET, C and C++ (and a little bit of python too), though I never liked object oriented, I prefer good old procedural, I perfectly understand OOP but I think its a mess and not intuitive at all and require a lot of setup to add a simple little thing, while I have no issues with long procedural code which I organize in a non spaghetti formats anyway.
I also learned a bit of HTML, CSS, PHP and MySQL but I don’t know if that count as the two first are barely “programming” language, the second is really for HTML though it can do well on its own and the last one is just console commands…
What I am the most proud of is to have learned the inner working of the CPU, from transistors to adders up to cache branch prediction and other stuff.
I never did extremely complicated things (though I plan to do neural network stuff as I love it), paradoxically the most advanced/complicated thing I did was within few days of me learning VB .NET and it was a visual sorting algorithms comparison thing, I could do way better now as I learned many new useful functions and ways to do things, and I never finished it anyway.
If you are curious here it is Visual Sorting Comparison 2.rar
The “Visual Comparison” is where its all at, the main windows just sort list of numbers and “Visual Demonstration” which was supposed to highlight what part of the code was actually computed never passed the initial experimenting phase and will probably crash…
Also Quick Sort LL on “Visual Comparison” don’t work as intended and often endup switching two numbers, I tried to “translate” it from a recursive to a “less than iterative” thing where I can stop it wherever I want as its state is stored in arrays and phases (which part of the code is currently used) and basically the function is called at each timer ticks and continue to its next phase, allowing to run all those algorithms in sync, and with my limited knowledge at that time (learned recursion because I found about Quick Sort), I obviously made errors :rofl:

And well I mean when we talk about creating a small algorithm which take like 5 to 20 minutes max to code and just some adjustment to the values from time to time, this isn’t the most time and budget consuming thing.
Realistically if the code we want just need to determine a value from :
Number of nearby seats, tables, desks; area size; distance from regular pathfinding paths; cashiers; storage place; aircon; walled or opened; distance to toilets and smoking area…
All those can easily be decomposed down to percentages or booleans, each one having its own multiplier to determine how important it is (and allowing tweaks) and finally translate the final percentage of the total percentages max values (basically 100*multiplier for each things to consider) as a ingame currency value, you easily get something which can take into account all those things with more than enough realism for a tycoon game.

Agreed.
I find contract negotiation definitely a thing to look into.
Just need to trade-off how elaborate the negotiation gamepart should be and how much effort it takes to implement (and that’s design, spec, programming, testing, documentation).
I disagree with “it’s simple” and had to show my dicksize too to get heard. I put it back now.

We probably don’t think about the same level of realism for contract then.
Because if we want to do something which just feel realistic, it don’t require complex logic, but if we want to do the real life like deal, now we talk about complexity and difficulty.
The real, real life have so many variables that it may be harder to find all the relevant thing to put in the algorithm and the right exponentiation and other hyperoperation than doing the algo itself (which is still really hard and complex to design).

My point is that you don’t need it to be anywhere near functional for real life use, it just need to feel right, even if the logic would be totally not viable for real life, as long as we don’t do math to find out pattern or look into the code, we won’t notice, so a really simply, percentage per requested feature based code would be enough to feel right and as if it is really smart.

Though you probably have more complex wish than that based on what you say and I am curious to know what is your idea of this, I mean how complex you would like it to be.

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.