Archive through March 05, 2013

Star Fleet Universe Discussion Board: Federation & Empire: F&E COMPUTER PROJECTS: F&E Computer Development: Archive through March 05, 2013
By Eric Smith (Badsyntax) on Friday, December 14, 2012 - 10:42 am: Edit

Thanks, I was planning on hitting them up (well SVC at least) if I could get enough support to actually write it (and hope they supported the endeavor). I am just not sure how much desire there is to see something like this from enough people to justify me spending my free time doing it.

By Ken Kazinski (Kjkazinski) on Friday, December 14, 2012 - 03:56 pm: Edit

For me, just something to put the fleets / units on the board and keep track of where everyone moved would be fantastic.

It would aid in campaign play esspecially if you could go backward and forward in time / turns to see where all the fleets moved.

By Ken Kazinski (Kjkazinski) on Friday, December 14, 2012 - 04:10 pm: Edit

RE>Imagine playing a computer F&E, and when you click a stack outside of range of anything it just shows you a #. If it is in sensor range, you see a # of SC2, SC3, and SC4 ships. That'd speed the game up by people not quite micromanaging so much. Heck, units outside of range 6 could be completely hidden unless you send an ES&S mission.

This is exactly what I mean. It would make bases not just supply points but your eyes. I think you would create a lot more mobile bases so you could extend your field of view. This would also be a good reason to create the Mobile Listening Post and the Communications Relay Station.

Another neat idea with the fog of war would be to allow ghost fleets. You see a fleet at longer ranges but are not sure if it is real or not.

We have 2 at this time and need another 8 people who would be interested in a tool like this.

By Paul Edwards (Pablomatic) on Friday, December 21, 2012 - 12:36 pm: Edit

For what it's worth, I also think F&E would really benefit from employing an impulse system of movement (and eliminate retrogrades). That would be a different game of course, but one I might like to try. This game needs a more operational feel to it.

By Eric Smith (Badsyntax) on Wednesday, January 02, 2013 - 05:40 pm: Edit

Out of curiosity, where is the line drawn when it comes to an assistant for F&E, like Cyberboard, and something "more" than cyberboard (perhaps not playable as a game, but with a lot more F&E sorta functionality, like ship counts and stuff)?

I've heard rumors of folks working on an F&E computer thing. Anybody have any screenshots or more info?

I saw a bit in this thread and it appears it was being done in Java, which is horrible in windows, especially the UI (but good in *nix!). Since over 90% of the desktop market is still windows, well, java is kinda the wrong approach IMPO.

By Eric Smith (Badsyntax) on Saturday, February 16, 2013 - 05:55 pm: Edit

Today I wrote completely new code that draws the F&E map, with off-map hexes, with special graphics, with static zooming, plus the ability to draw the rubber band triangle around on the map to select things. It takes into account planets in hexes, and multiple systems of multiple planets. It knows where provinces are, what orion cartel a hex is in, and tha names of regions like "Blood Claw Duchy" or "5th fleet deployment area".

This weekend I'll finish the following:
- Dynamic Panning/Zooming
- Rendering of province/cartel/region borders.
- Ability to place counters on map, drag them around, and auto-stack them
- Ability to form fleets and move counters to/from them
- Ability to right click on a hex, get a little context menu, that lets you change hex/province ownership, disrupted status, and the turn status changed
- Economy calculation by faction/race


Some architectural things people may ask:
#1. I'm coding it all in VB.NET 4.5 with Visual Studio 2012
#2. I'm using GDI+, even though Direct2D is faster and has some nifty things that would help, it will introduce potential compatibilty issues and not allow you to play as easily while at work (and I KNOW some of you do!)
#3. The "map" file is a tab delimited file, you can open in excel and pretty quickly change ownership/provinces, with no programming experience needed.
#4. Fleets will be defined by the ships within them. Again, text file, tab delimited, easy to edit and copy/paste.
#5. Fleet deployments will be a list of provinces and hexes. Text file again.
#6. Factions are a list of factions, and the colors you want to see for them. Text based, you can use colors like "Blue" or RGB values like "127,127,127".
#7. Planets/systems are defined in another easy to edit text file.
#8. Unit placement can be defined by a race, unit designation, and hex. Again, text file.
#9. I will try to have the application be internet aware. I'll have chat integrated in with it, as well as a server component. This way you can both open the same file and watch moves in real time, making operational movement *much* faster if you both happen to be online.
#10. You can zoom *WAY* into a hex, and hundreds of counters will fit within it. This will allow you to shuffle counters around within the hex, so the other player doesn't have to see those moves.
#11. The map will be hex aware. When you drag a unit from 1 hex to another it'll track that movement.
#13. EVERY move will be tracked by impulse. If you want, you can push a button and watch an entire game of 35 turns play out with a defined interval per impulse.
#14. There will be a *LOT* of details on counters. A Fed CA won't just be a Fed CA crippled or uncrippled. It'll track crazy details about it. From the # of strategic movement hexes its gone, to the times its been "on the line", to the amoutn of damage it actually helped inflict on the enemy, as well as its commission date and its various upgrades. If you want to know it, I'll track it.
#15. Due to my own experience with random number generators, I'll be using random.org instead of any computer created one. Anybody who has used my website (http://www.cooltexan.com/diceroller) will be familiar with this.
#16. I'll have optional rules of my own design I'll have in there as *OPTIONAL*. One example would be fog of war, where you only know detailed ship types in stacks within sensor range, only size classes from stacks within supply range, and nothing for those completely out of range.
#17. This will *NOT* be a game, just an assistant for F&E. There is no AI, only a very very few "rules" from F&E implemented (I hope to have pinning/supply/movement, some combat stuff, calculations, but not much more).
#18. I am planning on going to Origins, against my better judgement. It will either be able to completely replace Cyberboard and VASSAL at that time, or somehow Ted and I no longer play, and my motivation for F&E dwindled to a fall back position on any one of my other projects.

By Eric Smith (Badsyntax) on Sunday, February 17, 2013 - 04:35 am: Edit

The map is completely done now. Spent far too much time dealing with the ability to highlight a hex as you move a mouse over it, as well as how highlighting works when yo don't want to see hex border, but do want to see provinces. Oh, and the whole scrolling bit was a pain, amplified by zooming, but it all works now.

Was working on creating the counter trays, spent a few hours on it trying to get default windows controls to work like cyberboard and eventually just decided to forget it for now. I'll have text based trays and can add the counters later. When you click 1 unit, I'll show the counter, when you select say 5 units for a CVEG, it'll show the cumulative total of all the stats. I'll put in a search/filter box up top so you can filter a fleet by things like CR, fighters, escorts, etc.

Economy is added up, though there is nothing on the map that shows "off map provinces", so those EP aren't added in. All the planets/provinces are though, and it can handle disrupted provinces, devastated planets, etc.

Tomorrow, if nothing comes up like it did today, I'll finish the last 3 things on the list. I'll save drawing the counters till last, as graphics tend to creep with complexity due to me wanting this feature or that.

Next big thing will be handling movement, then onto saving unit actions.

By Paul Edwards (Pablomatic) on Sunday, February 17, 2013 - 04:07 pm: Edit

If this works as advertised, with a user-friendly interface and cool graphics, I will be overjoyed to use it.

By Eric Smith (Badsyntax) on Monday, February 18, 2013 - 01:34 pm: Edit

Added fleet deployment areas, which can be viewed at the same time as an orion cartel, and a named area.

Rubber band selections work, so you can drag a box over multiple hexes.

Re-entered all the OOB data, so I know what units are in what fleets initially. Again, just an easy to edit text file.

Got sidetracked this weekend when I started entering in detailed planet data from all the Prime Directive books, that can wait for a long time to get done.

Entered in all the Federation ship names from the Starship Registry PDF. Every time you build a unit it'll assign it a name from this list. When a unit is destroyed it'll put the name back into the list with an "A" (or B, C, etc) behind it. This way, each ship will have a unique name with it. If I had a good name generator, I'd have captain names as well, though it is far less important I think. Anyway, the ship names listed can't possible account for all the ships built, so I'll have to go download some various ship name files (probably from Space Empires 4) so ships aren't stuck with lame names like "CA#23".

Also, only the Feds have very complete names anyway, unfortunately a lot of the names will be non-SFU and in the case of designations like NCC-1701 I'll have to make something similar for each race.

First hiccup.... well kinda anyway. Right now all my ship data is in excel and a SQL database used by my SIT. This product I think should query the database I use for the SIT. I'll cache results, so you only need the internet once, but this way it'll udpate values as they get changed officially. Anyway, back to the hiccup. I will have to build a huge class object that tracks all the statistics I wanted to track, in addition to the 200 or so variables each ship currently has. I guess it isn't so much of a hiccup as a few days worth of object design, but it'll prevent visible progress for a few days to a week while I get it written out.

Soon as I finish that it should be pretty easy to get the counters drawn on the map, with dragging/dropping and multiple selection. That is what I'll do next.

Then I'll add some save code, and at that point this could replcae cyberboard almost completely, though there is a *lot* more polish I'll add.

If I finish it in March, I'll probably throw it out for folks, if its later I may just take it to Origins on a laptop with my projector and give a large introduction to using it to anybody (hopefully 1+ Human and/or Klingon) who cares to watch

Request For Information: If anybody has entered in things like F&E scenario ship lists/deployment from various products and captain's logs (except the 601 wind of course) it could save me a few hours retyping it myself.

I'd show screenshots, but I'm pretty sure everybody here has seen an F&E map :)

By Shawn Hantke (Shantke) on Monday, February 18, 2013 - 04:14 pm: Edit

@Eric this should help with the planet names and locations: http://www.starfleetgames.com/documents/Gazetteer/Gazetteer_14_Aug_2012.pdf

By Ken Kazinski (Kjkazinski) on Monday, February 18, 2013 - 07:54 pm: Edit

Eric,

I would like to be able to export only a player's (side) information so you can send an email with the current game status.

Fog of War where you do not get to see all the units only what is range of sensors.

By Eric Smith (Badsyntax) on Monday, February 18, 2013 - 08:38 pm: Edit

Thanks Shawn, I'll keep that handy whenever I do update the planets with more detail than just a name and major/minor.

The saving of games will be in an encrypted binary XML format. Each player will receive *all* the data. However, if the game has FOW enabled, each player loading the file would only be able to see what they normally see. In fact, that is a dynamic thing at runtime. I'll save a Fed CA in hex 1001, but when you load it, if nothing is in range, you'll see perhaps a Fed SC2, or nothing at all.

I kinda wanna do it all server based though, which will allow much better tracking of games and statistics, plus the ability for anybody to log on and replay games or watch previously played scenarios. Not sure how I'd do this yet, though I'm pretty sure at a minimum the SIT and die roller will be server and internet based.

By Eric Smith (Badsyntax) on Monday, February 25, 2013 - 11:27 pm: Edit

First, got sidetracked making graphics. Then got sidetracked making counters with said graphics. I did all the Fed stuff, good enough for me to continue.

So I have a big huge architectural type question that should be really simple.

If you want to use a computer to play F&E with somebody, do you want to use the whole "save-email-load" process, or would you rather just start up an app and have it connect over the internet and save your status?

This way, if you are both online, the system can do movement WAY faster, and even notify you of potential reactions so the game stops till your opponent says yay/nay. You don't both have to be online to do something, but the state would be saved online instead of with emailed files.

Yeah, I could do the whole email files, but its a PITA to me, and I'm a Director of Technology with 20+ years IT experience, so surely you less nerdy folk (if any of you are actually less nerdy, since you play F&E) find it even worse.

I'll plan on proceeding with programming perhaps this weekend, but I kinda need to know which method would be preferred before I go down the wrong path.

Thanks. BTW, if anybody wants to help me beta test and provide good and bad feedback on a few F&E related things I'm working on, shoot me an email.

By Richard B. Eitzen (Rbeitzen) on Tuesday, February 26, 2013 - 03:15 am: Edit

It would be best if it did both. Email is great when you dont have a lot of time all at once to play.

By Chuck Strong (Raider) on Tuesday, February 26, 2013 - 11:55 am: Edit

Focus on the online method.

By Mike Curtis (Fear) on Tuesday, February 26, 2013 - 05:16 pm: Edit

Concur with FEDS, get the online to work first. The other (email turns) will be much easier later.

By Eric Smith (Badsyntax) on Tuesday, February 26, 2013 - 08:05 pm: Edit

Okiedokie, thanks!

I'll continue work on this after I fix this annoying browser incompatability issue with my SIT site and finish up my next F&E turn with Ted.

By Chuck Strong (Raider) on Wednesday, February 27, 2013 - 03:36 am: Edit

To anyone working computer F&E:

Two things I'd like to see regarding unit accounting:

1. Permanently display the total SE number in the lower right-hand corner of a hex.

2. Click a HEX and display this kind of detailed hex report:

HEX SUMMARYSEs:87.5
.
CountCategoryEquivalents
21 [3]Ships22.5
2 [2]F-Ships6.0
6[2]X-Ships13.0
.
29 [7]SHIP TOTALS41.5
.
15Fighters2.5
12PFs2.0
.
'X' Auxiliaries'Y1' PDU | 'Y2' PGBs'Z' Other


3. Click a FLEET counter and get the same report for THAT specific fleet counter.

By Eric Smith (Badsyntax) on Wednesday, February 27, 2013 - 02:02 pm: Edit

Well I can only speak for what I am doing, but....

Each hex will have text at the bottom that can be changed to all sorts of things with a menu option. It can be SE's, fighters, carriers, # of CA's, total compot, total EP, etc, etc, etc, etc...

I'll also have influence mapping, that'll recolor cells based on nearby compot, reserve range, # of ships, EP, etc, etc,

Plus, moving your mouse over a hex will get you a lot more information, including everything chuck mentioned above.

As you select ships in a fleet, or multiple selections of fleets/ships, it'll show you totals of all kinds of stuff from the selected items.

At any given point, I'll probably have small numbers on the screen showing overall ship count and compot for every fleet, hexes owned, EP, etc, so you can see how you are doing overall constantly. I can also have lots of little reports, like how well you did in a turn (EP loss ratios, etc)... the sky's the limit :)

The hard part is the interface, enumerating through thousands of ships combining various numbers is trivial.

Another hard part is the data itself though. FOr example, some ships only pin defensively, not offensively, and things like that I have to track, and right now stuff like that is scattered through hundreds of pages of rules. That is the most time consuming part of the whole project, getting all that data into the database (which will become the SIT for DigitalFE (DFE for short) and need to be far more comprehensive than those online. (hence my SIT online project)

By Ken Kazinski (Kjkazinski) on Wednesday, February 27, 2013 - 07:20 pm: Edit

Looked at the beta today.

Runs very smooth when zooming and scrolling.

Looking forward to the next update.

By Eric Smith (Badsyntax) on Friday, March 01, 2013 - 11:42 pm: Edit

Thanks.

Another question....

First, I've made zero progress on the last week. I had 2 really late work days, and another with no sleep, and the wife wanted to go out, and probably most of all:

I got sidetracked with graphics. These often sidetrack me, and often kill so much time I get bored with what I'm doing and move on.

I'm a type of person that doesn't like gaps. I don't like ships without their correct silouhette, I don't like not at least trying to support all the playtest rules and their ships, and I had to redo some of the CB graphics due to anti-aliasing.

So I redid every fed ship hull, and their damaged side. The early years stuff just have a black silhouette for now though. I also redid most, if not all, of the Gorns, Tholians, Maghadim, Eneen, Baduvai, Andromedans, Lyrans, LDR, Kzinti, and the latest the Klingons.

However, these are a bit time consuming, and honestly I don't think I'm very good at it. The Feds look ok, most of them anyway. The Klingons though, I made them all too dark of a green, so they looked horrible on black, so for now they are on a dark grey counter instead until I get them fixed.

In *NO* way are these graphics a requirement for DigitalFE (what I'm calling it). I can have counters with all the numbers, just no picture, and there would be no functionality loss.

So, on to the point... a few questions.

#1. I liked the Cyberboard graphics. I think Lawrence and Warren did a great job with them. However, these ships are just tiny, and any details can be really hard to do (at least for me). So, the question... do ya'll like the CB graphics too, or something like them, or would you rather just see an easier to recognize single color silhouette? When you click on a ship I could show a graphic about 4-6x as large, that could look really good, on the info for that particular unit, just not on every counter.

#2. The guys over at Shipbucket have done a great job with pixel art, same with the Steel Panthers game series and the vassal 40K thing is awesome (http://vassal40k.wordpress.com/). Basically, there are lots of people out there who can do a great job, but I don't think I'm one of them, and even if so I need to spend my job coding, not farting around in MSPaint. Anybody want to find somebody who can do these graphics or volunteer their own time? They aren't terribly time consuming I don't think, many I knock out in just a minute or two, and crippled sides a few seconds. I'd be willing to put up some cash.

#3. Regardless of the method done, would you rather see a silhouette that looks more like the SSD, or more like the miniature? If ya'll would prefer the SSD, I could use a method kinda like SFBOL and actually dynamically generate silhouettes once I know the x/y coordinates of all the internal systems.

Just FYI, the Klingons on my SIT site for the few of you with access are all done by me. I scanned the image in Prime Directive that had the major hulls in scale, then zoomed them down to about 15% and "pixelated" them. The B10 is just too big for the counter, and the colors have changed. I also fixed it so when you click on "note", it'll show you all the game rules and special abilities that apply to that unit. If you click on the designation, it takes you to a read only "edit" page that also shows you the actual paragraphics of rules from the rule references column.

Oh, some other things I could use help on, if you wanna:
- CSS for the table on my SIT page. Its mediocre now and works, but it could probably look neater.
- Anybody familiar with the BITMAPINFO, or more specially RGBQUAD? If you don't know what those mean you aren't :) I was trying to create GTL files for importing into Cyberboard, but my colors are messed up (the Fed counters are green).
- Anybody know a way to convert the RGB colors for the backgrounds of counters into a color for the left/top, and right/bottom highlight colors to make the counters look 3D? I'd rather not have to define 3 colors for a counter :(
- JQuery/Ajax sorta functionality on my SIT site, so when you hover over something it'll go grab the data, and I don't have to pre-populate huge amounts of data on page load.

I am going to go finish up consolidating the early years ships, and will try to start on the drag/drop interface for DigitalFE this weekend. That interface is key, as you can drag things between hexes, or to any number of counter trays you have open, or between the trays, or reordered on the trays, etc. This is a huge hurdle for me, as I've never done Drag and Drop before, and need to find a way to duplicate the cyberboard trays where units are listed and can be moved around)... though perhaps just a text list with the attack-defense(fighter)/EW sorta stuff beside the count and type would be good enough.

By Eric Smith (Badsyntax) on Saturday, March 02, 2013 - 04:42 pm: Edit

Woot, I finished placeholders for every ship that could currently be in F&E. 4985 entries. Many of which have no stats other than CR, YIS, Size class, and designation, but they are placeholders.

Some of the Omega stuff will be interesting. Ships have speeds from 3 to 6, with a couple doing 7, and the Iridani Sloop doing NINE! (granted, it may be a bit slower for any future Omega F&E project). Fighters are also interesting, as some are really bad so a 1 point per 2 fighter ratio seems generous. The Iridani and Bolosco also are entire fleets of HDW/TUGs basically. While I'm not sure of special rules or fleet capabilities, I did notice that Loriyill ships can return 25% of their damage back on their enemies... kinda interesting.

Anyway, they are all imported into my SIT, which will be used in DigitalF&E. When a unit has errata, it could be updated immediately, in all games being played. Any special rulings would be shown as well, and basically when using DigitalFE you'll always have the latest greatest!

While I kinda wanna go play with graphics and ship stats, which I love, I should have a huge chunk of time today and tomorrow to learn everything I can about drag/drop operations and graphical lists (I may have to use a 3rd party control for that) to get the next big phase of DigitalFE knocked out. Crossing my fingers it'll get done this weekend.

By Eric Smith (Badsyntax) on Monday, March 04, 2013 - 06:39 pm: Edit

Ok, major milestone. Here is what I did.

- When you load a game, it loads the map, factions, objects on the map, systems, planets, and so forth. This was done a couple weeks back.
- Next, it loads up all the units, including their counters. It does this by querying my SIT database, and grabbing all the unit data. It then goes out to a network share in my home and grabs the 3200 or so little images. It takes about 10 seconds now, but it shouldn't be very fast (yet). I can eventually shrink this down considerably using caching and creating a single big bitmap, but for now lets focus on making things work.
- Then, it loads up the unit deployments. For right now, since there is no game or turns, it is just a file with lines like "Federation=1st Fleet=DN,CC,CA*3,NCL*6,FF*6", but later it'll look for the latest turn, or a turn you specify, and load up data from that.
- When you open trays, it goes through these lists, and shows you a list of units within that tray. Beside each unit, it shows things like command rating, fighters, or all sorts of stuff, any of which be a sort criteria by just clicking the header.

I did encounter 1 bad thing. When I loaded all 5000 or so units, I got an out of memory error. I can probably figure out a way to work through it, but I have may a limit of 5000 *unique* units or about 10,000 images loaded at once. If that is a limit, I can create a single big bitmap in memory, and just save x/y/w/h coordinates and that issue should be resolved.

Now, what is next....

- I'll add what are basically "trays" to each hex. These contain all the units within a hex. As you move a unit from 1 hex to another, it removes the unit from the previous hex tray and adds it to the new hex tray. For now, when units are displayed in a hex, it'll place them as best as it can in the hex. I'll add support for placing them in a hex by x,y coordinates later, so you can jiggle stuff around within the hex. This part will probably only take me an hour or two to implement, though I am concerned about map redraw performance with all those additional loops.

- Next instead of drag/drop, which is a bit of a pain and cumbersome, I think I'll just have cut/paste. Click a bunch of units, cut them, move to where you want them, and paste (mouse or keyboard). I think this will be a bit easier overall, as moving between trays can be annoying while draggin a mouse. I'll probably do drag/drop later. However, I am using a 3rd party control for the trays, and would rather not, so spending time on that right now is a time sink I'd rather like to avoid. This also, will take a couple of hours.

At this point it is almost usuable. The last major hurdle to get to an alpha release is saving/loading. This will take a few hours, but technically it isn't a major challenge. Perhaps a week if things go well in life, a month if they don't.

One thing I do want to tinker with is multithreading some of these loops. I've done lots of multithreading in the past and its easy. With all new computers having multiple cores (I have a total of 32!!) each thread I create will increase performance that much more. I don't think I can multithread drawing the map, which sucks, but some of these other loops I could spin off onto other cores and see some major performance increases.

Getting darned close!

By Eric Smith (Badsyntax) on Monday, March 04, 2013 - 11:20 pm: Edit

Productive evening! Just so folks don't think I'm full of BS, a screenshot!

Seriously, No BS!

Things to notice:
- Magenta area is Fed 3rd fleet deployment zone
- Federation counter tray is sorted by CR
- No hard limit on the number of counter trays
- A little popup to show how easy it is for me to calcualte economy
- The Yellow area is the Orion Capital Cartel operating zone
- Hexes have numbers
- Hexes have borders
- Provincial borders are darker
- Starbases in fed hex are "stacked" so each is offset a bit.

- Next is cut/paste between trays and hexes.
- After that is selecting/moving units around

Then onto saving/loading (the code is kinda already done for a simple version, as all the data you see is loaded from simple text files).

And of course a LOT of polish and nifty little things I've mentioned before, such as ship counts, hex/fleet overviews, minimaps, etc.

If tomorrow isn't too busy, I may be able to knock all that out.

Optimistically an Alpha by the end of the weekend.

Pessimistally end of month.

As I'm talking to myself though, I also need to pick up some frozen pizzas tomorrow from Central Market.

By Ken Kazinski (Kjkazinski) on Tuesday, March 05, 2013 - 07:12 am: Edit

Looking forward to the next release. Keep up the great work.

Administrator's Control Panel -- Board Moderators Only
Administer Page | Delete Conversation | Close Conversation | Move Conversation