Visual Entertainment and Technologies Forum

Full Version: GearCity 1.18 Progress
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
Since we're moving back to Major build only releases, this thread will become much more important.

1.18 is mainly focusing on changes to the RnD system, internal car stats, how the company and consumer AI interacts with those stats, and lots of other little goodies.

This is an extremely important build to balance out and improve game play. I can't emphasize that enough. As such I'll be taking my time to make sure things work very well. There is also a lot of tedious work, which always takes time. My current goal is February. With no minor builds to distract me, I'm pretty confident I'll hit the date.

For a nice big overview of what I'll be working on, see the first link on this page: http://www.ventdev.com/forums/showthread.php?tid=2449

(I'll try to update the Roadmap weekly.)



1.18 Change Log
-------------------------------------------------
+Fixed bug showing vehicles in unassigned engine contracts windows
+Fixed bug where factories lines do not reset after ending production of a vehicle that is still using production lines
+Fixed Fullscreen map movement bug with hardware mouse
+Fixed Duplicate car model names, along with incorrect usage dates.
+Redesigned vehicle ratings importance system
+AI component selection redesign
+AI slider behaviors redesigned
+Consumer AI ratings importance redesign
+Assisted Designer Component selection redesign
+Assisted Designer sliders settings redesigned
+Sub-component popularity index
+Manual Popularity Change
+Dynamic Fuel Popularity
+Component popularity random events now added,
+Consumers now take into consideration fuel type when buying a vehicle.
+Bought a refurbed MacMini (I'll start the Mac port soon as I get it.)
+Specific Vehicle Type Rating.
+Fixed AI factory production over maximum line limits (Should also fix the same issue with Auto Production tool.)
+Added tax expenses to two fiscal expense reports
+Fixed total expenses in two fiscal reports that had tax payments off set from actual payment dates.
+Fixed bug in office "profits" label in upper left hand screen which did include interest generated from money in bank savings account.
+Fixed Save Body bug in which the Warning label prevented the user from changing the name.
+Added a "Disable Banking Fees" Advance Game switch.
+Freed the report names so after you delete a report, you can reuse the name.
+Fixed bug in the end turn report system that didn't properly get the report information when you hit the next button.
+Fixed the bug in the vehicle demands report. If you had a vehicle that was being designed, the text would cut off from the rest of the report.
+Removed the add to end report button on reports that can not be added to the end turn reports.
+Fixed drag coefficient bug on models that have an open roof.
+Fixed a bug in the branch reports that did not reset sales per city. Thus giving too high of a sales figure.
+Cleaned up a number of text issues. (Thanks Jose!)
+Fixed bug in reserve shipping distance inheritance. You can also now change the shipping distances of any vehicles in reserve.
+Fixed bug in contract reports system that displayed contracts that were no longer active.
+Fixed bug in the clone vehicle sliders system.
+Fixed parts placement bug where if you rotated the camera to the other side of the design room, placed parts would be flipped.
+Fixed 2 possible crash points with decal flipping
+Design sliders exponential expenses
+Balanced Designed Costs
+Balanced Unit Costs
+Hypercar Design/Unit Costs penalty
+Fixed lower vehicle costs than components bug.
+RnD Windows automatically Tile
+RnD upper drop down panels now open over top of any other opened windows.
+Drivetrain stat balancing
+Engine Smoothness/Noise Rating
+Engine SubComponents Smoothness Ratings
+Valvetrains
+10 Valvetrain layouts
+SDL window mode (LINUX)
+Fuel and Induction system balancing
+Three new induction types, Turbos broken down into 10 "levels."
+6 New engine layouts
+3 New fuel types (5 Generations of Electric power)
+2 new cylinder type
+Modification to Bore/Stroke system
+Inversed design/manufacturing requirement stars
+Engine Power and Engine Fuel ratings now use specs
+Stopped Engine Fuel ratings decrease
+Boost Induction systems fuel economy.
+Removed Gearfor
+Reverse gear checkbox.
+Removed Gear Ratio Slider
+Added Low End and High End Gear Ratio sliders
+Gearbox Maximum Torque Input
+Gearbox Comfort/Smoothness Rating
+4 New Transmission Types
+Improved Aerodynamic Drag calculations
+Vehicle Specs window in body designer.
+Car Stats balancing
+Vehicle Fuel, Power, Cargo stats are now directly from specs and do not decrease.
+Vehicle Performance stats now use more specs.
+Increased Contract Cargo requirements slightly. (Vehicles are larger now)
+Fixed few minor bugs in view contract rnd GUI, will be getting a make over later.
+Combined City and Highway fuel mileage into one rating called "Combined" (Will make it easier to user selected units in the future.)
+Fixed bug in advance gearbox designer which zeroed out the number of selected gears if you change gearbox type while in the sliders mode.
+Tweaked assisted designer results for engines and gearboxes.
+Fixed a couple of bugs introduced by new features.
+Having too low of a top speed now effect sales.
+Advance/Assisted menu will automatically close when top buttons are selected.
+Minor weight adjustments to vehicles
+Fixed length/width sliders effect on engine torque
+Reduced late game year torque amount.
+Reduced bore/stroke effect on torque slightly.
+Reduced RPMs slightly.
+Adjusted SOHC and DOHC.
+Boosted Fuel Ratings
+Fixed "Ratings" button overlap in Body Designer
+Tweaked length/widths effect on maximum bore/stroke for an engine.
+Vehicle Image rewrite
+Markup and Age penalties reduced
+Factory Quality/Quantity slider improves or reduces Vehicle Quality Rating.
+Remove Vehicle Quality ratings from ratings degrader.
+Increased Dealerships effects on buyer populations.
+Improved hyper-expensive vehicle sales code
+Increased luxury and performance effect on sales of hyper-expensive vehicles
+Fixed Branch effect on AI sales numbers
+Increased Ratings effect on Consumer Buyer Rating
+Increased Quality Rating's effect on Consumer Buyer Rating
+Fixed buffer overrun when producing more than 2^32-1 worth of a single model at a single factory.
+Fixed Linux delete game
+Fixed Linux duplicated load game list
+Fixed possible division by zero in stats degrade
+Fixed smoothness issue with smoothness ratings.
+Fixed issue with AI engine sizes causing vehicles to be design without an engine thus causing insane stats.
+Fixed a bug in the licensing system that caused some new stats not to transfer.
+Redesigned Advanced Component Selection Windows.
+Visible Subcomponent Ratings
+Pros/Cons list for subcomponents
+Recommended Vehicles for Subcomponent.
+Display vehicle type ratings importance.
+Vehicle Design Warnings
+Subcomponent prototyping
+Chassis/Engine fit tool
+Designing vehicle automatically takes you to body designer
+Cancel confirmation windows in RnD
+Build Name/Marque/Completion Date windows in RnD
+Removed Length/Width effect on Max/Min Bore/Stroke
+Direct bore/stroke input system.
+Induction systems rebalanced to not give RPMs, increased torque amounts.
+Reduction of vehicle weight in later game years.
+Reduced drag slightly
+Reformulated the acceleration numbers.
+Revised Power Rate.
+Fixed bug with chassis costs making them extremely expensive in very late game years.
+Redesigned Component Modification System.
+New Model Year and Trim Cost and Time reduction.
+New Vehicle Modification GUI.
+Additional Trim Prompt
+OpenAl Software drivers
+Redesigned Assisted Component Designers
+Override sub-component Selection for Assisted Component Designers
+Select Chassis/Engine to design component to
+Redesigned Assisted Vehicle Designer
+Override Chassis/Engine/Gearbox selection in Assisted Designer
+Fixed Crash when returning to main menu
+Fixed possible divison by zero crash in stockmarket (Did not test if it resovles the issue.)
+Fixed Units sold achievement Memo.
+Fixed Memory leak with list boxes.
+Fixed Unicode file name crash. (Not tested for all languages! So let me know if you still have a problem!)
+Fixed Marketing bug using "Replace Model" autotool.
+Fixed two factory naming bugs.
+Fixed new trim estimated completion year date. Please note that the actual "built year" date for a trim is still the same as the base model.
+Player news now shows up in Manufacturer's news in the magazine.
+Combined new body style memos into one.
+Open all windows in advance designer with one button.
+Fixed Duplicate vehicle list bug
+Fixed Car Designer window popup bug
+Fixed Shipping distance calculation bug
+Fixed Car Designer slider issue.
+Optimized component/vehicle ratings and specs estimation.
+2 or 3 other minor issues.
+Fixed Wording for "Select Engine" in gearbox prototyping.
+Fixed missing combo box data in advance designer when switching from assisted.
+Adjusted player and AI component selection code.
+Slightly decreased vehicle unit costs
+Lowered starting design skills
+Fixed Trim/NewModel year timing bug
+Adjusted fuel code to account for number of gears more.
+Added an optimization warning message if you can not improve your fuel consumption anymore with designed engine.
+Fixed Label resetting bug for prototyping.
+Fixed possible crash in prototyping.
-Redesigned Licensing System.
-New Licensing system GUI
-Licensing System List Filters
-Improved AI designs
-Increased AI expansion
-Fixed no Branch Crash In Mega Menu
-Fixed Mega Menu Sell Everywhere list refresh bug
-Fixed duplicate marque listing in assisted vehicle designer
-Fixed assisted vehicle designer marque selection not working
-Fixed Possible Crash conditions with cylinderless engines when skill level is too low.
-Tweaked starting skill levels again.
-Fixed Incorrect artwork for 7 cylinders
-Fixed exact chassis/engine size bug causing nag message to pop-up when trying to design a vehicle.
-Fixed incorrect label for selecting gearbox in prototyping.
-Tweaked generic engine size in prototyping
-Fixed buffer overflow by extremely expensive chassis designs
-Fixed Nm abbreviation.
-Tweaked some of the Assisted Engine designer code to improve lag (major changes will come with the Optimizations ticket in 1.19)
-View Parts/Vehicle GUI redesign
-Research Requirements Info.
As is customary, I'll be taking the day off or so since this is a Major build. (Unless there are catastrophic bugs that I missed in this release.)
Don't get envious though, I'm going to be doing paper work. Lots of paper work. Sad

Hopefully I can get the 1.17 OpenBeta files done tonight. Start 1.18 either Sunday evening, or Monday morning. Smile
Will probably have a hot fix out tomorrow.
Here is what I took care of this evening:
+Fixed bug showing vehicles in unassigned engine contracts windows
+Fixed bug where factories lines do not reset after ending production of a vehicle that is still using production lines
+Fixed Fullscreen map movement bug with hardware mouse
+Fixed Duplicate car model names, along with incorrect usage dates.
Just set the hot fix live to the steam build. Will package the OpenBeta demo for 1.17 tonight and start on 1.18 tomorrow.
So between last night and this morning I have switched cartypes from the two variable system to all variables. What do I mean by that?

GC 1.17 and older uses what I call the "Two Variable" system. Every car type has two primary variables, such as Performance and Driveability. The consumers would look at these two variables as the most important factor when buying a vehicle. Say 10 points for Primary and 5 points for secondary. And then other values were hardcoded so if primary was Performance than Fuel would be worth 0.25 points where as Power would be 1.5 points.

The AI also had two variables, using those two variables they would select which vehicle to design.

In 1.18 this has changed.
I've taken all the primary values of vehicles, such as performance and fuel etc and applied values between 0-1 for each car type. This allows for more flexable cartypes, it allows for regional differences using the same car types. It also allows for dynamic changes in car types based on yours and the AI's actions. It improves moddablity of the game, makes the turn times faster, and most importantly it makes the consumers much more picky, realistic, fluid.

In theory of course. I still have to do testing and tweaking. Smile


I've also converted the Top 10 AI file to handle this data. Each AI company now list the primary vehicle values in their behavior code. Each variable has a range between 0-1 that is the percentage of what values it's looking for. So for example if Lumbergini is a super car company. Then they will have high values for Performance and Driveability, but low values for Fuel Economy, Safety, Cargo, and Dependability. When Lumbergini goes to parse the car type list it should be much easier for it pick out vehicle types that meet it's behavior. I've also added a "GenericDeveloper" flag for companies such as Generic Motors, to give it a more broad focus than it's behavior when developing new vehicles. This should force niche makers such as Lumbergini into very few car types with high performance/driveability, and allow Generic Companies like Forward and Toyoda to produce a broad range. The new code should be faster (again not tested yet.) which is one of my primary goals over the next few builds so that I can get us up to 600AI.

The new behavior values could also make its way into the AI's car design sliders. Not sure if I'll do that. But if so, that would make for example any SUV's designed by Catalac have higher luxury ratings, even if SUV don't need much luxury.

Anyhoo, currently working on the AI's selection of Car Types code. Should be able to get it working by tonight, I'll then run a few hundred test and tweaks to the new code using the Top 10 companies. Then I'll move on to adding these values to the top-25 AI and then the full AI xml file.
Last two days I've made the AI use the car type values and the marque's behavior values when setting sliders for its vehicle designs.

Sub marques of an AI company now use their own behaviors, and only check against cars of their own marque.

I've also extended the car type values into the assisted designer, sliders generated from the assisted designer, component selection for vehicles in the assisted designer, and sub component selection for assisted designer components. These changes still need to be ported to the AI's version of the code and tested before I can mark the relevant tickets complete.

Please note there are even more changes coming to the Assisted Designer and the AI. These are just the changes I've done for this particular task.
Ran through a few more simulations and tweaked the code some. The new system is working wonderfully. No more 800cc supercars in 1980! Smile Much less 2 cylinder motors, etc. However the game still makes a few quarky design choices like using U-8's instead of V-8s and what have you. But we'll address this with my next step. Sub-Component popularity values and new sub-components.

Also got the "Top 25" AI file working with the new system. Gives me more AI to play with during testing.


There should be a tiny hot fix coming for 1.17 sometime tonight. It only fixes clipping issues in the tutorial for people running 1024x768 on the world map.
Alright so over the last few days, I've played around with balancing the new system. I've worked in sub-component popularity values and have applied them to the selection code. It's working ok, but still needs a little bit more work. (Which is what I'm doing now.) Once I fine tune some of the results, I'll work in turnevents.xml code to allow for manual popularity adjustments and then work in popularity adjustments based on what happens in game and via random events. I should hopefully have all that finished by tomorrow evening.

I've also added the new behaviors to 33.333% of the "All AI" companies. I'll continue working on this file in my spare time off I take in the evenings.

In anyevent, marking the new vehicle ratings importance system as done. As well as sub-component popularity index. Smile

-Redesigned vehicle ratings importance system
-AI component selection redesign
-AI slider behaviors redesigned
-Consumer AI ratings importance redesign
-Assisted Designer Component selection redesign
-Assisted Designer sliders settings redesigned
-Sub-component popularity index
I've made more tweaks to sub-components stats. Also adjusted the dimensions of the AI vehicles somewhat. This morning I finished the manual component popularity adjustments code in the TurnEvents.xml file. This means that modders or my self can manually adjust component's popularity through the turn event files. Why is that cool? Well think of it like this. Natural Gas production here in the USA is booming. If it continues at this pace, it would actually be cheaper to run your vehicles off of natural gas than gasoline (petrol.) What if in 2030 natural gas starts to overtake gasoline as the most popular fuel type? We can now manually adjust it to simulate that.

On top of that I've also implemented dynamic popularity changes for fuel types. The more vehicles designed using a certain fuel type, the more popular it will become, likewise, the less a fuel type is used, the less popular it will become.


I still have to work in popularity random events, and get the consumer AI working with the fuel type popularity. Which is what I'll do after "lunch."

-Manual Popularity Change
-Dynamic Fuel Popularity
-Component popularity random events now added,
-Consumers now take into consideration fuel type when buying a vehicle.
-Bought a refurbed MacMini (I'll start the Mac port soon as I get it.)

I'll work on AI behavior files for next few hours. Later tonight I'll start on the "Specific Vehicle Type" rating code. Smile More details on that after I implement it.
One of the major things to trip up most new users (and some long time players) is our "Overall Rating." The Overall Rating was designed to be an overall rating of the car in general. The perfect vehicle so to speak. This had no baring on how good of a specific vehicle type that model was. For instance, you might make a great minivan. But overall it's not that great of a vehicle.

The major issue with this was people were directly comparing the overall ratings instead of sub ratings for vehicle types. Using the Minivan for instance, you might have maxed out your performance rating thus giving you a higher overall rating than your competition. However minivan buyers don't care how well their vehicles perform. So while your competition might have a lesser overall rating. If it has higher ratings than you in specific areas such as cargo, it would actually outsell your minivan.

To resolve this issue I have implemented what I call "Type Rating" this rating is specific to your vehicle type and can be directly compared to other vehicles of the same type. It is specifically weighted to the new multi-rated system. Demographics, marketing, image, manufacturing quality and other data do not play a factor into this. It is purely off the merits of the vehicle. It also has no impact on sales, as the rating is generated from part of the consumer AI code it self.

So far I have included this rating in all lists. I'll go over and add it to the RnD GUI (along with some other new features) and have it influence magazine articles in the very near future. It should also be mentioned, we'll be adding a similar system to the components designers to help you design the best components.


We've had an influx of new faces here, as such there has been an influx of new bug reports. I'm going to take the next day or two to take care of as many of these as I can so they don't pile up. Then I'll get back to RnD fixes for 1.18. Currently the trac shows us at 9% complete. But there are a good number of tickets that will not take much more than a few minutes for me to do. So we're more around 15% Smile


-Specific Vehicle Type Rating.
Started knocking out some of the bugs that have been recently submitted to me. I'm about halfway through. I'll do another day of purely submitted bug fixes before I go into my normal Sunday/Monday routine and back into 1.18 features.

-Fixed AI factory production over maximum line limits (Should also fix the same issue with Auto Production tool.)
-Added tax expenses to two fiscal expense reports
-Fixed total expenses in two fiscal reports that had tax payments off set from actual payment dates.
-Fixed bug in office "profits" label in upper left hand screen which did include interest generated from money in bank savings account.
-Fixed Save Body bug in which the Warning label prevented the user from changing the name.
-Added a "Disable Banking Fees" Advance Game switch.
-Freed the report names so after you delete a report, you can reuse the name.
-Fixed bug in the end turn report system that didn't properly get the report information when you hit the next button.
-Fixed the bug in the vehicle demands report. If you had a vehicle that was being designed, the text would cut off from the rest of the report.
-Removed the add to end report button on reports that can not be added to the end turn reports.
-Fixed drag coefficient bug on models that have an open roof.

Received a mac mini today, set it all up, and got codeblocks running. I should have a port started sometime next week. Smile
-Fixed a bug in the branch reports that did not reset sales per city. Thus giving too high of a sales figure.
-Cleaned up a number of text issues. (Thanks Jose!)
-Fixed bug in reserve shipping distance inheritance. You can also now change the shipping distances of any vehicles in reserve.
-Fixed bug in contract reports system that displayed contracts that were no longer active.
-Fixed bug in the clone vehicle sliders system.

I've got a few Linux bugs to look into, as well as finishing up the all AI behavior files for our new system. That will be my weekend. Hopefully Monday evening I can get back to 1.18 specific features.
-Fixed parts placement bug where if you rotated the camera to the other side of the design room, placed parts would be flipped.
-Fixed 2 possible crash points with decal flipping
*** MISSED A POST YESTERDAY ****
So yesterday I rewrote a little bit of OIS's mouse handling code, and got it working a little better on Linux.

However there are still issues with the window management code and the keyboard. Seems like it's an uphill battle. So this morning I started a preliminary attempt at porting the game to SDL2 on Linux only. (There are issues with SDL2 and windows which is why I did not want to do this in the first place. It means maintaining two majorly different versions of the same code.)

If it works, I should hopefully have issues caused by desktop environments and keyboard focus solved, however the Linux build will become more of a pain to update. Which means if we ever go back to a minor build release system (as we did between 1.14-1.17) the Linux client will not be kept up to date. But since we've switch back to major updates only system that shouldn't be a problem.

I'll keep you guys updated with the progress.
**************************************

Todays:

***************************************

So I spent most of today porting the Linux build to the SDL2 window manager. I got it rendering inside of an sdl2 window now. I have quite a bit more to do to this for it to be fully functional. But I can say with 90% certainty that 1.18 will be using SDL2 in Linux.

This extra work at fixing Linux issues means I have made no progress on the OSX port. Sorry.


Tonight I started working on the exponential sliders. Which means unit and design cost rise at a faster rate the closer you get to full and at a slower rate the closer you get to empty. This means expensive cars will become a lot more expensive and cheaper cars will not as much of a cost benefit to medium quality cars. I have finished the chassis. I still have engine, gearbox, and vehicles to do. I should have them done in the morning. I'll use this to jump into costs, add a few more sub-components and tweak a few that we have.
All RnD sliders now effect unit costs and design costs exponentially. This means for instance, having a slider all the way full is 3 times more expensive than having it halfway. It also means that the cheapest stuff has dimensioning returns.

I still need to go through and tweak design and unit costs for 1.18.

-Design sliders exponential expenses
I've finished RnD cost balancing for now. It took me a couple of days to do it, but it involved quite a bit of testing, tweaking numbers, testing more, etc.

As mentioned before, sliders have become exponential to design and unit costs. I've also now balanced out these costs keeping them within historical ranges while using the same formula for the entire 120 years of (currently) active gameplay.

I've included a new "Hypercar" tax to the sliders. This is a large value multiplied by the sum of your sliders to the power of 4. (sliders^4) This adds additional rapidly increasing costs to "perfect" designs while not having much effect on designs less than 70% perfect. This means no more $15,000 perfect super cars in 1980. If you're going to make a McLaren, you'll now have McLaren unit costs of $300,000 in 1980s easily. Wink

Sometime later this build I believe I'll make a way for you to "adjust" the design budget at the cost of ratings and design time. This will allow you to run a budget supercar company for instance, but at a lower cost without killing your specs.


I've also fixed a bug allowing for vehicle costs to be lower than the costs of the components.

I'll now be moving to adding new sub-components, such as valved engines, tweaking existing components, and fixing cylinder-less sub-components such as wankles and electrics! Smile

AI files are 50% finished with the new behaviors.

Things should start moving a little faster, as balancing is very very very time consuming (I've made at least 1000 components the last 2 days ~,~Smile


-Balanced Designed Costs
-Balanced Unit Costs
-Hypercar Design/Unit Costs penalty
-Fixed lower vehicle costs than components bug.
-RnD Windows automatically Tile
-RnD upper drop down panels now open over top of any other opened windows.
Our original plan was to combine fuel types with valvetrains. However when I started working on this stuff this morning, I noticed that the list could grow rather large if I include all the different variations of valvetrain systems. On top of this every ICE fuel can be used with most forms of valvetrains systems.

So instead I implemented valvetrain as its own sub component of the engine. Not only do we now have valvetrains, but different configurations there of. We have moved 2 stroke fuel type to valvetrains system thus allowing you to have 2-stroke diesel engines for instance. I believe with the redesign of the sub-component selection GUI that I have planned, we won't be adding in any additional complexity to the system while providing even more customization and difference to the game.

Valvetrains are limited to engine layout. Which means the soon to be reimplemented electric and wankles won't be effected.

Drivetrains have been rebalanced, FF, MF, RMR, RR, F4, M4, and R4 have all received a boost. Specially the 4 wheel drive variants and FMR. FR has been nerfed, and if you're weird enough to use RF, it remains the same.

I've also added in an engine smoothness/comfort rating to engines, layouts, cylinders, fuel, and valves. These will play into a vehicles luxury and comfort ratings due to vibration and noise factors.
I still have to create the GUI for the engine smoothness, as well as generate the ratings. I also have to add in the valvetrain effects to the ratings and add text to the about and anytime fuel type is mentioned, but this is a much simpler process than what I have done all day today.

I'll finish up the final bits to the smoothness and valvetrain code next. Should be done by tomorrow afternoon. Then I'll look at adjust/balancing fuel types and adding/balancing to the induction systems. Saturday-Monday will mostly be SDL2 implementation in Linux, although I will probably get a few hours in the late night to work on 1.18.

-Drivetrain stat balancing
-Engine Smoothness/Noise Rating
-Engine SubComponents Smoothness Ratings
-Valvetrains
  • Two Stroke
  • T Head
  • L Head
  • F Head
  • I Head
  • SOHC
  • DOHC
  • Poppet Valve (For Radials)
  • Sleeve Valve (For Radials)
  • None (For Wankles & Electrics)
Pages: 1 2 3 4 5 6 7