Archive through June 19, 2020

Star Fleet Universe Discussion Board: Federation & Empire: F&E COMPUTER PROJECTS: F&E Computer Development: Archive through June 19, 2020
By Ken Kazinski (Kjkazinski) on Wednesday, January 01, 2020 - 07:48 pm: Edit

I would like to help on this type of project.

By David C. Holst (Dholst) on Monday, January 20, 2020 - 08:26 pm: Edit

Ken is a fantastic resource. Wow.

Over the past few weeks, I've added a simplified ship system, processed a ton of ship icons (thanks Ken!), added the start of a "ship dictionary" to view ship statistics, and initial ideas around how to view the contents of hexes.

Godot has been fascinating. Ive been able to do things like add navigation, popup panels, and so forth fairly quickly and easily. Im not getting frustrated, and am able to fairly quickly see the results of what Im trying to do. The object oriented design of Godot makes a lot of sense.

I created a "google site" showing some of the results in case anyone is interested:
- https://sites.google.com/view/fedandemp/home
- https://sites.google.com/view/fedandemp/fande-2020-01-20 <-- Has latest update with images.

If anyone else is interested in exploring, please feel free to contact me. I have a source code repository set up (git), and a slack channel for communication. Technical skills in coding is not required (though useful)

Regards,

David

By Richard Eitzen (Rbeitzen) on Monday, January 20, 2020 - 10:16 pm: Edit

Is this something that will implement F&E rules?

What language are you coding things in, like data structures and such.

I wrote a program that generated the F&E map (with bases, nz hexes, provinces, offmap areas and such) using a text file with object lists and hex locations) so that one could make custom maps by simply adding the desired information to a text file. It did not do any rules stuff which is the goal of my current (currently on hold) project.

By David C. Holst (Dholst) on Monday, January 20, 2020 - 11:37 pm: Edit

Richard,

My intent is to implement the rules, but perhaps by taking a different approach.

At work, I have a ton of engineers that regularly use Unity3d (a game engine) to perform their tasks. I don't have their experience and background for Unity3d, but I do have a strong software engineering background and see the advantages of utilizing a game engine for the visualizations. Considering I may have around 20 hours into this thing, I've made a fair amount of progress.

I'm also a strong believer in having revolutionary ideas, but implementing them using evolutionary steps. I've had a lot of success in my engineering teams doing something similar.

Im using Godot, a game engine (think of it as a game engine for entry level, but one that is capable of doing a lot). It has it's own script called GDscript (basically python). Visualizations are usually difficult, but a game engine makes them fairly easy. Godot also has an advantage over many of the other game engines in that it is free, and has a lot of tutorials and related support.

Im starting fairly granular, basically...

- Can I create a hexmap of the federation. Took about 10 hours work. I could likely complete the rest of the areas in another 10 hours.
- Can I create a ship counter?
- Can I move the map around through a viewport / camera (zoom in, out, middle mouse button move the map)
- Can I identify the map hex that I clicked on?
- Can I create a ship with front / crippled images and some stats?
- Can I create a viewing area off the side of the map to display what would be in a hex?
- Can I create a dictionary of all ships belong to one of the empires (FYI this was a learning, and idea that I came up with to solve a problem I was having in visualizing how the data lived in Godot. By creating a 'federation ship dictionary', I could see the ship names, images, and stats and verify that I got them correct (didn't the first time). I also realized this could be useful for later steps in the game. Eventually this could be populated through DB call or configuration file.

All of the above are done (in that I achieved my goal, and know I can easily improve on them. They aren't 'game ready for production release').

My first major goal is implement the federation side in one of the scenarios (placing all bases, ships, etc). The immediate follow on would be to see if I can create a battle board and run a simple combat.

Im also thinking about more than just the rules, but what would make this game playable on a computer?

I suspect Im a bit away from these so far, but Im having fun.

You mentioned the progress you have on your program. Way cool. Ken also has a huge database of useful data. I've been struggling a bit on how to use that, as the evolutionary approach that I use won't take advantage of that immediately. In essence, I'm creating a thin slice that shows how we can implement some of the functionality. This can eventually be built upon to take advantage of the database and/or configuration systems you both have. But for now I think it may be more important to show functionality with a core (simple) set of the rules. This has allowed me to learn more about the engine, and to experiment with some thoughts around design. After the design proves itself (or is replaced with something better), then we know we could expand it to include larger capabilities such that Ken and you are interested in.

David

By Richard Eitzen (Rbeitzen) on Tuesday, January 21, 2020 - 01:08 am: Edit

It took me a few days for my program, it was in C++, had to make my own graphic routines as I last did graphics in C++ when DOS was the main operating system PCs used (so my old assembly routines were no longer applicable).

To view the map I had to save the graphics array into a png file and use a file viewer (having to make my own routines to draw letters, planets, hexes with variable color and side widths and various basic graphic functions, was fun.

Unfortunately that code isn't usable for what I want to do, which is to make a program that will work on PCs and MACs, so I am studying up on Java to meet that goal.

I intend to make the game playable via hotseat, email, or over an internet connection (unfortunately the last will take research to learn how to do it).

I intend to make the program 'enforce' the rules of Basic 2010 F&E with the ability to override the rules to adjust the board so that people who want to use house rules or their own rules interpretations can do so (also to aid e-mail play).

I do have good knowledge of the F&E rules, which helps and a lot of playing time spent playing it, face to face and by email.

***

How much F&E have you played?

By David C. Holst (Dholst) on Tuesday, January 21, 2020 - 08:53 pm: Edit

Richard,

How much F&E have I played? If you'd have asked me that 25+ years ago, I would have answered "A fair amount". More recent then that? Well, this is one of the reasons to work collaboratively with more knowledgeable individuals such as Ken and yourself :).

With family and other matters, I've had to set aside my richard berg games, along with other massive scale games (at least, for now). F&E has been in the back of my mind for a long time. It has a very intriguing set of rules. I'm currently limited to gloomhaven, mage knights, and similar games.

Computerized versions change that equation for me (saves time setup, learning rules, arguing rules, missing rules, figuring out how to backtrack because I got rules wrong, saving game, restoring game, etc).

I've been a java engineer for over 20 years (and my current job revolves around java). I still think a game engine (such as godot, unity3d, or perhaps lumberyard) is the way to go for this type of thing. For deployment, Godot can export in multiple formats (including PC, Mac, android, IOS, etc), along with simplifying the creation of a UI. GD script is basically a form of python, so a reasonable alternative to Java. The only reason I picked Godot over any other engine is that it was rated well, free, and has a ton of tutorials / demos. I'm not tied to godot for any other reason.

Right now Im looking to see if there are individuals interesting in collaborating on moving this thing forward. The best chance of success will be a group that is interested and involved.

If anyone is interested, I've set up a slack channel, git source code repository, and google site for progress. Im happy to provide access to any/all...

By David C. Holst (Dholst) on Tuesday, January 28, 2020 - 08:46 pm: Edit

Federation and Empire (computer version using godot game engine)

Latest update (with images): https://sites.google.com/view/fedandemp/fande-2020-01-28

Sliced up fed fleet icons (way larger than I expected).
Added fleet, fleetViewer, updated ships, etc)

Anyone interested in more details, or if you'd like to help (don't necessarily need a technical background), ping me!

By Brian Klotzman (Briank) on Sunday, March 22, 2020 - 08:21 pm: Edit

Hey folks, I can't really believe I've never been here before. My buddies and I used to play F&E (and a lot of SFB) back in the early 90s and I've played the one off game now and again since then.

About 20 years ago I decided I was going to code this game and would do it in fits and starts but never really got anywhere as daily life seemed to always get in the way.

Anyway I picked up my project again, realized I hadn't touched it in 10 years and that it would be easier to start over :) So re-doing the whole thing in C# now.

After a few days of coding this is where my project is at. The map, scenario, races, units, etc are all read in from files external to the code. So far I've written a module for initial deployment of forces (including splitting fleets and detaching units). then doing the basics of the economics phase, namely calculating income, doing off-map surveys, and assigning tug roles (although right now you can pick ANY role, so I need to update that some)

Just a little side fun "quarantine" project for me. I made a quick video of what it looks like right now:

vid on youtube


I should point out I'm no artist so I lifted the ship icons from the Vassel game set...so all credit to the appropriate folks for that artwork.

By Richard Eitzen (Rbeitzen) on Sunday, March 22, 2020 - 08:42 pm: Edit

Nice work so far.

You have any in-game SIT displays?

By Brian Klotzman (Briank) on Monday, March 23, 2020 - 10:24 am: Edit

Thanks Richard.

Not yet on the SIT.

I think today I'm going to try and work out supply calculations...which also means I'm going to need to build a hex pathfinding routine and probably a save/load mechanism so I don't have to keep going through initial deployment every time I want to test something.

Of course I have to do my real job too (fortunately I have a role that allows for work from home)

By Richard Eitzen (Rbeitzen) on Monday, March 23, 2020 - 10:29 am: Edit

Yeah save and load is needed; you probably should make something for loading a set scenario or whatnot and make a SIT display.

I did a supply check algorithm in the mid 90s but it was lost long ago with the hard drive it was on. :-( I remember it used recursion.

By Ken Kazinski (Kjkazinski) on Sunday, March 29, 2020 - 06:17 pm: Edit

Brian - I have a large data set if you would like to use it. If so reach me by email.

What language was this written in?

Ken

By Richard Eitzen (Rbeitzen) on Sunday, March 29, 2020 - 07:57 pm: Edit

C sharp.

By Brian Klotzman (Briank) on Tuesday, April 21, 2020 - 01:59 pm: Edit

Hey guys, sorry for the radio silence. Actually got a little busy with work, but did still find time to work on the project.

Yes, this is written in C#. And Ken I will gladly take you up on that offer; I'll send you an email shortly. I've been hand coding my SIT and related tables as I needed them and I'd love a head start there.

As for where I'm at...I realized I was doing something dumb...notability I was using my 2000 edition rulebook. I have the 2010 version and all the expansions, but for some reason I'd grabbed that book.

So went back, made a few corrections for that and then figured, I've got the books and the time, I'm doing all the rules :) (yes crazy ambition has never been a problem of mine)

Anyway I also did some work under the covers as I decided I didn't like the way some of the data classes had been put together.

The result is I now have most of the Economics phase complete including the rules from F&E 2010, AO, CO, PO, SO, and FO.

I changed it around so instead of popping up the Economics form, now it takes you through the sequence of play in order. I do skip 1A at the moment, but it’s coming.

Also added a couple UI niceties like a display of where you are in the Sequence of Play and offsets on units if there is more than one in a hex so it looks like a little stack as you'd get in the real world.

Tug assignment still lets you pick any mission as I haven't dealt with pods yet and there are certainly things I could make look better...but its coming along

Oh and I added a save/load mechanism.

Here is a quick 3 minute video if you care see it... youtube

By Shawn Hantke (Shantke) on Tuesday, April 21, 2020 - 02:13 pm: Edit

I Suggest changing "Select a Race" to "Select an Empire" before Jean launches her Bampton Stew Pot at you. It looks pretty cool so far!

By Richard Eitzen (Rbeitzen) on Tuesday, April 21, 2020 - 02:57 pm: Edit

There are two more expansions that do have some rules, Minor Empires and ISC War.

I know the rules really well for F&E and have done some programming work.

If you want to ask me rules questions (I am not the official answer guy but I can still be of help) you can email me at mcalhoon2 at sbcglobal dot net.

It might be worthwhile to limit your rules to just the basic 2010 game and then add expansions once you get that working.

By Jason E. Schaff (Jschaff297061) on Tuesday, April 21, 2020 - 05:28 pm: Edit

Dang, that looks cool!!

By Richard Eitzen (Rbeitzen) on Tuesday, April 21, 2020 - 06:10 pm: Edit

It does look nice.

Can you put ships on the map without them being in a fleet?

I suggest that your fleet displays show a summary under the counters or somewhere, showing how many SEQs are in a fleet and how many of each ship, such as C8 3D7C 15CW z-cv. I would suggest using lower case to denote crippled ships and a letter prefix showing a captured ship (z-cv would be a captured Kzinti CV).

One thing that is nice to have on a map are hex numbers and names for planets and some bases, offmap areas and other things of interest.

I do like the look of your interface, though I think sometimes having small sections of the map to help identify the locations of units might be helpful (such as when doing tug missions).

By Chuck Strong (Raider) on Wednesday, April 22, 2020 - 01:32 am: Edit

Brian:

What SoP are you using?

By Brian Klotzman (Briank) on Wednesday, April 22, 2020 - 11:09 am: Edit

Thanks guys, I'm pretty happy with it so far.

Chuck -> the Master SoP labeled 9 Mar 2020

Richard -> already changed to Empire...I don't need any cookware hurled at me :) and yeah I forgot about Minor Empires and ISC War as those are two that I don't own.

Yes you can put ships/units directly on the map without a fleet. I go by it fast but the D7E and D6E do that be default and of course all the BATS/SB are just like any other unit to my code.

I'd been thinking about what other info to add to the fleet/unit/hex displays thanks for those suggestions...I do like them. Great idea on SEQs.

By Richard Eitzen (Rbeitzen) on Thursday, April 23, 2020 - 09:01 am: Edit

Total compot, highest three command rating ships, average compot, highest possible compot of a legal battle force from the hex (without command points, but with admiral if present), number and type of attrition units, perhaps tug mission info of tugs in hex, a separate listing of transport and logistics units, perhaps some other things.

Have you played Vassal? It lets you stack counters inside a fleet and move them by stacks. This is handy for those 300 ship fleets and such (fleet sizes can climb beyond this as the game progresses).

By Chuck Strong (Raider) on Thursday, April 23, 2020 - 02:06 pm: Edit

Fleet counters nested inside other fleet counters would also be nice.

By Richard Eitzen (Rbeitzen) on Thursday, April 23, 2020 - 02:27 pm: Edit

Second that!

By Brian Klotzman (Briank) on Friday, June 19, 2020 - 11:57 am: Edit

Hey guys, its been awhile...work has been crazy (which I'm not complaining, happy to have a job) so haven't had as much time, but still did a lot this go around.

Summary of major changes:

Behind the scenes stuff...
* Starting using Ken's amazing datafiles for SIT information (THANK YOU KEN!!!)
* Significant performance refactor on the map itself

What you care about...
* Added support for Police Ships
* Added Mothball Activations
* Added the Build phase (2B3A) including scheduled builds, substitution, overbuilds, and accelerated production)
* Started tracking die roll stats (thought of this because of the discussion in some of the battle reports)
* Added support to display disrupted provinces
* Added ability to always look at the map
* Added ability to always look at the econ form

There is probably more, but thats what I can think about right now.

Here is the link to the latest vid:

Video on YouTube

By Ted Fay (Catwhoeatsphoto) on Friday, June 19, 2020 - 02:03 pm: Edit

Brian: This is looking AMAZING.

Couple of quick suggestions:

On survey, suggest having a drop-down which assigns X/Y survey ships to survey duty. That way you don't have to click each survey ship, just one for HRS or on-map, or something.

On builds, suggest another interface in the pop-up for ship type that is being built to enter the NUMBER of ships being built. That way the Klingon player doesn't have to go through the process of selecting a D5 9 times, and instead can just select the D5 once with 9 being built.

Way to go!

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