Archive through March 11, 2014

Star Fleet Universe Discussion Board: Federation & Empire: F&E COMPUTER PROJECTS: F&E Computer Development: Archive through March 11, 2014
By Eric Smith (Badsyntax) on Sunday, July 07, 2013 - 01:04 am: Edit

Due to my extreme annoyance at the ESSC table, as well as remember casualties, I wrote a little web page to do it all for me:

http://goodsects.gotdns.com/sit/essc.aspx

Pretty well documented. Uses random.org for the random numbers (no computer patterns here!).

And just FYI, my die roller is still up, nobody is apparently using it, http://goodsects.gotdns.com/diceroller

The domain http://www.cooltexan.com/sit/essc.aspx and http://www.cooltexan.com/diceroller should work as well, but since its a redirect folks have issues sometimes.

By Paul Franz (Andromedan) on Sunday, July 07, 2013 - 10:40 pm: Edit

Eric,
When it comes to die rolls generated by computer. It does not matter what you use overall. Because people will complain that they are not good. People don't like it when there is a streak even though that is a totally random result. (i.e. 3 1s in a row or 4 6s in a row for a 1d6)

By Kenneth Jones (Kludge) on Sunday, July 07, 2013 - 11:26 pm: Edit

Yeah and Paul would know about complaints about dice rollers:O

Yeesh I remember some of the cyber bloodshed from that very subject in the client.

By Eric Smith (Badsyntax) on Monday, July 08, 2013 - 12:01 am: Edit

Thing is Paul, I've played with RNGs a lot, and found them all kinda wanting. However, 2 things on that.

#1. Humans see patterns where there are none, as we see 10, or 100 rolls, when computers see millions.

#2. Random.org does *not* use a computer to generate the random numbers, it uses atmospheric noise. Random.org is used to generate lottery numbers and for scientific true random number generation. It is widely regarded as the best method to get random numbers out there. So I am using that with all my web based RNGs, and probably my future apps/games. There is a limit to the # you can get each day without paying, so I cache them for high use purposes, so I don't waste any bits.

By Paul Franz (Andromedan) on Monday, July 08, 2013 - 03:36 pm: Edit

Eric,
In the larger scheme of things, that is true. I have random.org as an option for players to use and it grabs 100 Die rolls at a time via client that runs on your computer and it takes awhile for you to go through 100 die rolls in the board game. So it is hard to exceed a quota.

By Eric Smith (Badsyntax) on Monday, July 08, 2013 - 04:49 pm: Edit

Well if you can get users to grab the numbers from their IPs I kinda doubt you could use them all up in a day with realistic usage. Heck, even doing the web thing where all the uses was from my web server, I never even got close to 1% usage in a day.

For free, you get about 15,625 64 bit integers per day. You can purchase about 10M of them for $150.

While the #s from there are random, I kinda wonder if I downloaded 1000, at the same time somebody else did, if those numbers would match up somewhere.

Oh well, random.org meets any needs I can foresee for a web based app, and when I was using it for F&E it generated MUCH better distribution of results than pbemgames.com did. It was pretty pathetic when I was afraid to do things as the dice were consistently against me, and pro my opponent :)

A thought on caching numbers though. If you cache numbers from most RNG's out there, and use a large cache for rolls, instead of rolling when needed, it does produce a better distribution. The problem is when 2 rolls end up in the same clock cycle, and the random seeds end up resulting in the same numbers being rolled.

Doing some googling turns out that dice themselves aren't really all that random, so maybe we just stop showing the end user the resulting die roll so they don't say the RNG is broke :)

By Scott Burleson (Burl) on Wednesday, July 17, 2013 - 09:06 am: Edit

I will be on the SFB Online call tomorrow night to discuss anything regarding this project.

Some items I have worked on the last few weeks:

There has been much implemented of the SelectedInfo page. This is based on the discussion that Lawrence Bergen started on May 28 here (http://www.starfleetgames.com/discus/messages/37/32168.html?1369996540)

Grounded fighters have been added to the battle dialog. This should allow you to easily handle the leave the half squadron home manually, more will be done with that later using the fighter ideas that were discussed a few weeks ago here.

The Manage Fleet dialog has been improved. Also hot keys have been added to allow that to work quicker. Basically, to move to fleet #1 Shift-Click, #2 Ctrl-Click, #3 Alt-Click

Some work has been done to start integrating Economics and multiple ways to access certain functions such as Manage Fleet and Resolve Battle have been looked at.

By Steve Cole (Stevecole) on Tuesday, November 05, 2013 - 02:54 pm: Edit

By Ryan Opel (Ryan) on Tuesday, November 05, 2013 - 03:48 pm: Edit

Cyberboard is down here

http://www.starfleetgames.com/discus/messages/37/7155.html?1383670697

Star Fleet Universe Discussion Board: Federation & Empire: F&E Cyberboard Development

By Dave Fowler (Davefowler) on Thursday, March 06, 2014 - 11:43 am: Edit

Hi I was just curious where and what things were happening with the computerized version of F&E?

Thanks

By Eric S. Smith (Badsyntax) on Thursday, March 06, 2014 - 09:41 pm: Edit

I stopped working on mine when the Cyberboard F&E game I was playing died and the fans keeping me motivated dried up. It is still sitting on my drive though, and I may get back to it someday. It is a *much* more daunting task than it appears to be if you want it more than just pushing cardboard, each ship has over 100 different statistics, many not thoroughly documented, that need to be tracked in order to do things like properly calculating pin counts.

I am pretty sure I put a link to my source up a few pages back, if somebody wanted to pick up where I left off. All I needed to do was add the save/load and tweak a bit of interface and it could easily replace Cyberboard/VASSAL.

By Randy Blair (Randyblair) on Friday, March 07, 2014 - 11:24 am: Edit

Unfortunately, those links are no longer working.

I was one of your fans...did I not wear enough lipstick and wave the pom poms enough?
Seriously though, I wish it would have went somewhere because I'm having to do mine from scratch, and it sucks.

By Ken Kazinski (Kjkazinski) on Sunday, March 09, 2014 - 10:49 am: Edit

Randy,

You really should look at all the work Eric did. Getting a export of the database alone will save you more than a man-month of inputting data.

I have not been making requests of Eric to update the mapping tool but the source is in good shape and you should be able to follow it.

The next step I was hoping Eric would do was make it so you could put a unit down, move it and have the record of movement. This way you could watch the entire game play out.

By Randy Blair (Randyblair) on Sunday, March 09, 2014 - 04:16 pm: Edit

How can I look at "all the work Eric did" without working links?
Ken, if I remember correctly, he made the operational level hex mapping tool for me at my request. And what he delivered was pretty close to what I asked for.
Unfortunately, my needs have expanded beyond what I originally asked him to do, so what he did is no longer useful to me. This isn't his fault of course...I just "moved the goalposts" so to speak.

I'd love an export of the database. But I don't see where I can find it.

By Eric S. Smith (Badsyntax) on Monday, March 10, 2014 - 01:14 pm: Edit

Doh, sorry, stupid dynamic hosting provider removed my old domain name. Any links anywhere I have to "goodsects.gotdns.com" should be "goodsects.dyndns.org".

So, for the F&E app:
http://goodsects.dyndns.org/F&E.zip (executable, the one with operational hexes)
http://goodsects.dyndns.org/F&E_Source.zip (vs2013/vb.net source for previous)
http://goodsects.dyndns.org/FEA.zip (a small stupid not-finished app that shows all the exploration zones, but is otherwise pretty worthless)

I didn't feel a real need to dedicate a lot of time to a computer based F&E when only a couple people seemed interested :(

Yeah Randy, I made that thing for you. I believe that is a different source, and if you needed a minor change it may be easy to knock out.

As for the database, well, SVC would flip if I posted it here so I'll avoid that. That is also why my latest source, that allowed dragging ships around and was nearly ready for an alpha release isn't posted, as it has all the SIT data within it (as does my SIT website, which I'm not 100% sure I can post for folks).

What kinda features did you need?

By Randy Blair (Randyblair) on Monday, March 10, 2014 - 05:01 pm: Edit

Eric,

I'm looking at a total rewrite.
First, THIS is the new Operational Hex (for my new "Module V" rules).
That alone is worth throwing up your hands and sayin', Good Luck, sonny.
Second, I want to do it all in HTML/CSS/MySQL.
Third, I'm shooting for a Mid-May timeframe.
EDIT: Fourth, I need some kind of drawing tool. Editing text files just took too much time.
Fifth, In the absence of a drawing tool, some way to convert a jpg or related graphic file, into a mySQL database. (i.e. something that can read the file and know what hex it goes in.)

Yes, you have my permission to call me crazy.

By Chuck Strong (Raider) on Monday, March 10, 2014 - 05:23 pm: Edit

Eric:

There have been many that said they can deliver CBF&E but it seems that the producer never really follows through…not because they really didn't want to but sometimes life gets in the way or other factors…

The only way this is ever going to get done is by someone who is a self-starter and has a good working knowledge of the game system. A workable and delivered product will truly generate interest.

This project must take a building block approach with reasonable and attainable goals. Tracking hull numbers, ship names, battle records or what's on the nightshift's dinner menu might be cool but tracking the number of ships and equivalents in a hex or tracking the fact that a given ship has already moved this turn is a much higher priority. Anything that speeds gameplay like a point-and-click battle board organizer with calculator would generate a lot of interest but projects like these are not glamorous and are quite frankly boring to design, organize and build.

…you really can't paint those cool rally stripes on the car if the body hasn't been assembled...

By Eric S. Smith (Badsyntax) on Monday, March 10, 2014 - 06:09 pm: Edit

Randy,
Well you have quite a bit of work cut out for you. I could have changed the code for your new hex template quite easily (hour or two coding), and could do the whole drawing thing with a few days coding, but the whole HTML/CSS/MySQL thing... yeah, I'll throw my hands up there. As an IT person and developer, the thought of making *anything* browser based these days is just asking for extreme frustration. 4 major browser, none do HTML implementation the same way, all are constantly updated. No thanks, I gave up on browser stuff, it has *lessoned* application compatibility recently over EXEs.

Oh, the whole PNG->MySQL is pretty easy... well, its easy with MSSQL as you can save a binary object. I presume MySQL will do it too. HOWEVER, this will make your database larger and give much more processing overhead. I'd recommend a pointer in the database to a PNG file to avoid needing a heftier MySQL box.


Chuck, yup. I totally know what you mean. All that tracking takes no more than a couple days to implement. It is simple stuff. As was things like ship counts, pinning, even moving. The hard part is implementing those rules. I started doing this with my SIT project, and with over 100 pieces of data for each unit, many of which are not defined, any F&E project would need dedicated support from ADB or it simply will never get done.

To a human they take a lot of "common sense" sorta stuff for granted, or just glaze over some rule as it is commonly done one way or another. A computer doesn't do that, its absolute, 1's and 0's. I would need to know, for every single counter in the game (and then some), things like if they can garrison a province, block supply, or block retrograde, while crippled AND uncrippled. I'd need to know that some ships do not help with pinning defensively, but still need to be pinned while moving, and all sorts of other vague and rarely encountered values. There are tons of variables like that that are not defined, or are very obscure.

Without that data being defined, there can never, and I'd even dare say will never, be an F&E conversion that is anything more than Cyberboard/VASSAL.

I started trying to fill in those blanks with my online SIT, and working with a couple pro F&E players would probably fill in 90% of the things I didn't know or wasn't sure on. Without those assets though, I can't do it myself, that was pointed out to me lots of times by lots of folks in my first real F&E game which was never even completed.

I have the coding expertise to do this project, and the free time, and I did have enough motivation to enter in over 5500 ships into my SIT and fill out as much data as I could. I even went through and made all the counters that didn't exist, and created lots of crippled ones. I spent a *huge* amount of time getting it all to the place where it was when I left off. That place was within a week's worth of testing and bug fixing of being a completely replacement for cyberboard. From there though, it could be expanded where cyberboard couldn't.

So, if folks want to see a computer F&E, the first step is to digitize the SIT and make it publically available. I've done most of the work here already, but it needs to be finished or at least moved closer to a completed product. My online SIT database can easily allow a couple of experienced F&E players to fill in *many* of the blanks, leaving a few here and there for the forums to answer. This is also *extremely* good for the cardboard version, as the data is 100% backwards compatible. There will be some growing pains, occasional bugs, incorrect values, etc, but all fixed in minutes for all to see. Taking this step is easy, getting ADB permission and more than 1 person approving data is not.

The next step would be getting with ADB and deciding if this will be free or for profit application. If free, development can continue from there. If its a for-profit application, there is a whole bunch of other things that need to take place and my wife has the MBA :)

If SVC wants to hop in, say that moving to an online SIT (Battletech recently did this with their http://masterunitlist.info) is the desired direction of ADB, or at least is an allowed parallel project that shows counters and F&E stats online, then I'll do what I can to help finish that up, even if I'm not a part of anything else.

He has accept it and let it happen though, if not, no progress.

I can have an alpha for testing in a week if he does, though my online SIT will still be woefully incomplete.

By Richard B. Eitzen (Rbeitzen) on Monday, March 10, 2014 - 06:41 pm: Edit

I don't think you understand the game and the rules well enough to do this, Eric. This project really needs someone whole plays the game a LOT and is familiar with the rules, rulings and at least good at guessing which way rulings will go. It requires someone who can separate his desire to change the rules from the desire to accurately and completely IMPLEMENT the existing rules.

From what I've seen of your posts, this person isn't really you.

Without these things, in my opinion, any attempt to actually program the game is going to fail.

By Alan De Salvio (Alandwork) on Monday, March 10, 2014 - 06:50 pm: Edit

Computer F&E would be mainly about moving ships, reaction, reserve, combat (BIR crippling and destroying), retreat, retrograde and strategic movement. The SIT has laughably little to do with all that. I suggest you create a testSIT with the 20 or so variable shiptypes (ship, fast ship, xship, aux, conv, tug, etc.) and get the main part working. Then dropping in the real SIT is easy. Shoot, even create a testmap, so long as it is a map of hexagons. Then you avoid all the ADB problems and can focus on the code.

An AI is a whole different ballgame.

By Randy Blair (Randyblair) on Monday, March 10, 2014 - 07:43 pm: Edit

I was going to suggest the same thing as Alan.

As far as what I am doing, I'm going to make two adjacent hexes, and populate them with a D7 and a Fed CA, the most popular ships, test, and scale up.

You are trying to eat the elephant by, well, eating the whole thing all at once.

As far as your criticism of an HTML only solution, I have spoken with a dozen or so IT colleagues (I'm an infrastructure guy who wants to go dev), and you are the only one who says to not do it.

So you're telling me that you can write an app that when the EU clicks on the F&E hex, it will drill down to the big hex map, just like the old one did? And you can make a tool that lets me draw the stuff on the map (trade routes, economic hard points, and terrain) which will save those values into a mySQL database?

By Richard B. Eitzen (Rbeitzen) on Monday, March 10, 2014 - 07:50 pm: Edit

Optimally, an F&E program would be able to accomodate the presence or absence of any expansion or optional rule and things of that nature. It's not at all a minor task.

Ships do indeed have many inherent traits, BUT, most traits have a default of nil or a default way of being calculated, so a good data structure might incorporate such a thing.

For example, a CA would normally have a combat factor of 8. That would have to be recorded, but it's move speed of 6, it's eco cost of 8 and it's lack of many of the additional features that ships could have does not need to be recorded in any way.

So a data record might have:
TypeOfShip = StandardWarship
CombatFactor = 8

Then any functions used to return special factors might have something like

int NumberOfFights()
{
if( TypeOfShip == StandardWarship ) return 0
else
return whateverthefighterfactoris, however that is stored
}

int EcoCost()
{
/return combatfactor if it's a standard warship, else find it's actual cost however you implement that
}

and so on.

This could make it a lot easier to add features later.

By Stewart Frazier (Frazikar2) on Monday, March 10, 2014 - 08:42 pm: Edit

Hmmm, perhaps Civilizations flag system for noting attibutes?

By Eric S. Smith (Badsyntax) on Tuesday, March 11, 2014 - 12:19 am: Edit

Yer right Richard, and I thought I had something like that in that post. Basically with all the people pointing out how little I knew in the first real game I played. But anyway, I can't disagree with you in that I don't know the game well enough to code it. But I'm betting all the people who know the game that well don't know how code it :)

Well opinions are common in IT. Just saying I've used web based apps, and they nearly all suck horribly, and incompatibility issues are standard. Its the developers that want to go web, its easier for them than application, and its a cop out IMO. But that really isn't the point of this whole topic, *I* do not think it is a good approach, others may differ.

But as for ya'll thinking this is easy, noooooooo. And if you think you can "start small" and work up, sorry, but that doesn't work either. You'll be 15% done and then realize you have to change *everything* to accomodate some new feature. You simply can't not code by starting small. You have to design the entire application and then build it. Starting small leads to failed attempts at something, incomprehensible code when it comes to implementing new features, and perpetual bugs.

Writing an application isn't like writing a book, where you simply add some more pages. Think of it more like building an aircraft, where you have to have it all designed out before you start building, and while you can make minor changes along the way, the overall goal in the end is the same.

It is funny, for me not knowing the rules (by my own admission, as well as others), how quickly ya'll seem to think F&E is simple, and pin counts are simply non-crippled=1, crippled=0.5. And so you think implementing that is easy, sure is, then you add an APT and it doesn't pin defensively. Now you have to go through all that code, and add special treatment for the APT, or, you change you database schema adding a new factor for things with only a defensive pin, and find you have to rewrite all the code that queries the database because now you have new values.

It isn't like F&E rules are growing extensively each year. All the variables *CAN* and *should* be defined before anything starts.

For example, right now, in the code I've already written, I can, in milliseconds, sum up dozens of different values. I can determine an offensive and defensive pin, the fighter factors of the pin, the max command rating of a formation, the total and average compot, the best compot line, the salvage cost, the build/replace cost, the cost to repair if everything is crippled, etc, etc, etc, etc.

The difference in determining if a stack is raid capable vs if a stack can disrupt a province is a single string value change.

Heck, even special fighters, it isn't just a #, just think to yourself how many kinds of special fighters are in the game, and a computer must have defined. F14, F111, A10, Regular, X, special F15, etc, etc. I already have the code to determine all that.

In fact, my database now has all the *known* values for stuff. I don't know if an E2 or E3 SWAC is allowed on a fighter raid, or the size for a rescue tug (I am pretty sure it isn't eligible, but I wasn't 100%, so I didn't mark it so). I don't know the defensive pin value for a Gorn CVS (not including fighters), I'm betting its 1, but I was not 100% sure, so I left it blank. I'm sure quite a few of you could go through this and see that it is obviously a particular value, as could I, but as SVC has said many times in regards to the current SITs, he is the only one who can make some of those calls.

And just remember, if this was so easy we'd have seen an implementation already. If you could start small and build up somebody would have done it. If you could just knock it out in HTML5 Canvas we'd see it.

Fact is, there is no implementation, so either:
#1. Ya'll are wrong in the assumptions of ease
#2. Nobody wants to do it
#3. Nobody can do it who may want to
#4. It keeps getting started with assumptions of starting small, only to bog down and peter out once the assumptions are proven false.

It isn't like I'm just saying these things, I've probably spent hundreds of hours actually working on it. Heck, as far as I know, I'm the only one here who has done anything recently on it. This was my latest pre-alpha:
http://goodsects.dyndns.org/F&E_Proof.png - you can zoom to any %, pan around, maximize to any # of monitors, drag stuff around, create unlimited tray counts, and a slew of other stuff I forgot.

Here is an unreadable version of my SIT Database, just 1 of 10.5 pages shown (notice all the blanks):
http://goodsects.dyndns.org/F&E_Database.png - The 2 thick columns towards the left are the crippled and uncrippled counter stats. Everything else isn't on a counter. About 9% of the columns are construction/conversion data.

Not perfect or finished, but *something*. Even though I suck with the interpretation of the rules (and still feel some of them were kinda stupid), the simple fact I do not know the rules makes me more likely to do an accurate conversion than most, as I'll make far fewer assumptions than many of you.

And to bring up yet another point. Though I may have been new, and was playing against a "seasoned" player (Ted Fay), we continually came up with situations the rules did not cover and we were forced to ask questions and get official rulings. That right there should send up some serious red flags to anybody who attempts a computer F&E conversion. I accepted them, and like anybody else who would bite this off, is probably foolish for doing so.

So, who is going to start with this simple project? I have some great HTML5 tutorials if anybody is interested, and a directX 2D library I wrote for vb.net if anybody needs it.

By Eric S. Smith (Badsyntax) on Tuesday, March 11, 2014 - 12:25 am: Edit

Randy, oh, sorry, yeah, I could do that, but would need to copy your database on my dev server in order to write the code that updates it.

Simply expanding that hex map out to more hexes is pretty simple. Drawing stuff in a hex is also pretty simple.

I wonder if your next version will be down to 1 Parsec hexes though ;) (and yeah, that can be done just as easily as 100 pc hexes)

Is there any real F&E/SFB mod or future project that has rules at that level, some intermediate thing?

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