Archive through June 07, 2012

Star Fleet Universe Discussion Board: Federation & Empire: F&E COMPUTER PROJECTS: F&E Computer Development: Archive through June 07, 2012
By Gary Plana (Garyplana) on Thursday, May 17, 2012 - 01:17 pm: Edit

Randy, I have used EasyCAD for years, hex grids are easy to do with it.

http://www.fastcad.com/infoec7.php

By Randy Blair (Randyblair) on Thursday, May 17, 2012 - 01:23 pm: Edit

Gary,

Thanks for the link. I will admit, that even being an IT guy, graphics and CAD stuff is NOT my bag of tea. I have over 1150 hex maps to convert from paper to digital format. Is this tool efficient for that? (Yeah, I'm sure it's way more efficient than MS-Paint is.)

By Ken Kazinski (Kjkazinski) on Thursday, May 17, 2012 - 05:37 pm: Edit

Randy,

Why not use excel and visio? You could put information in excel and then using VBA create the maps.

By Randy Blair (Randyblair) on Thursday, May 17, 2012 - 06:59 pm: Edit

Will it look like the map I just posted?

Here's the deal. I have 1159 HANDWRITTEN (yeah, I know, really odd for an IT guy) pages, one for each hex on the F&E map. This has to be something that I can do relatively quickly (I'd like to digitize 20 pages a day).
The "operations" map, as I call it, has a finite amount of symbols, such as minor economic hardpoint, police depot, etc. The big deal is the trade routes, because I have them change color when an invading empire takes over the route.
I am considering an open source wargaming program that I can modify to display the map and maybe even move counters around.

Buying EasyCAD means not buying minis... Rock. Hard place. :(

By Eric Smith (Badsyntax) on Monday, May 21, 2012 - 04:50 pm: Edit

I'm pretty good with windows graphics development, and may, depending on complexity, be able to whip something like this out for you in a day or so. Here is a link (http://goodsects.gotdns.com/F&E.zip, requires .NET 4) to an EXE with a tab delimited data source to recreate a map. I eventually planned on doing more, but F&E is impossible IMO to convert 100% to a computer game... at least not without MASSIVE AI. The manual movement/interceptions really break computers, and the game would be horribly un-fun if each impulse had to be a "turn". Marines may work, but I want to see more modules before I start on that.

Anyway, that is just a big map of F&E space. It appears you are doing more in each hex, and I could pretty easily add the ability to click on a hex and have it open another text file for various graphics and stuff within that big hex.

I'd need a lot more detail on what you need before I'd commit though, project creep can be painful.

If I don't reply in a couple days, feel free to shoot an email at bad_syntax over at yahoo.com and I'll respond faster, I don't come here too much anymore.

By Randy Blair (Randyblair) on Tuesday, May 22, 2012 - 02:44 am: Edit

Wow, Eric. That's pretty cool.
The picture I posted above pretty much sums it up. Each F&E hex contains 37 smaller hexes inside of it.

I'm not trying to create F&E on the computer, per se. In my campaign, I use a three (now four with SFM) "levels".

1. F&E rules for the overall strategic/economic picture. Operational movement, all of the economics, strategic movement, repair, etc.

2. Operational rules of my own creation which bridge the gap between F&E and SFB. This is where I need help with the electronic conversion of the "mid-range" mapping.

3. SFB rules for scenarios generated by #2 above.

4. SFM rules for GCLs created by #2/#3 above.

Does that help?

By Eric Smith (Badsyntax) on Wednesday, May 23, 2012 - 01:09 am: Edit

Thanks!

I replied to your email Randy, we can discuss how to solve your problem further there.

I did a bit of work on it due to another request, and added all the images from Cyberboard (which are freaking awesome BTW, I'd love to see them in cardboard!)

Use the same download URL of http://goodsects.gotdns.com/F&E.zip

New Features/fixes:
- Moved colors to a file, though I changed a few (see factions.txt for notes) so they were readable
- Added objects.txt, a list of graphics, notice the WYN icon is from this method
- Fixed quite a few little bugs and issues I noticed
- Added the ability to LEFT click on a hex to see everything about it (and in it)
- When you click a race/fleet you can select units, then RIGHT click and drag them to the deployment zone (you can click on that hex later to see what is there)
- Added a refresh button in case there were any graphical artifacts
- Fixed the background image tile (notice the stars around the map borders)
- Converted the 6500 unit images from BMP to PNG

Bugs:
- When at zoom 4 (all the way in), can't see bottom couple of rows
- As soon as a fleet is changed, all the units come back, but the ones on the map stay there
- I only renamed federation ships, so attempting to place any other factions will results in lots of errors (they get placed, just not rendered)

I never really planned on getting very far in this, but like all the projects I do in my spare time, if enough people want it to become more and show interest, I'll gravitate towards working on it more.

By Randy Blair (Randyblair) on Wednesday, May 23, 2012 - 03:15 pm: Edit

Eric,

I haven't gotten a chance to respond to your email yet. It requires a lot of thought on my part to answer it correctly, so please be patient.
So far, what I see is pretty cool.

By Eric Smith (Badsyntax) on Friday, June 01, 2012 - 08:33 am: Edit

We've (Myself, Randyblair and Kjkazinski) been going around through emails about this and I've made some pretty significant updates. I figured I'd go ahead and let ya'll on here know the download link is live, and has a new version that supports 6 hex "tactical" hexes. The whole application is pretty darned configurable and all the data is in text files you can easily open in notepad or excel (tab delimited).

This file does include some extracted images from the latest cyberboard release (thanks Lawrence!) and *might* end up becoming a F&E specific cyberboard like app if there is enough interest.

http://goodsects.gotdns.com/F&E.zip

By Randy Blair (Randyblair) on Friday, June 01, 2012 - 10:42 am: Edit

This is definitely "getting there", Eric.

The six hex "operational" hexes is what I've been looking for. Now, the arduous task of data entry of hundreds of F&E hexes is in order. If you don't change the data structure (and actually, even if you do) this could turn out to be quite the platform to run my new campaign off of. Cutting and pasting in paint was getting to be real tedious.

By John Pepper (Akula) on Sunday, June 03, 2012 - 07:31 pm: Edit

Eric, this is very very nice work!

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 10:51 am: Edit

Thanks Akula!

I have made a MAJOR update to the application, and completely redone the file structure.

This allows multiple maps (Alpha/Omega areas), and multiple eras (I have a lot of the eras put in, though I'm not 100% sure they are all correct, please let me know any issues).

Hex 1004 on the Y168 Alpha map is the only one with "tactical hexes" implemented (you have to enable this under toggles to be able to click on the hex). This allows mapping out of tactical hexes like Randyblair was doing, but by default its disabled completely. Notice its a separate file, if you want to update other hexes just create new files and they should work.

If somebody renames all the graphics I included from the Cyberboard files, it'll load up those graphics instead of generic ones. I may do it in the next couple days though, I dunno.

Hopefully ya'll find some use out of this. Let me know any feature requests and I'll see what I can do.

Though it'd be ugly, I could convert this to a website fairly easily, though the maps would have to be smaller. I could also have it read from a database instead of the text files, if you wanted to use such a system to host a dynamic map on your site.

I'd like to get all the master ship tables in there, but they seem to change so much it'd be pretty futile. I'd be very happy to create a simple site for SVC that had all the ship data, and allowed only him and a couple others he approved to edit it, so it could stay updated instead of all the PDFs and excel files and people could have a single source that'd be easily queryable, but that may be out of scope for the game. An app like that would let you look up a ship and see all the possible conversions, or a hull and see all the possible new construction, by year, and all sorts of other possibilities. Heck, if there was a way to print counters on demand I could write in functions so you select all the counters you want, and they get sent off to the printer in a PDF for them to print and send back to you. You could finally have enough fed NCLs and Klingon D6s.

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 11:25 am: Edit

Eric,

It's actually "operational hexes" but hey, good job, bro!
Is each hex a separate file, or can the program query a single file for all operational hexes?

Also, is there a way to change the LSM to reflect when a base is destroyed?

DEFINITELY would love to see a database version.

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 11:36 am: Edit

Oh, and before I forget, I would seriously consult with SVC before doing any work on master ship tables to disseminate. I believe that is a SERIOUS copyright violation, but I'm not sure.
(I already have a database of every ship I have the product for, with electronic SSD, description, known names, and specific campaign information, but it's really for my own use, and I don't want to violate copyright by sharing it with anyone.)

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 12:00 pm: Edit

Each "operational" hex is a separate file, otherwise it'd rapidly get WAY too big and convoluted to handle. There is technically no reason I couldn't do it in a single file though. See the "10,4_tactical.txt" in the Alpha\Y168 folder for how I built it.

The lines can be any .NET color code (no spaces of course) and a thickness can be set. They can also be solid or dotted. The "10,4_tactical.txt" explains the format in the header.

If a base is destroyed, simply remove it from the units.txt file for that era, and it'll no longer appear. Same thing with the operational hex file. By default, if the operational hex file doesn't exist, it'll just load up the stuff from the main map and place multiple systems randomly (click on the Fed capital of 29,8 to see an example), but if a file exists it'll replace any main map data.

Yeah, I wouldn't touch the SITs without SVC's approval, and I'm like 99.99% sure he wants to keep a single copy here, which is understandable. I'd be happy to write all the code to make it a living site with hyperlinks and stuff, but will not even design it, much less code anything, unless he chimed in and said he'd wanna take a looksie.

Just for the heck of it, here was an enumeration of the properties I was considering if tracking each ship with a computer version... maybe it'll assist somebody somewhere. I made this a couple years back so didn't have the ISC war stuff yet. (NOTE: You can copy/paste this directly to vb.net)

Public Name As String 'Enterprise (Optional)
Public ID As String 'NCC-1701 (Optional)
Public Year As Integer 'Year built, 2300 (Spring) or 2300.5 (Fall)
Public Faction_Built As Byte 'Who built it
Public Faction_Owner As Byte 'Who owns it
Public [Class] As String 'Class of ship
Public Hull As String 'Hull, like CA for a CAD, or DN for an SCS.
Public Silouhette As String 'Silouhette to use
Public Computer As Boolean 'True if computer controlled
Public Size As Byte 'Size Class
Public Type As String 'Ship/Fighter/PF/Base/PDU or PGB/SWAC/Leader/Pallet/Pod/etc
Public CR As Byte 'Command Rating
Public Fast As Byte '0 = No, else its the additional speed (FDX is 2, most fast units just 1)
Public Speed As Byte '6, early years could be 4. Does not take into account Fast or X
Public SFBRule As String
Public Product_FE As String 'F&E Product
Public Product_SF As String 'SFB Product
Public Rules_FE As String 'CSV list of F&E rules applying specifically to this unit
Public Available_Year As Byte '
Public Available_Spring As Byte 'If true, its available that spring, else its only available in fall
Public Carrier As Byte 'Escort/Light/Heavy
Public SCS As Boolean
Public PFT As Byte '1/2/3/4/5/6 = Casual PFT with 1/2/3/4/5 PF, 100 = PFT, 200 = PFT w/2 Flotillas
Public Escort As Boolean
Public Conjectural As Boolean
Public Unbuilt_Variant As Boolean
Public Max_Total As Byte
Public Max_Per_Year As Byte
Public Max_Per_Turn As Byte
Public Cloak As Boolean
Public Tech As Byte '0 = Early, 10 = Middle, 15 = Late, 20 = X1, 25 = X2, 30 = X3?
Public Auxiliary As Byte '0 = No, 1 = Small, 2 = Large

Public Construction_Cost As Single
Public Construction_Fighters As Single
Public Construction_Surcharge As Single
Public Construction_PF As Single
Public Salvage As Single
Public Substitution_For As String 'Can substitute this unit for the list of units
Public Conversion_To As String 'Can convert this unit to these units
Public Theater_Transport As Boolean 'U on counter
Public Tug As Boolean 'Tug
Public LTT As Boolean 'LTT
Public Pod_Count As Byte '# of pods can carry
Public Pod_Double As Byte '# of double weight pods can carry


Public Drone As Byte 'Drone Bombardment
Public Mauler As Boolean 'True if mauler
Public Fighter_Squadron_1_Type As Byte 'Type of squadron, F14, F15, A20, F111, Standard, Replacments, etc
Public Fighter_Squadron_2_Type As Byte 'Type of squadron, F14, F15, A20, F111, Standard, Replacments, etc
Public Fighter_Squadron_3_Type As Byte 'Type of squadron, F14, F15, A20, F111, Standard, Replacments, etc
Public Repair As Byte '# of repair points (NOT field repair)
Public FieldRepair As Byte '# of field repair points
Public Shock As Byte 'If >0, ship suffers from shock if > this many attack used
Public Survey As Boolean 'Survey Ship?
Public Penal As Boolean 'Penal Ship?
Public BattleGroup As Boolean 'Battlegroup Capable?
Public Leader As Boolean 'Leader for size class?
Public Follower As Boolean 'If true, this unit can be led by a "Leader" of the same size class
Public EP As Byte '# of EP can carry
Public VIP As Boolean 'If true, can carry PT/MG/ADM/DIP or just 1 EP instead.
Public Hospital As Boolean 'Hospital Ship?

'These change when damaged
Public Attack As Byte
Public Defense As Byte
Public Scout As Boolean
Public Fighter_Squadron_1_Size As Byte 'Size of squadron, in factors, odd numbers are "half" factors
Public Fighter_Squadron_2_Size As Byte 'Size of squadron, in factors, odd numbers are "half" factors
Public Fighter_Squadron_3_Size As Byte 'Size of squadron, in factors, odd numbers are "half" factors
Public GCE As Byte '# of GCE
Public EW As String 'EWP per attack factor, something like 4,4,2,2,1,1
Public Diplomatic As Byte 'Diplomatic Ship? 0 = No, 1 = 1 DP, 2 = 2 DP


'These are all just stats
Public Stat_Crippled As Integer 'Times Crippled
Public Stat_Battles As Integer '# of times on the battle line
Public Stat_Damage As Integer 'Proportional amount of damage inflicted when it was on the battleline
Public Stat_Damage_Fighter As Integer 'Proportional amount of damage inflicted when it was on the battleline that was taken on fighters
Public Stat_Damage_PF As Integer 'Proportional amount of damage inflicted when it was on the battleline that was taken on PFs
Public Stat_Kills As Integer 'Individual Kills
Public Stat_Commands As Integer '# of times this unit in command on the battle line
Public Stat_PT_Battles As Integer '# of times a prime team has been on board, in a battle
Public Stat_PT_Turns As Integer '# of turns a prime team has been aboard
Public Stat_ADM_Battles As Integer '# of times an admiral has been on board, in a battle
Public Stat_ADM_Turns As Integer '# of turns an admiral has been aboard
Public Stat_Pursuits As Integer '# of Pursuits this unit has partaken in
Public Stat_Survey As Integer '# of survey points this unit has gathered
Public Stat_No_In_Class As Integer '# of this type built
Public Stat_Repair_Cost As Integer 'Total cost over lifetime to repair
Public Stat_Battle_Stars As Byte 'When participates on the line, and a '6' rolled for damage, a random ship on the line gets a battle star
Public Stat_Battle_Squares As Byte 'When participates on the line, and a '1' rolled for damage, a random ship on the line gets a negative battle star
Public Stat_Distance As Long 'Total # of hexes travelled over lifetime
Public Stat_Distance_Op As Long 'Total # of hexes travelled over lifetime (Operational Movement)
Public Stat_Distance_Res As Long 'Total # of hexes travelled over lifetime (Reserve Movement)
Public Stat_Distance_Rea As Long 'Total # of hexes travelled over lifetime (Reaction Movement)
Public Stat_DistanceStrat As Long 'Total # of hexes travelled over lifetime (Strategic Movement)
Public Stat_Pinned As Integer '# of times this unit was pinned
Public Stat_Reserve As Integer '# of times in a reserve fleet that deployed in combat
Public Stat_BaseAttacks As Integer '# of times participated in an attack on a SB/BATS/STF/MB/etc

Public Stat_Poor_Crew As Boolean
Public Stat_Excellent_Crew As Boolean

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 12:11 pm: Edit

Maybe putting each operational hex file in a subdirectory? I have hundreds of those which would be kind of cluttered in the main directory.
Other stuff via email...

(Awesome code, BTW...even more detailed than what I keep track of...)

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 01:42 pm: Edit

Ok, new update, same download link.

All references to "tactical" changed to "operational".

Fixed the show province/region (cartel) code as I broke it when I redid all the files... all should work now.

Updated the mouseover text on the title bar.

Remove the label on the middle of the form once you select an era.

Created an "Operational" directory under each era, where the operational hexes are looked for, and dropped the "_tactical" from the names of the hexes so they are now just "10,4.txt" or whatever.

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 03:44 pm: Edit

The download link is not working, Eric. It keeps downloading the same old .zip file from June 1st.

I even had a coworker try it, to no avail. :(

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 06:33 pm: Edit

Gotta be a cache issue, the only file on my server has the 6th as a date. I copied it to http://goodsects.gotdns.com/f&e2.zip which you can try to download instead, bypassing any cache issues.

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 07:22 pm: Edit

I got it from home, looks FANTASTIC!!!

I put borders around the hex with the "trade route" values...truly outstanding work, Eric.

The only issue I see is when you click on the button to move to a different hex, the trade routes stay there. I suspect that if I create a text file for that particular hex, the values might overwrite. I'll test my theory.

A minor thing - well, two actually - for whatever reason, my mouse has a scroll wheel that doesn't work with this app...that would be cool if it did. Secondly, the Operations Map is really big. Any way that it can be scaleable?

Again, Out-friggin-standing job, dude.

Seriously!

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 07:53 pm: Edit

Doh, the persistent routes was a simple fix.

I added some mouse wheel support to the main map, but there are only like 3-4 zoom levels (well they can be infinite, but I always double/half it, so if the mouse is say incremented/decremented by .1, it'll screw up the math.

And the operations map, no, that won't be easily scalable... well, not really that hard, but those buttons I had to hard-code their locations :) I can shrink the whole thing down a bit if necessary by just resizing the form, but to have a dynamic zoom will require a *bit* more work.

Download link updated (6:51pm cst 6/6/2012)

By Randy Blair (Randyblair) on Wednesday, June 06, 2012 - 08:43 pm: Edit

Ok, that's fine, if you can make it about 10% smaller, that would be great.
The persistent route fix got rid of the nice feature of not having to hard code the objects on the border hexes, but that's ok, too.
When I was referring to the scroll bar, I was talking about the ability to scroll up/down not zoom in and out. But it's cool. Looks awesome! I can at least now start converting my pencil/paper hand drawn maps to the text files. Woohoo!

By John Pepper (Akula) on Wednesday, June 06, 2012 - 10:09 pm: Edit

Great job! A few additons and this thing will be able to replace cyberboard as a primary F&E platform.

1) Ability to place and move units
2) Ability to add/customize unit specs
3) A "trash can" so you could keep track of total losses
4) Longer term some simple stats would be nice. Ideally if you click on the hex and get the compot/SEs/ect.
5) Battle board

By Eric Smith (Badsyntax) on Wednesday, June 06, 2012 - 10:09 pm: Edit

File updated (9:03 pm)

Fixed the mouseovers showing the correct hex on the operational map, and updated the text a bit.

I played around with dynamically zooming the operational map with no success. Problem is, as soon as you change the scaling of the map, all the icons look kinda fuzzy. So I could scale it to any size, but since it looked like crap I removed the functionality, removed the border, and did what I could to shrink the map down. The form is 924x818 now, it was 996x929, so hopefully that is enough. I'm assuming your vertical resolution is 800, so it may just cut off the bottom hexes a bit more than you'd like, but 800 is a pretty low vertical resolution these days :)

About the zoom. I guess your mouse lets your wheel tilt horizontally? I don't have one, so I can't test that :( Honestly, those scroll bars are kinda weak anyway and there are some issues when you scroll to the bottom of the map. I'll try to look at it one of these days.

I also fixed the operational maps so when you move to adjacent maps, it'll load the other maps and show what was on the borders. It worked in earlier versions, but stopped once I changed the operational map filenames and directories.

Hopefully that proves useful to folks, like I had mentioned if you do something cool with it in the future, like maybe getting your 1159 pieces of paper ported, I'd like to take a look at the end result.

By Ken Kazinski (Kjkazinski) on Thursday, June 07, 2012 - 12:20 am: Edit

Eric:

RE: Public Year As Integer 'Year built, 2300 (Spring) or 2300.5 (Fall)

This needs to be a real value and not a integer.

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