I haven't made a modding challenge in a while so here is goes.
Make a dock screen that does the following.
On a station object with an arbitrary list of items (so no cheating assuming what items will be on the station)
Display a list of those items categories.
To be able to select one of those categories.
To expand that category.
When expanded it shows the sub-categories of that category and whatever items that are in that category but not in the sub-categories.
It must have at least one sub-category.
Plus it must also show any higher level categories that where options before.
It must keep the cursor in the expected position. (ie when I expand the launcher sub-category the cursor must be on the launcher sub-category or the first item in that sub-category.)
When an item is selected it must display some information about it that wasn't available before you selected it.
When a new category is selected the old category collapses.
Must be able to exit at will.
There you go. I think the cursor will be a major stumbling block but that is what makes this a challenge.
dock screen modding challenge
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
Crying is not a proper retort!
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
Ouch...
*Must resist challenge*
......
Seriously though... This is possible to do, with some gotcha's.
Is this challenge supposed to be a competition, meaning no discussion of the solution/problem) or just a friendly game of "how can we do this?"
*Must resist challenge*
......
Seriously though... This is possible to do, with some gotcha's.
Is this challenge supposed to be a competition, meaning no discussion of the solution/problem) or just a friendly game of "how can we do this?"
I think this is more of a request for you to make it wrapped up in a competition-looking challenge to everyone.
Honestly, there are less than half a dozen people that could even manage a half honest attempt.
Besides, it would make a fantastic addition to your dsf!
Honestly, there are less than half a dozen people that could even manage a half honest attempt.
Besides, it would make a fantastic addition to your dsf!

Coming soon: The Syrtian War adventure mod!
A Turret defense genre mod exploring the worst era in Earth's history.
Can you defend the Earth from the Syrtian invaders?
Stay tuned for updates!
A Turret defense genre mod exploring the worst era in Earth's history.
Can you defend the Earth from the Syrtian invaders?
Stay tuned for updates!
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
*Shelves life*
ok... give me 20 minutes...
(kidding)
It would be nice to have something like this in dsf, but i fear it is not something that can be abstracted to that level. There are things I would rather see in dsf, such as built in filter pane, an abstraction of <Display> and such...
I will give a try at implementing this, but most likely as a replacement item browser for godmod.
The issues I can see:
The only way to control the cursor is in an ItemPicker screen, so the categories have to be made as Items. This will be a little cludgy to work with, but can be done i think
Showing additional information: The above restriction makes it impossible to change the data being viewed in the Picker (left part of screen). However, the right pane description can be updated on every cursor movement. It does restrict the amount and type of data that can be shown though.
ok... give me 20 minutes...

(kidding)
It would be nice to have something like this in dsf, but i fear it is not something that can be abstracted to that level. There are things I would rather see in dsf, such as built in filter pane, an abstraction of <Display> and such...
I will give a try at implementing this, but most likely as a replacement item browser for godmod.
The issues I can see:
The only way to control the cursor is in an ItemPicker screen, so the categories have to be made as Items. This will be a little cludgy to work with, but can be done i think
Showing additional information: The above restriction makes it impossible to change the data being viewed in the Picker (left part of screen). However, the right pane description can be updated on every cursor movement. It does restrict the amount and type of data that can be shown though.
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
my first thoughts on this was not use the picker screens at all. You wouldn't have the up and down arrows but that was never part of the challenge.
As for a serious vs friendly I would say friendly as I don't see more than two or three people that could give it a half a try if it was serious.
This would be trivial (well easy if you know dockscreens) without the cursor stipulation.
The real main point was to see if someone would try to make a new item list not using the games inbuilt one as that one you can't control the cursor in that one.
As for a serious vs friendly I would say friendly as I don't see more than two or three people that could give it a half a try if it was serious.
This would be trivial (well easy if you know dockscreens) without the cursor stipulation.
The real main point was to see if someone would try to make a new item list not using the games inbuilt one as that one you can't control the cursor in that one.
Crying is not a proper retort!
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
basically, the category thing would separate it out from what is considered and item picker in game.
I really hope that it will be done without the categories being items themselves but its not that big of deal.
I really hope that it will be done without the categories being items themselves but its not that big of deal.
Crying is not a proper retort!
- Aeonic
- Militia Commander
- Posts: 469
- Joined: Sun Jun 14, 2009 1:05 am
- Location: Designing his dream ship.
When you're working on dock screen formatting, try to follow the same capitalization scheme that George uses.
Can you see what's wrong with these options?
* Docking status display
* Cargo bay door
* Enlightened fluffy kittens
* Electrical Lighting Functions
* Free coffee refills
Which one is out of place?
Can you see what's wrong with these options?
* Docking status display
* Cargo bay door
* Enlightened fluffy kittens
* Electrical Lighting Functions
* Free coffee refills
Which one is out of place?
Last edited by Aeonic on Sat Nov 28, 2009 4:01 am, edited 1 time in total.
Last Cause Of Death: Destroyed by Karl Svalbard's last Lucifer missile, right after I blew him up. And the crowd cheers.


-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
If you're talking about dock screen actions, I use a pretty weird capitalization scheme:Aeonic wrote:Just, for the life of me, follow the capitalization scheme that George uses.
1. If it's a command, use sentence capitalization:
Buy items
Replace armor
Talk to station boss
2. If it's the name of a place, then use title capitalization:
Dock Services
Ringer Lab
Hall of Mirrors
3. If it's something the player says, put it in quotes and punctuate:
"Who is Domina?"
"OK, you have a deal."
"He says you betrayed the Fleet."
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
Friendly it is then...Betelgeuse wrote:my first thoughts on this was not use the picker screens at all. You wouldn't have the up and down arrows but that was never part of the challenge.
As for a serious vs friendly I would say friendly as I don't see more than two or three people that could give it a half a try if it was serious.
This would be trivial (well easy if you know dockscreens) without the cursor stipulation.
The real main point was to see if someone would try to make a new item list not using the games inbuilt one as that one you can't control the cursor in that one.

I had not thought of building an entire new screen for this purpose, the main reason being the information available to us. The only place real data on an item can be shown is in a ItemPicker screen, as we don't have the functions available to get this info. So, not showing the items description for example. I guess we could cone up with some way of showing damage types and hit points, but in no way as detailed as the info in the ItemPicker.
Actually the one of easiest part of this (when using the ItemPicker) is placing the cursor. The <ListOptions> element has an attribute called `initialItem' which takes an arbitrary expression and runs it on each item, the first one that returns True becomes the initial item. It is just a matter of knowing which category is the current one to show, and checking if the item is of that category.
The real problem turned out to be sorting the headers. I went with the ItemPicker method and created a `Category Item' for each category, These items would then be added to the DS depending on the categories present in the station. The problem is that if these items are just created as regular items (miscellaneous) they sort last in the list. If you instead create each item as a type of it's own category (so, the armor category item is itself an armor) then you get the category item shown as if it was an armor. In addition, to have it sort at the top of the armors, it must be the highest level item in the list. All in all, the list comes out looking a bit weird.
So... i finished part of the challenge and will leave it be for now. There is no nesting of categories in my current entry and the categories arent sorted correctly (couldn't be bothered). You can get it here:
http://github.com/alterecco/Transcenden ... llenge.xml
Look forward to seeing any novel solutions
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
looks cool
few points.
your initialItem isn't consistent. (well it is in a bad way) Sometimes it starts on a category and sometimes it is on a item. It is always on the top.
giant switches? why all the giant switches. You could use itmEnumTypes and static data in the category items. This would have made sub-categories easier to as you could have put the sub-category list in static data. I think keeping a list of open sub categories would be best but would need to think of how to arbitrarily open and close up sub categories.
few points.
your initialItem isn't consistent. (well it is in a bad way) Sometimes it starts on a category and sometimes it is on a item. It is always on the top.
giant switches? why all the giant switches. You could use itmEnumTypes and static data in the category items. This would have made sub-categories easier to as you could have put the sub-category list in static data. I think keeping a list of open sub categories would be best but would need to think of how to arbitrarily open and close up sub categories.
Crying is not a proper retort!