Both sides previous revisionPrevious revisionNext revision | Previous revision |
cw4:cpack:vpac_wiki_page [2023/02/27 14:00] – Performance information added Vertu | cw4:cpack:vpac_wiki_page [2025/02/14 14:57] (current) – external edit 127.0.0.1 |
---|
| |
===== VPAC CPACK pages ===== | ===== VPAC CPACK pages ===== |
* [[cw4:cpack:docs:f3d1b56c-fb68-49a9-909e-54931da7635d|VPAC Main]] | * [[cw4:cpack:docs:f3d1b56c-fb68-49a9-909e-54931da7635d|VPAC Main]] :TODO: <color #FFFF00>UPDATE NEEDED!.. ok no, MAJOR RE-EVALUATION OF ALL VPAC DOCUMENTATION ACCURACY NEEDED! -Vertu</color> |
* [[cw4:cpack:docs:0af46b44-90a2-404d-8909-749beb5df3e3|VPAC Creeper Expansion]] | * [[cw4:cpack:docs:0af46b44-90a2-404d-8909-749beb5df3e3|VPAC Creeper Expansion]] |
* [[cw4:cpack:docs:4b916d16-43fa-486f-a1c0-aac0cbcc8cea|VPAC Vertu Expansion]] | * [[cw4:cpack:docs:4b916d16-43fa-486f-a1c0-aac0cbcc8cea|VPAC Vertu Expansion]] |
==== AIR ==== | ==== AIR ==== |
* [[cw4:cmod:docs:5e8c91a3-057b-445a-af01-d1092f0e2411|Air Sac Fabricator (VPAC Creeper Expansion)]] | * [[cw4:cmod:docs:5e8c91a3-057b-445a-af01-d1092f0e2411|Air Sac Fabricator (VPAC Creeper Expansion)]] |
| * [[cw4:cmod:docs:f82d5850-d76e-4151-9939-245c5dd0970d|Light SAM (VPAC Vertu Expansion)]] |
* [[cw4:cmod:docs:6cae7a75-f751-40d9-9d48-403eeadf6080|TCML (Vertu's Creeper Buildings)]] | * [[cw4:cmod:docs:6cae7a75-f751-40d9-9d48-403eeadf6080|TCML (Vertu's Creeper Buildings)]] |
* [[cw4:cmod:docs:f82d5850-d76e-4151-9939-245c5dd0970d|Light SAM (VPAC Vertu Expansion)]] | |
| |
==== SPECIAL ==== | ==== SPECIAL ==== |
* [[cw4:cmod:docs:05b055d8-9cfd-4a14-8bcc-dffac30ce60d|LURE (VPAC Main)]] | * [[cw4:cmod:docs:05b055d8-9cfd-4a14-8bcc-dffac30ce60d|LURE (VPAC Main)]] |
* [[cw4:cmod:docs:05b746db-9ccf-484c-9a5f-5cd3d49a844f|NEXUS.IOUS V.S (Single unit CPACK)]] | * [[cw4:cmod:docs:05b746db-9ccf-484c-9a5f-5cd3d49a844f|NEXUS.IOUS V.S (Single unit CPACK)]] |
| |
==== Friendly Non-Player Units ==== | ==== Non-Player Units ==== |
| * [[cw4:cmod:docs:95cfe956-9d7d-4c4e-a00a-81c8c8b764e6|Power Suppressor (VPAC Vertu Expansion)]] {Is an enemy unit}. |
* [[cw4:cmod:docs:27ac8ff9-cc9a-4215-9f3f-d11431b5176d|Invader Emitter (VPAC Vertu Expansion)]] {mostly, but not entirely non-player} | * [[cw4:cmod:docs:27ac8ff9-cc9a-4215-9f3f-d11431b5176d|Invader Emitter (VPAC Vertu Expansion)]] {mostly, but not entirely non-player} |
| |
| |
===== Enemies typically found in VPAC ===== | ===== Enemies typically found in VPAC ===== |
| :NOTE: This is not a comprehensive list. It's only a list of units that I (Vertu) typically use. There can be and are, other units found in VPAC maps which are not mentioned in this list. |
==== Standard ==== | ==== Standard ==== |
* [[cw4:cmod:docs:95cfe956-9d7d-4c4e-a00a-81c8c8b764e6|Power Suppressor (VPAC Vertu Expansion)]] | * [[cw4:cmod:docs:95cfe956-9d7d-4c4e-a00a-81c8c8b764e6|Power Suppressor (VPAC Vertu Expansion)]] |
=== "Standard" === | === "Standard" === |
* [[cw4:cmod:docs:ecd497fe-f8ad-4bdf-9027-9adbb4ff7190|Fighter Drone (V's Skirmish Units P)]] | * [[cw4:cmod:docs:ecd497fe-f8ad-4bdf-9027-9adbb4ff7190|Fighter Drone (V's Skirmish Units P)]] |
| * [[NOT_DEFINED|Hover Tank (Corporate Pack Vertu)]] |
| * [[NOT_DEFINED|Ceiling Cannon (Corporate Pack Vertu)]] |
| * [[NOT_DEFINED|Ceiling Auto Cannon (Corporate Pack Vertu)]] |
| * [[NOT_DEFINED|Ceiling Laser (Corporate Pack Vertu)]] |
| * [[NOT_DEFINED|V-Nullifier (V-Blasters)]] |
=== Ultra Heavy === | === Ultra Heavy === |
* [[cw4:cmod:docs:26de30e2-42ea-4d3b-bfdd-b0de80e589b0|SML - Strategic Missile Launcher]] | * [[cw4:cmod:docs:26de30e2-42ea-4d3b-bfdd-b0de80e589b0|SML - Strategic Missile Launcher]] |
| |
===== VPAC performance information ===== | ===== VPAC performance information ===== |
Performance is a very high concern for this custom gamemode. Although it is somewhat renowned for being very laggy, it is actually more performance efficient than normal PAC and I (Vertu) even helped optimize LPAC performance, (especially its rebuild script), (and there for, LPAC may be more performance efficient than VPAC due to having less things in it. This only applies to the updated LPAC which has MSG buttons next to the Build Tab, like a "Pop all eggs" button. Older versions of LPAC are less performance efficient than VPAC). | Performance is a very high concern for this custom gamemode. Although it is somewhat notorious for being very laggy, it is actually more performance efficient than normal PAC and LPAC. I (Vertu) even helped optimize the more updated LPAC, (most directly, its rebuild script). VPAC however is still more performance efficient based on my very limited insight. Creeper World 4 has quite a harsh performance limit for custom assets when they make the majority of a map. |
| |
:NOTE: <color #00A0FF>The below section is liable to change as it's topic will be investigated.</color>\\ | Anyways, forget the idea that VPAC is laggy. Forget that it is unoptimized. It is very likely a scapegoat. It is by far the most performance efficient custom gamemode out there. By FAR the MAIN source of performance issue in VPAC maps was NOT custom assets but the prospect of creating a game within a game, something I learned in my particle fleet recreation in CW4. CW4 was not intended to have a modding capacity large enough to recreate games with, which is perfectly understandable. Older VPAC maps however did have performance fires which in modern times have been addressed and VPAC as of phase yellow now focuses on squeezing as much from the limited resources the game allocates for custom assets. |
For all the content within VPAC, it is actually VERY well optimized in performance cost, especially compared to other custom gamemodes like FPS. The main issue for performance in VPAC maps is the map size and use of bigger weapons like the [[cw4:cmod:docs:bc64f5d5-dd26-4b27-b040-1125b309e440|VAS]], (this will be looked into as all the units within all VPAC CPACKs are heavily optimized and performance efficient. The additional CPACKs that add custom units to the enemy defense (other than the [[cw4:cpack:docs:7f65b557-95b9-47d0-807a-5d05b1b426db|VAUs]] CPACK) seem to be the main source of performance issues). | |
| |
A performance efficient VPAC map is a map with (mostly) only **Standard** custom enemies (list of standard enemies is found in the [Standard] "Enemies typically found in VPAC" category up above) **and** either is a large map at largest (not XL which is 200x200+ {over 40,000 cells} in size) or in the case of an XL map, has mostly empty, undefended space. An example of a very performance efficient XL map is VPAC Desert Invader. | ==== Major performance milestone versions ==== |
| :WARNING: Not finished! |
| * <color #00FFFF>XXXX</color> - Blaster spamming [4rpl:commands:refreshunitloscache|RefreshUnitLOSCache]] API fixed. |
| * <color #00FFFF>v2.X.X.X</color> - Rebuild made indescribably more efficient. Flare RL replaced by vastly more optimized [[cw4:cmod:docs:0180bc05-23e5-4a48-b189-a3d8befe9322|Rocket Launcher V]]. |
| * <color #00FFFF>v2.8.0.2</color> - Various custom units no longer spam [[4rpl:commands:findunitenemy|FindUnitEnemy]] if unable to find Creeper to target. (Made to be far less performance taxing when idle). |
| * <color #00FFFF>v2.12.0.0</color> Beginning of rendering optimizations of models by rendering objects invisible when the camera is far away. Future unit models will have this considered to ensure effective utilization. |
| |
==== CW4 Computer Resource Use ==== | ==== CW4 Computer Resource Use ==== |
CW4 restricts itself to run off of a single CPU Core. It will never allow additional cores to be used for running CW4. This obviously makes sense for a simple game like CW4 but with the amount of modding support it has, here comes me (Vertu) who makes maps nearly 16MB in size, got the maximum tolerated map size lowered to 10MB, still tends to make 5-8MB maps, all while 99% of map makers makes maps less than 1MB in size. | CW4 restricts itself to run off of a single CPU Core when running units. It will never allow additional cores to be used. This obviously makes sense for a simple game like CW4 where there will not likely be hundreds of semi-complicated units. However, with the amount of modding support it has, here comes me (Vertu) who makes a bunch of custom units with dynamic functionality (and various performance inefficiencies like spamming [[4rpl:commands:getunits|GetUnits]] and [[4rpl:commands:findunitenemy|FindUnitEnemy]] though I have now began to address this obvious oversight with great success), who has many hundreds of units on a single map at times. |
| |
| From K75 (A KnuckleCracker dev/moderator): |
| "CW4 does in fact multithread where it is possible to do so (cf. the Creeper flow simulation). However the portion running units does not, since being "thread-safe'" is a complicated proposition, and it would only have benefitted limited numbers of units. Thread safety, inter-process communication and creating and creating, managing and destroying threads have a cost and one would have to know whether the savings from those would be such that it was feasible to use a thread. Many of these factors would be beyond the scope of 99.9% of map makers. It would also have burdened CW4 with an extended API and quite possibly many more bugs and vastly extended development time. All for a very limited benefit." |
| |
Also, if any map has Autopilot AI, it WILL lag as a fully functioning AI using the built in units has to do A LOT of calculations in order to actually operate. It needs to figure out how it can place units, how to use them, how to "see", how to "play", so on, so on. I also didn't make it so don't ask me for more information about it. | Also, if any map has Autopilot AI, it WILL lag as a fully functioning AI using the built in units has to do A LOT of calculations in order to actually operate. It needs to figure out how it can place units, how to use them, how to "see", how to "play", so on, so on. I also didn't make it so don't ask me for more information about it. |
| |
===== Tutorial Missions ===== | ===== Tutorial Missions ===== |
* TCML Tutorial Mission | * TCML Tutorial Mission - (OLD) |
* NO OTHER TUTORIAL MISSIONS HAVE BEEN MADE AT THIS TIME! ALL OLDER TUTORIAL MISSIONS ARE TOO OUT OF DATE AND IT IS BEST YOU DO NOT PLAY THEM! | * VPAC Testing Initiative map series. Name changes from Testing Initiative to TI starting from the 7th main mission. |
| * Testing Initiative 1&2 - Basic PAC units ([[cw4:cpack:docs:f3d1b56c-fb68-49a9-909e-54931da7635d|VPAC Main]] Units) |
| * Testing Initiative 3&4 - Creeper Units ([[cw4:cpack:docs:0af46b44-90a2-404d-8909-749beb5df3e3|Creeper Expansion]] Units) |
| * Testing Initiative 5&6 - Advanced Units (mainly [[cw4:cmod:docs:6cae7a75-f751-40d9-9d48-403eeadf6080|TCML]]) ([[cw4:cpack:docs:f9d9792a-8743-4c24-be1d-d650a78734ad|VPAC - Vertu's Creeper Buildings]] Units) |
| * Testing Initiative 6.5 (PROPER TUTORIAL) - [[cw4:cmod:docs:4d9edae8-aac2-43c7-863c-2c6667509497|Lancer]], [[cw4:cmod:docs:f82d5850-d76e-4151-9939-245c5dd0970d|Light SAM]], and [[cw4:cmod:docs:05b746db-9ccf-484c-9a5f-5cd3d49a844f|Nexus]] ([[cw4:cpack:docs:4b916d16-43fa-486f-a1c0-aac0cbcc8cea|VPAC Vertu Expansion]] & [[cw4:cmod:docs:05b746db-9ccf-484c-9a5f-5cd3d49a844f|VPAC NEXUS.IOUS V.S (Single unit CPACK)]]) |
| * Testing Initiative 6.75 - Optional challenge mission (must be on hardcore difficulty), :WARNING: VERY LAGGY! |
| * TI 7 - Full arsenal "introduction". |
| * TI 8 - Applied enemy units. Especially the [[DNE|Hover Tank]]. |
| * TI 9 - Applied defense against relentless enemy units. Introduction of special unit [[DNE|Vertu Frigate]]. |
| * TI 10 - Singularity Weapon of the [[cw4:cmod:docs:05b746db-9ccf-484c-9a5f-5cd3d49a844f|Nexus]]. |
| * TI 11 - Introduction of player-applied [[cw4:cmod:docs:27ac8ff9-cc9a-4215-9f3f-d11431b5176d|Invader Emitters]]. |
| * TI 12 - Working around void terrain. |
| * TI 13 - INTO THE OCEAN WE GO! |
| * TI 14-XY - TBD |
| |
====== Road Map ====== | ====== Road Map ====== |
- Fix things that break and add misc-things (general maintenance and refinements). | - <color #00FF00>**Completed! (Effectively)**</color> Fix things that break and add misc-things (general maintenance and refinements). |
- Add different types of starts other than landing Emitters. | - <color #00FF00>**Completed.**</color> Invader Emitters can now deploy any unit, diversifying VPAC starts. |
- Add late game units like a Battle Drone. Flying [[cw4:cmod:docs:4d9edae8-aac2-43c7-863c-2c6667509497|Lancer]] that costs a lot of power. [Can be abandoned] | - Add more enemy units. Currently we have the swarm tactic [[cw4:cmod:docs:ecd497fe-f8ad-4bdf-9027-9adbb4ff7190|Fighter Drone]], medium class [[DNE|Hover Tank]], and heavy class [[DNE|V-Nullifier]]. |
| - Add the Battle Drone. A flying [[cw4:cmod:docs:4d9edae8-aac2-43c7-863c-2c6667509497|Lancer]] that has more applicable firepower. Lancer is high fire rate, low damage. Battle Drone is low fire rate, high damage. Application TBD. |
| |
---- | ---- |