DLL Features

Here's a grid of what icons for EF's proposal might look like, with an added "Loaded" icon, which is more-or-less the same as above. I might work on another idea for that.

BugCargo.png


Empty -> Full

The two styles, as you can see, either show all the partitions all of the time, or just the one between red and green. I've done that for cargoes of 3 and 4.


:goodjob::goodjob::goodjob:

(I prefer all the partitions)


About the position, why not put it in left botom corner and move the promotion arrow to the top right?
 
Those images look great NN. I gotta run off to make dinner, so this will be brief and I'll be back in a bit.

One problem with altering the spacing is that it's a lot more work, but the bigger problem is that the ship and cargo can span across rows, splitting it and making it unclear that it's loaded.
 
This has been discussed and is an often requested feature. There are many ways to do it that I've thought of, but I haven't found the best way yet. The main issue is that to do it right I think will require a new mode. That area of the screen is pretty cramped on 1024x768.

The simplest solution would require no extra screen real estate: ALT + click a specialist puts a red X over it and removes it as a possible specialist for the city. That right there would probably satisfy 95% of the cases people want: no more damn spies. :)

I must say I see that the other way around. Right now, the system is the following (if I'm correct): you can force a specialist (or several) when the governor is on. If so, the city gets one (or more, depending what you have forced) specialists of the given type, and it will not allow any specialist of another kind that one which is forced unless all the slots are filled. There are in my opinion two problems with this implementation.
The first one is that it only works if the governor is on. Why not make it work also when the governor is off ?
The second one is that it forces one specialist of the given type. Often, I would like for example, "grow then assign only scientists specialists". But I cannot plan that ahead, since I have to force one scientists specialist from now. I have to remember to come check the city some turns after to force a scientist when it has enough food surplus.

Now, imagine that the forcing specialist system: works even when the governor is off, and does not absolutely include a specialist of the given type (in a way, the opposite of what you proposed: instead of having a "no spy" rule, you would have a "only scientists if possible" rule). What about it ? Of course, you can also combine both :p
 
The second one is that it forces one specialist of the given type. Often, I would like for example, "grow then assign only scientists specialists". But I cannot plan that ahead, since I have to force one scientists specialist from now. I have to remember to come check the city some turns after to force a scientist when it has enough food surplus.
It sounds like you want a Population Assignment Queue. You'd be able to tell the game that the next population point should be assigned to work that tile your Worker is building a Cottage on, the one after that should work this hill over here, then that farm, after which you'd have enough surplus food for the fourth to be a Scientist. Then it's time for another farm, another scientist... Just as the city screen comes up when you're done building something and don't have the next thing queued, it could appear on the turn that a population point is added and nothing was set in the PAQ.

At its most basic level, the PAQ would be stored as a list of tile or specialist IDs, which could be stored compactly. As there are only the 20 tiles and seven specialist types, a single character for each would suffice (actually 5 bits for each slot would be enough). I can envision several ways to display and manipulate the information onscreen, perhaps operating in parallel, but each one has the potential to overload an already very busy screen. So anything like that would have to be an option the user could disable, and/or only appear after pressing some hotkey/icon to make it visible.

Unfortunately, this sort of thing would require saving information that the base game doesn't record in a save file, so it might not be appropriate for BUG. One of the things BUG does for me is generate notifications on all cities that are about to, or just have increased population, so I can go check on what they're doing. That reduces the risk that the automatic assignment of new population isn't completely stupid. I can't tell how many times I've opened up a city screen to see the AI had assigned workers to a tile when another tile had greater or equal production in all three stats, like the same food and hammers but additional Commerce, and wondered how long that had been going on.
 
I'd rather not have to move icons around if I don't have to, and the upgrade arrow is in the lower left corner right now. We could put the loading indicator to the left of the mission tag, and it will only partially cover the upgrade indicator.

Another option is to replace the mission tag with the loaded cargo indicator when the boat is in a city/fort (the only place where non-cargo units could be in the same tile), and make the cargo indicator narrower (a rectangle). Just an idea.

Also I would recommend staying away from an L for the loaded indicator. Perhaps an arrow pointing down into the bucket? Or even just a square representing a box in the bucket? Unless all the languages use L for the loaded adjective (not the hotkey).

For the loaded cargo indicator, I was thinking a combination of blue and white or gray (white/gray for empty spots, blue for loaded). Blue for ocean, and because red/green is a bad combination (color blind). One in four males is color blind, so don't think it's just a few people that get screwed here. Also red/green make me think of health.

BTW, my main concern with putting the upgrade arrow over the top right is that that's where most units have their face. I find the top half of the icon to be the most expressive for determining which type of unit it is. That's why I cover the bottom half. I figure for the cargo indicator it's not as important, but if we could fit the "is cargo" indicator on the bottom center, even better.
 
Also I would recommend staying away from an L for the loaded indicator. Perhaps an arrow pointing down into the bucket? Or even just a square representing a box in the bucket? Unless all the languages use L for the loaded adjective (not the hotkey).
Anything that visually suggests that the unit is inside a boat would be helpful. Not all languages/cultures consider "Z" to be an indication of "sleeping", either, but we have that.
For the loaded cargo indicator, I was thinking a combination of blue and white or gray (white/gray for empty spots, blue for loaded). Blue for ocean, and because red/green is a bad combination (color blind). One in four males is color blind, so don't think it's just a few people that get screwed here.
You might be exaggerating a bit; the statistics I've seen are more like one in eight men, but even that is enough for it to be an issue. Any color scheme is subject to problems; blue-green and other forms of dichromacy come to mind. The Bride of Monster is personnel director at a sheltered workshop, and would be less than pleased if I weren't taking accessibility issues into account.

If I can figure out what's going on in CvMainInterface.py, I might be able to figure out how to implement something that doesn't get in the way of the other indicators. I hate throwing out suggestions that I don't know how to make happen.
 
I knew I shouldn't have quoted facts without looking them up. :) Wikipedia says it's about 7-8% of males which is less than 1 in 8. In any case, I cringe at the number of places BUG chooses poor colors, but I've tried to make sure all of them are configurable. Unfortunately, images aren't so easily configured.

Yes, Z is not universal, but I think it's more universal than L = Loaded. :rolleyes:

The Plot List code in CvMainInterface is pretty gnarly and spread out. Not my fault; that's all I'm going to say. ;) But I'm confident all these ideas can be done, save the grouping one due to cargo split across rows.
 
Is it my imagination or do the colors get darker near the outer edge? It looks like the center of the circle is lighter.

Red/blue has low contrast issues, so my choice would be red/white or blue/white. I disagree that loaded spots are problems. In fact, sending an empty ship to the front would be problem, so it's situational. I don't mind red/white, though. I would prefer if the blue were a lighter shade of blue closer to water, and I think I'd like that one best.

What do others think?
 
It sounds like you want a Population Assignment Queue.

I did not think that far away. Just a system for specialists would suffice imho.

At the present time, the AI assigns automatically citizens to job in two situations:
- when a new citizen appears, always
- when the governor is switched on, because of some stuff happening (an improvement build, a change in health/happiness...)
In these two cases, the AI sometimes assigns citizens to specialists tasks.

My proposition would be to replace the forcing specialist feature as it exist now by one saying "when you want to assign specialists (in one of the 2 previously described cases), assign it to be a scientist in priority" for example (replace scientists by any other specialist or any other combination of specialists).

This would be, perhaps it was not clear before, a strict opposite to the "never assign a spy specialist" feature.
 
Would the pie charts each be a separate "badge"? That could get really hairy, since you'd need to be able to represent 1,2,3, and 4 "slots" in each state of fullness, for unmodded game rules. (I need to try BUG with FF and see if it even works; the promotions that add cargo bays to carriers/cruisers would need to be accounted for if so.) That means 14 different badges to do those. If a unit had 5 slots, you'd need 6 more icons for that, etc. Eventually, you'd be better off with a bar graph for capacity, or a much smaller icon that is repeated once for each slot. This would be similar to the movement status globes above the flag standard on the tile itself.

As to the colors, I would want to avoid red, and stick with blues/greens and greys. This is a feature that shouldn't jump out at you, but just be there for when you're specifically interested in ships and their cargo. Fiddling with the Python, I found one simple adjustment to push the top-left circle/star down slightly, while leaving everything else alone. It isn't the best solution, but it does give me an immediate visible indication of which units are cargo:

attachment.php


Spoiler :
Code:
		# Units lead by a GG will get a star instead of a dot.
		if (self.bShowGreatGeneralIndicator):
			# is unit lead by a GG?
			iLeaderPromo = gc.getInfoTypeForString('PROMOTION_LEADER')
			if (iLeaderPromo != -1 and pLoopUnit.isHasPromotion(iLeaderPromo)):
				szDotState += "_GG"
				xSize = 16
				ySize = 16
				xOffset = -3
				yOffset = -3
[COLOR="Blue"]		if pLoopUnit.isCargo():	## Added by The Monster
			yOffset += 3	## Added by The Monster[/COLOR]
		szFileNameState = ArtFileMgr.getInterfaceArtInfo(szDotState).getPath()
Now the Transport is at 3/4 capacity
Since the "isCargo" status is independent of the mission, putting the indicator in the top left, somewhat like this, may make sense. Perhaps leaving the circle/star in its original place, with a 3/4 frame (omitting the top, again suggesting the cross section of the surrounding ship) around it, to convey the "loaded" status would work:
attachment.php


EDIT: I think I have an even simpler solution:
attachment.php

No new artwork is required; simply a conditional that shrinks and slightly insets the mission badge:
Spoiler :
Code:
[COLOR="Navy"]				if pLoopUnit.isCargo():	## Added by The Monster

					screen.addDDSGFC( szStringActionIcon, szFileNameAction, x+19, y+19, 12, 12, 

WidgetTypes.WIDGET_GENERAL, iCount, -1 )
				else:[/COLOR]
					screen.addDDSGFC( szStringActionIcon, szFileNameAction, x+20, y+20, 16, 16, 

WidgetTypes.WIDGET_GENERAL, iCount, -1 )
Here the Jet Fighter loaded in the Carrier running Intercept mission still has the badge to that effect, just like the other one that's not in the Carrier but because it's smaller and "inside" the icon, it conveys the sense of being "inside". The Panzers in the Transport have smaller Sleep badges than the one still in the city, so we know their missions and their cargo status.

Any new mission badges that are created still work fine with the tweak. All it requires is a new conditional statement and an indentation of the existing function call to draw the badge (unless you want to use variables for the Cargo tweaks and make it a single function call)
 

Attachments

  • CarriedUnits4.jpg
    CarriedUnits4.jpg
    4 KB · Views: 393
  • CarriedUnits5.jpg
    CarriedUnits5.jpg
    4 KB · Views: 402
Only one icon showing the number and status of cargo slots would be needed per ship in the normal game with 1 to 4 slots possible. We could easily accommodate up to 6 or even 8, but beyond that would get difficult to see.

Of course the obvious method is to use a third bar below the movement bar for this. It could have a full color and an empty color as well. The other thing we could do, since we will be marking each cargo unit that is in the ship, would be to have only 3 decals: empty, full, and partially full.

Of the three suggestions there, I'd still prefer the individual decals showing precisely how many slots are available, and worry about FF another day.

As for the alternate methods of denoting cargo units, I still prefer the separate decals. I could barely see the gray bucket around the dots/stars even after zooming the image, and the lowered dots/stars was too subtle. :p Unless there's some serious objection to the extra loaded decal, I'd like to go with that.

I was thinking about the upgrade arrow. It's pretty subtle as well. I somewhat like that since I rarely upgrade my old units--especially garrisons--so I don't want it to stand out. Another option would be to change it to look like the promo frame: use an orange frame if the unit can be upgraded. If it can be both upgraded and promoted, we could shrink the orange frame 1 pixel inward as I believe the promo frame currently extends 2 pixels out from the unit icon.
 
As my PC is semi-functional now, I'm getting back into the DLL a bit. Yes, I still need to release the damn thing. :)

You can now see the specialists, free specialists (ToA, GL), and settled great people and military instructors in the City Bar.

CityBarSpecialists2.png


CityBarSpecialists1.png
 
Exactly! This will help a little with the "OMG you assigned a damn Spy again!" problem until I can create a solution. I've found that this really does improve the speed of my game considerably.
 
drools over thread...

hurry up! i cant wait!

those specialist and building icons in the city info text are freaking awesome.

p.s. with all the great interface work you guys have done with BUG.. i hope firaxis is taking notice, and includes such nice features in the next CIV game. i dont think i could possibly play a civ game without them anymore.
 
just thought of an idea.

in the technology tree.. would it be possible to put an indicator for world wonders that have already been built?

say like a red outline or something around their icons? maybe give green outlines for world wonders you control. sometimes when deciding on whether i should go for that tech to build that wonder.. it becomes a pain to have to jump to the top5 cities screen and scroll that tiny window to see what wonders are already built.

another thing... in the city screen. where it shows the long list of buildings in the city on the left. maybe have the text for national wonders a diff color so they stand out (gold), and world wonders a diff color as well (green). towards the end of the game.. that list can get quite long.
 
You're killing us here Emperor, just killing us.

It's a good kind of killing us, but we're dying all the same.:twitch:
 
Back
Top Bottom