Todo for next version of Playership Drones.

A place to discuss mods in development and concepts for new mods.
Post Reply
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

Now that 1.6 is out, I better try to update Playership Drones very soon. I will probably stick with something very basic or simple, as my time is very limited. The new goal of Playership Drones v7 will be to simply function in 1.6. Nice features that get in the way of the new goal will be deferred for later.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

More thoughts about crew and wages:
As posted previously, crew will likely be implemented as a currency due to simplicity.

One question some of us may have thought is how will the player find enough crew to pilot big and/or many ships?

Another (silly) idea on crew: You may have read literature where elite soldiers or knights have the strength of ten (or so) men. The idea is if you find elite crew, they count as multiple crew, and their worth reflects that. That is, one man that can do the work of ten is worth ten men. Now, it can get silly if you think about it; if you have three ships, but only one guy worth ten, how do you split the guy into two or more ships? The answer is it just happens, and we (or at least I) do not care how it happens as long as we get to use our ships! Maybe that one guy has a magical cloning power that makes him worth ten or more crew.

Remember that, for now at least, crew will be treated as currency, and the game cannot tell the difference between ten men or one guy worth ten.


Previously posted was the idea that wages can temporarily quicken fire rate to match the player. Wages that the player gives to his crew are theirs to spend as they see fit. So, what would the crew spend their wages on?

Currently, your (previously unmanned) drones do not break off to repair armor by themselves because they cannot pay for armor repairs. Well, if your (manned) drones have money of their own, they can spend it... on armor repairs (and maybe other things)! One idea to try is if drones are paid, then when they have armor to fix, and they can afford the service, they will break off on their own to repair armor just like wingmen.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
TVR
Militia Commander
Militia Commander
Posts: 334
Joined: Sat Sep 08, 2012 3:26 am

One last gameplay request for PSD:

-Add rotationStopAccel to all PSD ships

Most ships with maxRotationRate > 10 are almost uncontrollable without rotationStopAccel

Here is the tentitive framework for a multi-system list drones function, it is very essential to the Fleet Command feature of the Homeworld project, since a typical game will probably deal with 100+ active drones.

List of all drones (droneList):

Code: Select all

'(
	'(objID1 nodeID1 ['status])
	'(objID2 nodeID2 ['status])
	...
)
Save using (typSetData)

droneEntry: '(objID1 nodeID1 ['status])

Update drone location/status using (psdUpdateDroneEntry (objGetID gSource)) in <OnCreate>, <OnEnteredSystem>, <OnDestroy>, and possibly <OnEnteredGate> for &baPlayerDroneBase;

These are the only times in which the location of a drone would change. Any drone that is registered in the droneList as being in the current system, but is not in the current system (or the player's hangar), can assumed to have been destroyed, and be removed from the droneList.

Also recommending automatically ascending all drones when the player gates, including the ones that are left behind, so that they can still be accessible "from a different system"

(psdGetDroneList) -> droneList
(psdSetDroneList droneList) -> droneList
(psdGetDrone objID) -> droneEntry
(psdSetDrone objID droneEntry) -> droneEntry
(psdModifyDroneEntry objID index data) -> droneEntry/Nil
(psdAddDroneEntry objID) -> droneEntry/Nil
(psdRemoveDroneEntry objID) -> true/Nil
(psdUpdateDroneEntry objID) -> true/Nil
(psdUpdateDroneList) -> true/Nil

Code: Select all

<Globals>
(block Nil
	<!--
		Description: Returns the list of all drones in the player's fleet
		Input: Nil
		Output: droneList/Nil
	-->
	(setq psdGetDroneList
		(lambda Nil
			(typGetData &unidPlayerShipDrones; "droneList")
		)
	)
	
	<!--
		Description: Sets the list of all drones in the player's fleet
		Input: Nil
		Output: droneList/Nil
	-->
	(setq psdGetDroneList
		(lambda (droneList)
			(typSetData &unidPlayerShipDrones; "droneList" droneList)
		)
	)
	
	<!--
		Description: Returns the droneEntry for a given objID
		Input: objID
		Output: droneEntry/Nil
	-->
	(setq psdGetDrone
		(lambda (objID)
			(block (droneList)
				(setq droneList (psdGetDroneList))
				
				;; Return droneEntry
				(match droneList droneEntry (eq (item droneEntry 0) objID))
			)
		)
	)
	
	<!--
		Description: Returns the index of the droneEntry for a given objID
		Input: objID
		Output: index/Nil
	-->
	(setq psdGetDroneIndex
		(lambda (objID)
			(block (droneList)
				(setq droneList (psdGetDroneList))
				
				;; Return index of objID's droneEntry
				(find droneList (psdGetDrone objID))
			)
		)
	)
	
	<!--
		Description: Returns list of all PSD ships in the current system belonging to the player
		Input: Nil
		Output: spaceObjList/Nil
	-->
	(setq psdFindDronesInSystem
		(lambda Nil
			(block
				;; @PM: Check the search criteria over
				(sysFindObject gPlayership "sF +PlayerShipDrone")
			)
		)
	)
	
	
	<!--
		Description: Sets the droneEntry for a given objID
		Input: objID droneEntry
		Output: droneEntry/Nil
	-->
	(setq psdSetDrone
		(lambda (objID newDroneEntry)
			(block (droneList cursor)
				(setq droneList (psdGetDroneList))
				
				;; Get cursor of entry with given objID
				(setq cursor (find droneList (psdGetDrone objID)))
				
				;; If cursor is not Nil, replace objID's droneEntry with new droneEntry
				(if cursor
					(block Nil
						(setq droneList (lnkReplace droneList cursor newDroneEntry))
					)
				)
			)
		)
	)
	
	<!--
		Description: Changes the droneEntry of a given objID at the given index to the given input
		Input: objID index input
		Output: droneEntry/Nil
	-->
	(setq psdModifyDroneEntry
		(lambda (objID index input)
			(block (droneList cursor theDroneEntry)
				(setq droneList (psdGetDroneList))
				
				;; Get cursor of entry with given objID
				(setq cursor (find droneList (psdGetDrone objID)))
				
				;; Get the droneEntry of objID
				(setq theDroneEntry (psdGetDrone objID)
				
				;; Change droneEntry at given index to given input value
				(setq theDroneEntry (lnkReplace theDroneEntry index input))
				
				;; Change droneList at cursor with updated droneEntry
				(setq droneList (lnkReplace droneList cursor theDroneEntry))
				
				;; Save updated droneList
				(psdSetDroneList droneList)
			)
		)
	)
	
	<!--
		Description: Adds a new droneEntry to the list of all drones
		Input: objID ['nodeLocation] ['status] ...
		Output: droneEntry/Nil
	-->
	(setq psdAddDroneEntry
		(lambda (objID location status)
			(block (droneList)
				(setq droneList (psdGetDroneList))
				
				;; Append new droneEntry to droneList
				(setq droneList (lnkAppend droneList (list objID location status)))
				
				;; Save updated droneList
				(psdSetDroneList droneList)
			)
		)
	)
	
	<!--
		Description: Removes the droneEntry of the given objID
		Input: objID
		Output: true/Nil
	-->
	(setq psdRemoveDroneEntry
		(lambda (objID)
			(block (droneList)
				(setq droneList (psdGetDroneList))
				
				;; Remove matching droneEntry from droneList
				(setq droneList (lnkRemove droneList (psdGetDroneIndex objID)))
				
				;; Save updated droneList
				(psdSetDroneList droneList)
			)
		)
	)
	
	<!--
		Description: Updates the location and status of a drone
		Input: objID ['nodeLocation] ['status] ...
		Output: droneEntry/Nil
	-->
	(setq psdUpdateDroneEntry
		(lambda (objID location status)
			(block Nil
				;; Update location if location is not Nil
				(if location
					(psdModifyDroneEntry objID 1 location)
				)
				
				;; Update status if status is not Nil
				(if status
					(psdModifyDroneEntry objID 2 status)
				)
				
				;; Return updated droneEntry
				(psdGetDrone objID)
			)
		)
	)
	
	<!--
		Description: Automatically detects and updates the location and status of all drones in the player's fleet
		Input: Nil
		Output: true/Nil
	-->
	(setq psdUpdateDroneList
		(lambda (objID index input)
			(block (droneList dronesFoundInSystem)
				(setq droneList (psdGetDroneList))
				(setq dronesFoundInSystem (psdFindDronesInSystem))
				
				;; Filter droneList for drones in system
				(filter droneList theDroneEntry
					(block Nil
						;; Check if location of the droneEntry is the current system
						(eq (item theDroneEntry 1) (sysGetNode))
					)
				)
				
				;; TODO				
				;; Case 1: In dronesFoundInSystem and in droneList: Do nothing
				
				;; Case 2: In dronesFoundInSystem but not in droneList: These must be new drones that the player just acquired, add them to droneList
				
				;; Case 3: Not in dronesFoundInSystem but in droneList: These drones must have been sold or destroyed, remove them from droneList
				
				;; Case 4: Not in dronesFoundInSystem and not in droneList: Do nothing
				
				;; Case 5: In dronesFoundInSystem and in droneList, but wrong location: These drones gated in with the player, update their location in droneList 
				
			)
		)
	)
)
</Globals>
RE: TSB
According to George's official promo materials (Map) including the Frontier region from TSB, it seems so.
https://transcendence.kronosaur.com/gui ... exm?id=449
Fiction is reality, simplified for mass consumption.
PGP: 0x940707ED, 5DB8 4CB4 1EF5 E987 18A0 CD99 3554 3C13 9407 07ED
Bitcoin: 1LLDr7pnZDjXVT5mMDrkqRKkAPByPCQiXQ
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

TVR wrote:Most ships with maxRotationRate > 10 are almost uncontrollable without rotationStopAccel
My guide is the playable drone version uses the same stats as the NPC version, if no offical playership version exists, warts and all. If rotationAccel is so fast that frames are always skipped, say greater than 4.5 on 120 facings ship, it will be capped at 4.5. Player does not need rotationStopAccel if the base ship does not have it. Player just needs to learn to let go sooner and deal with momentum on a sluggish ship, or stick with a fast ship with faster stopAccel. Consider rotationStopAccel an advantagous feature some ships like the Wolfen get.

I will examine the other example code when the time comes.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

PSD7 Progress report
* Base class is mostly done. Has much polish left to go, but I will save that for later. Some commands will probably be removed, while new ones will be added.

* Docking between drones is eliminated. Item transfers, ship naming, and ship changing are all done at the communications menu.

* Messages are defined within an entity's Language tag.

* NPC drones always leave wrecks behind (for now; need to examine Star Castle ships and others with special code that prevent wrecks no matter what). That should minimize risk of permanent item loss.

* Discovered something obnoxious: (objCredit ...) does not work on NPC ships! Implementing wages will not be so easy as I thought.

Things to experiment
* Open dock screen immediately after game start for Playership Drone game settings. Player gets to do it immediately instead of forgetting or other reason. Due to old logic, MorningStar would prevent player from accessing PSD game settings in Eternity Port.

* Personalities: I probably will not add any (unless I add an optional mod to convert stock wingmen like Volkov to drones), but the framework could be set up to accept new ones, thanks to moving text to Language tags.

* Adapt named wingmen or other unique characters as special drones. This is low priority due to time constraints, but I may attempt this as a by-product from testing personality support and other features.

What is left to do?
More than enough that I do not care to waste time thinking about it. I will answer that question for myself later.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

August is here, and commands [E]xplore and [M]ine have been added. Explore is a slightly modified version used by the standard TX3 auton. Mine is a modification of the code used by the Bit auton from the Drake Technologies mod. A drone can loot ore as it mines if it has a miners hold installed.

Since completing all features for PSD7 may take more time than I may have available in the short term, what I might do is release an alpha which, in essence, is similar to the first version of Playership Drones. PSD v1 originally only allowed the player to purchase two more standard playerships, In other words, player could only purchase EI500s, Sapphires, and Wolfens. More ships were gradually introduced until all stock ships were supported in later versions of Playerships Drones. Such an early release can give other mod developers who may rely on PSD7 in the future a peek at the code, which may change as I re-implement popular features from latter-day PSD.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

PSD7 Progress report
New virtual item implemented. This is simple data storage for ship stats. Similar idea to autons. Actually, I may try to have as much of the data correspond to the data used by autons so that modders have less things to learn.

Shipyard code rewrite started. Currently, this is the ship cheat menu, which is a simplifed version of the shipyard. It is not operational yet, but I am working on it. Once I get this working, I can adapt it for shipyards.

Comments and ideas
The more I think about it, the more implementing crew annoys me. Due to simplicity, I may not implement crew as a currency for the player; instead I do nothing about crew and assume crew as simply part of the ship. If crew is implemented as currency, it will be for stations to serve as a limit to how much ships the player can buy from them. Otherwise, crew is completely abstract and assumed (an integral) part of the ship. Base value of the ship can be 1,000 credits multiplied by crew. Your ship without anything installed is worth 1,000 credits (at least it was when I looked at Sisters' code long ago). Ships with more than one crew are worth more.

As for ships rebuilt and repaired on the field, who cannot receive crew at that moment, perhaps the simplist way to represent undercrewed ship is to be considered a noncombant and unable to use weapons effectively. If that proves not enough, then disable weapons or cripple the ship in some way. When player docks at a station, he can pay (presumably to fill the ship up with crew) to make it combat ready and fully operational.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

PM wrote:Base value of the ship can be 1,000 credits multiplied by crew. Your ship without anything installed is worth 1,000 credits (at least it was when I looked at Sisters' code long ago). Ships with more than one crew are worth more.

As for ships rebuilt and repaired on the field, who cannot receive crew at that moment, perhaps the simplist way to represent undercrewed ship is to be considered a noncombant and unable to use weapons effectively. If that proves not enough, then disable weapons or cripple the ship in some way. When player docks at a station, he can pay (presumably to fill the ship up with crew) to make it combat ready and fully operational.
I really like this idea. I like PSD6 a lot, but it feels overpowered to buy a capital ship for 1000cr + parts and then destroy everything in sight.

I'm definitely looking forward to the alpha of PSD7. A custom Wolfen will last much longer the the Explorer auton!
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

In PSD6, some ships were worth more than 1,000 if their default power was strong enough. The code for that was messy, and if I can use a simpler way, I will probably use that.

Playership Drones, despite being very fun, is overpowered if you can get a capital and/or a squadron of well-equipped ships. A player who knows what he is doing can crush everything is sight. The easiest way to stop that is to limit ship changing to trade only and prevent ship buying and field repairs. Given the feedback I received over the years, it seems people want to build up a fleet and tear up part 1. I don't blame them - I do that myself!

The alpha probably will not feature field repairs because there are too few ships that are playable. Alpha goal is to let the player change to another playership and acquire disposable wingmen. More ships, field repairs, and linked-fire weapons will come later.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

I think the changes you're making will improve the game for me. Using drones to explore systems, mine asteroids, and loot wrecks adds interesting choices to the game and removes monotony. I tend to get attached to my drones and don't want them to die (like a Microsaur?). Spending time and money to upgrade them also makes the game more interesting without necessarily making the combat part too easy.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

PSD7 Progress report
Virtual items representing ships seem to work well. The item configuration data is the same format as used by autons after they return to ship.

Ship cheat menu is functional, though unfinished. There is more polish to be done. Once stable, I will expand it for shipyards. The menu accepts a list of virtual items (representing ships) for data.

Latest experimentation involves placing the Sapphire, EI500, and Wolfen into Eternity Port. Later, I may make Hercules, Spartan, and Raijin compatible with Playership Drones.

Due to mutually exclusive adventures, Playership Drones will use base classes for ships as standard. Previously, I merged the playership and base class entities into one to make it easy for me. Not sure if types used will balloon; I will see.

Few extra playable ships for the alpha is a possibility, though not certain. It would only be few, not everything, and nothing that requires custom Domina effects or linked-fire weapons.

Recently, I made some custom images for the shield HUD. They are similar to standard images, though recreated from scratch. There are more images - twelve, and each are divided by about 10% shield hp, instead of 25%. As before, hue gradually shifts. Full is green, but hue reddens as shield takes damage.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
Arkheias
Commonwealth Pilot
Commonwealth Pilot
Posts: 95
Joined: Mon Jun 02, 2014 8:06 pm

If I may make a suggestion for default ship prices,

ship value = ship size * number of armor segments * number of device slots * number of weapon hardpoints

gives the following default prices (using PSD6 slot limits):
  • Sapphire: 992
  • EI500: 972
  • Wolfen: 832
  • EI200: 2,916
  • EI7000: 9,000
  • Scarab: 38,500
  • Ranx Dreadnought: 268,800
  • Commonwealth Star Carrier: 448,000
  • Phobos Dreadnought: 167,040
Which seems like it works out fairly well for all the ships that I've checked so far.
Cabbage Corp, the only mod with cabbages!

Please feel free to submit bug reports or issues related to the Cabbage Corp mod on the GitHub page, the forum thread, in a private message or even on the Xelerus page. Suggestions are fine too.
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

@ Arkheias: I will probably use (and stick with) the Sisters' method of determining ship value due to consistency, with one possible exception: not counting items that cannot be removed. For example, Constellation's auton bay. Reason: If Constellation is available, and the auton bay gets counted (which is worth almost 20,000 credits), there is no reason to start with anything other than Constellation, then change to another ship player want to pilot. Not doing that for easy money is stupid, and I will try to stop that. Since capitals, or most ships for that matter, are not playable with the planned alpha release, I do not need to worry about crew and base ship value (of 1,000), for now.

Now then...

PSD7 Progress report
Cheat menu is mostly finished. Next to do is to debug and clean up everything that has been done so far, assemble the necessary image resources, and get it ready for an alpha release. I may try to add shipyards but time to work on PSD is a luxury at the moment.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
Watch TV, Do Nothing
Militia Captain
Militia Captain
Posts: 803
Joined: Sun Feb 05, 2012 12:22 am
Contact:

Given that the scope of this mod has expanded quite a lot since the initial release, have you considered renaming it to better reflect what it currently represents?
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

Playership Drones will still be recognizable as it is (features missing, notwithstanding), and I might as well keep the name. Playership Drones has become well-known in the community.

Maybe one day, when George implements official ship changing, unlockable ships, and maybe fleet building (in non-pilgrim adventures); Playership Drones may become obsolete and be retired; but I do not see that happening anytime soon.
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
Post Reply