Archive through April 08, 2014

Star Fleet Universe Discussion Board: Federation & Empire: F&E COMPUTER PROJECTS: F&E Computer Development: Archive through April 08, 2014
By John de Michele (Jdemichele) on Wednesday, March 12, 2014 - 03:22 pm: Edit

Eric:

Yes, I program in Java for a living, and I've even done it in (shudder) Windows. I'm not sure where you're getting the idea that java games are more error prone due to java, and not the programmers from. I've seen plenty of Windows games have bugs, and large projects tend to have more bugs regardless of the language that they're written in.

By Eric S. Smith (Badsyntax) on Wednesday, March 12, 2014 - 03:54 pm: Edit

Ok, perhaps I should rephrase it to something more like "java developers aren't as good as coding windows based applications" or something. And honestly it isn't games that I've had the most problems with, its enterprise class applications written in Java, costing often hundreds of thousands of dollars per year.

Yes, a great developer is great with any language.

A horrible developer is horrible with any language.

Just like a carpenter with a hammer, or a doctor with a scalpel, or a mechanic with a wrench.

Based on my experience (in enterprises with thousands of servers, and tens of thousands of users), the JRE is far more problematic. Maybe its the developers, maybe its Oracle, but fact remains, it has issues. So perhaps its just my opinion, but I'm not making up stuff here.

Maybe Java is just harder (knowing it a big, I don't think so) and those great programmers far more rare.

Doesn't really matter either way though. Folks that love/live java will argue till their dying breath that its the best, while folks that love assembly will do the same.

About the only language I can say truly sucks is English.... silent letters, REALLY??!?! Idiots.

By Eric S. Smith (Badsyntax) on Wednesday, March 12, 2014 - 04:39 pm: Edit

On a further note, after reading an old topic on various play aids I found out why I did so much, and what all transpired. This is was my particular story on doing computer stuff for F&E for folks that don't know all the details.

First, I started playing F&E with Cyberboard. This of course quickly showed me the things I thought needed to be better. I was going to go and update Mike Parker's great budget spreadsheet, but needed all the ship data in order to let you click on a Fed CA and see everything you can convert it to in a particular year. Eventually it kinda died out as I didn't have that data. I wrote a couple other tools, a new battle calculator in excel and a die roller that gave far better random results than the other solutions we saw. Eventually I played around and made some F&E maps in .net, and even HTML5. Eventually I made an update that showed little tactical hexes for each F&E hex for Randy. Soon after I decided to start making a Cyberboard replacement. Within a month or so I got quite far, and was on the fast track to something finished.

Then Ted got tired of playing with me because of my constant ebb and flow over how the game mechanics worked and my constant questioning of rules that have been around and accepted by others for decades. Then people in the game thread on here started getting a wee bit too troll like. So, I stopped playing F&E and with Cyberboard.

And then people stopped asking for updates, giving input, commenting on my updates, basically, felt to me like nobody really cared (well Ken/Randy still occasionally said something). If I would have had the feedback that this thread has seen over the last week a year or so ago, I never would have stopped working on it, and it'd be long since finished.

Around this same time I got a version of the online SIT up. I showed it to a couple folks privately, and got nothing but positive feedbacks. It still needed a bit of work, but it at least was a far more intuitive replacement for the current PDFs. Plus, I finally had what I needed to create a build form that would be much simpler, and could integrate it with my Cyberboard replacement. SVC stepped in, said he was kinda interested but not to post it to the public. I complied, was told there would be interest after origins. Then I saw a couple blogs SVC posted which sounded like it was dead, so I stopped working on it.

Now I'm almost tempted to get back into it, almost. I don't think it can get much better with out ADB's approval. ADB has a strict policy in regards to its IP. Frankly, I'm extremely surprised the Cyberboard mod is allowed. Anything more than what we have now would start to infringe on that. We'd have SIT data and its errors duplicated, counters duplicated, rules and tables duplicated, and I just can't see ADB going for that.

Without ADB allowing any SIT data to move to the cloud, we can't take another step forward.

By Richard B. Eitzen (Rbeitzen) on Wednesday, March 12, 2014 - 04:41 pm: Edit

I think calling people trollish is a step too far.

By Ted Fay (Catwhoeatsphoto) on Wednesday, March 12, 2014 - 04:47 pm: Edit


Quote:

Then Ted got tired of playing with me because of my constant ebb and flow over how the game mechanics worked and my constant questioning of rules that have been around and accepted by others for decades. Then people in the game thread on here started getting a wee bit too troll like. So, I stopped playing F&E and with Cyberboard.


That's not accurate. The last thing that happened in that game is I sent you the ending GMV for turn C12 along with updated econ spreadsheets - all on 3/20/13 (almost one year ago). And that was sent after the argument of 3/19/13. It was also clear from my post of 3/20/13 that I was expecting the game to continue. Had you wanted to continue that game all you had to do was pick up A12.

So, it's more accurate to say that you abandoned that game.

By Chuck Strong (Raider) on Wednesday, March 12, 2014 - 05:05 pm: Edit

ALL: Let's keep the tones pleasant please -- FEDS.

By Randy Blair (Randyblair) on Thursday, March 13, 2014 - 09:16 am: Edit

Moving forward: I would still like to see a drawing tool that saves to a database.

By Eric S. Smith (Badsyntax) on Friday, March 14, 2014 - 10:46 am: Edit

Based on your new 30 or so hexes per 500pc you are now using, or just a general hex tool that lets you draw stuff on a hex map?

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

The new hex map that I provided a link for.
I'm not using the 37 hex Operations Level Map anymore.
If you made something that I could add my own symbols to, represented numerically on the back end, that would be awesomesauce.
Basically, I want to be able to draw trade routes on the map, put economic hard points on, as well as terrain features, and have all of that stored in a mySQL database.
Make sense?

By Ken Kazinski (Kjkazinski) on Friday, March 14, 2014 - 08:05 pm: Edit

Why use MySQL instead of using a built in compact database. The database would become part of the application and would not require a stand-alone database.

By Randy Blair (Randyblair) on Friday, March 14, 2014 - 10:12 pm: Edit

Cross platform portability.

By Matthew Potter (Neonpico) on Saturday, March 15, 2014 - 12:04 am: Edit

MySQL (or PostgreSQL if you lean that way) are mature database servers that can handle multiple requests at a time without problems, and tend to be able to optimize your data. They basically do everything you want but faster, with fewer bugs, and a lot less development time on your end.

EDIT: And it is free as in beer.

By Eric S. Smith (Badsyntax) on Saturday, March 15, 2014 - 01:07 am: Edit

My question would be why use a database at all? Flat files in a linear system like this are *always* faster, *always* consume less resources, and *always* less disk space (assuming excellent architecture from both sides). They also require an additional skill set if it isn't there already. And finally, it'll require a development database unless you don't mind making changes to the production one (often folks use their own workstation for this). Multiple users writing data at once is easier with SQL, but reading is no problem either way.

If I was doing this for you I would be writing an EXE, so cross platform wouldn't be applicable as it'd be winders only.

But, if you still want it to write to a sql instead, the code difference is maybe 6 lines either way.

If I did this what requirements do you have aside from a map where you can add/remove stuff, and the tactical map where you can add/remove stuff? By stuff I mean lines of various colors/patterns between hexes, graphic objects not bound to hexes (like a BMP with a region name), and graphic objects that scale down and fit within a hex. Plus the ability to color hex regions, foregrounds, and backgrounds. I'd rewrite all that from scratch (not as hard as it sounds), and write in virtually unlimited size with either map so it could be used with other games. I won't do anything F&E specific within it like I was with my other project.

I guess just give me a list of requirements, and I'll see what I can do from there.

By Ken Kazinski (Kjkazinski) on Saturday, March 15, 2014 - 03:45 pm: Edit

Mathew - just as a side note, I found just because something has no license cost does not mean it is free. I found that with a lot of open source projects, they required a whole lot more work to get set up and operating correctly. I also found that the on-line help communities are not always responsive nor understand what your question really is. This may just be my experience with these type of tools.

By Eric S. Smith (Badsyntax) on Saturday, March 15, 2014 - 05:48 pm: Edit

If you buy open source and pay for maintenance, often you can end up paying *more* than you would with Windows. Red Hat Enterprise Linux was this way, it was extremely expensive in comparison.

In an enterprise, open source is bad news in many cases. For example:
- You have to pay for support, which usually offsets the "free price" and often is actually more.
- Open source means you are expected to fix your own problems, you have the code and all. If you think this is easy you are gravely mistaken.
- You'll pay 20-50% more for the equivalent engineers to support open source stuff, as there are a lot fewer of them and they can demand higher money. They also can entrench themselves far more and a bad one can be extremely hard to get rid of.
- Compatibility is simply not there. Chances of adding a device that isn't support is very high, even if you just buy standard stuff. Often it has *some* driver, but it isn't an optimized one and performance suffers.
- You will probably still not be able to get away from many products, like MS Office or MS Exchange, so no matter what you end up with a mixed environment, and then need engineers for *both*.
- When it breaks, well, good luck with that. It'll be much harder to fix, even for good engineers on it.
- There are nearly always huge numbers of things missing compared to the "expensive" version. Sure, mySQL (and other databases) ca be a great database, but MSFT blows it away with features, stability, ability to scale, etc.
- The community is horrible, and filled full of people that think your an idiot, and treat you like that. I've heard this story more times than I can count. I'm sure somebody knows of some nice forum out there, but it'd be an exception.

Don't get me wrong, I'm not anti-open source. Some in an enterprise it leaves a lot to be desired. Heck, I've tried using it for a couple weeks at home as my primary OS, and screw that, I'd rather just go back to Windows 95. If you have a grandmother who keeps getting viruses, Ubuntu may be just the thing for her desktop (and running off the CD no less). It is FAR easier to roll out a huge *nix implementation, and some things are just a bit easier, especially now that MSFT is hiding so much in Windows 8/2012.

I have also started to become annoyed at the people that use their mouse for *everything*. Its like engineers have forgotten how to go to the command line to really "get things done". At least the *nix community is still *mostly* command line, and that is great.

I've used MySQL, and it worked fine. I also ended up buying a management tool for it as its interface left something to be desired, but it worked, did what I wanted out of it.

I will say though, I hate Microsoft and the direction they are taking. It is truly abhorrent and I don't want my 4 monitor workstation to have a slow and detail free tablet interface. I wish all the linux folks would get together, form 1 good conglomeration, and come out with a better OS already. Heck, at this rate even Mac's will be a better OS than the garbage MSFT is presently spitting out.

But anyway, here is the code to update a database in VB.NET:
Dim SQL_Conn As System.Data.SqlClient.SqlConnection = Nothing
Dim SQL_Cmd As System.Data.SqlClient.SqlCommand = Nothing
Dim SQL_DR As System.Data.SqlClient.SqlDataReader = Nothing
SQL_Conn = New System.Data.SqlClient.SqlConnection("Server=boomstick;Database=eatmorchiken;Pooling=false;connection lifetime=30;uid=sa;pwd=drinkmoreovaltine")
SQL_Conn.Open()
SQL_Cmd = New System.Data.SqlClient.SqlCommand("Select * from Table", SQL_Conn)
SQL_Cmd.ExecuteNonQuery()
SQL_Conn.Close()
SQL_DR = Nothing
SQL_Conn = Nothing

And here is the code to update a binary file:
Dim Stream As System.IO.FileStream = Nothing
Dim BinaryWriter As System.IO.BinaryWriter = Nothing
Stream = System.IO.File.Open("filename.bin", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, System.IO.FileShare.Read)
BinaryWriter = New System.IO.BinaryWriter(Stream)
BinaryWriter.Seek(Offset_In_File, IO.SeekOrigin.Begin)
BinaryWriter.Write("some data")
Stream.Close()
BinaryWriter.Dispose()
Stream.Dispose()
BinaryWriter = Nothing
Stream = Nothing

So basically, right there, I have the code (extremely verbose for the example) to write to either method, and it could be defined at runtime or defined at any time.

The file benefit is there is no overhead on the system to jump to say, byte 105,300,182 and write the value '1', when if you inserted that value into SQL it'd have to find the value in its own indexes, which is far more intensive. Also, every byte you write in the file is exactly 1 byte on the file system, SQL is well over an order of magnitude more. It all depends on your needs and how you are going to use the data.

Simple stuff either way though ;)

I'll put a map maker sorta thing in my queue.

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

Ok, let me explain to you (Eric, and anyone else who likes to code stuff) what I have, and where I want to be.

For every hex in F&E, I have a handwritten map that looks something like THIS.
That hex is already "converted" to my OLD system. Eric created an F&E map program that allowed me to zoom in on a hex and add items, by editing a text file.

I rewrote my rule set to incorporate a larger map. So, the above hex looks like THIS. Note, I'm not done with this hex, but I'm using it solely for comparison purposes.

That being said, I would like a drawing utility that lets me pick objects from a template (Economic hardpoints, terrain, elevation markers, etc.) and puts them on the map and then allows me to draw mid-hex to mid-hex lines between them.

When I save the map, it writes the data to a MYSQL DATABASE (I don't care if it's "production" or on a PC, as long as I am able to access it and put it on my server. If it's easier just to give access to my database, so much the better...that's no problem at all.) That is the OUTPUT of the program...the database.
Editing literally several thousand text files just proved to be too unworkable for the 1,159 F&E hexes I had to convert from hand drawn to electronic format.

The program has to be intelligent enough to know that small hexes overlap each other into the large hexes, i.e. hex 1004-2801 contains the same information as hexes 1003-2828 and 1104-0115. (Yes, that is the numeric "naming convention" I use.)

I don't care what the tool is written in or whether it's an .EXE or not, because it's the output that matters (the information stored in the database).
A validator would be nice...i.e. I put in 1004-2802 and it comes back with "null,0,0,0,null" or 1004-0910 and it comes back with "Kzaraat, 3,0,0,Kzaraat System. Minor economic hardpoint (0.05EP); a beneficiation facility that processes Pentakzintium ore for starship hulls. Also serves as a junction between the Zamyan Trade Route and Mrawning Dor.'

{System name, text;
Economic value (0-4), int;
Terrain value (0-8), int;
Elevation value ((-5)-5), int;
Trade route (0-xx), int; (all possible combinations of angles and lines through a hex)
Description, text}

Make more sense?

By Eric S. Smith (Badsyntax) on Monday, March 17, 2014 - 05:07 pm: Edit

Ok, editing 1159 text files was a pain in the butt, I can see that :) So, avoid text files got it. However, if all your editing was done from a map and just *saved* to the text files, would that be ok too? It'd be easier to move the app around or trade it without a SQL dependency.

The new map replaces the old one right? The old aren't part of the new?

How much progress have you made with the rules and stuff? Anything ADB would be interested in?

Does it stand alone or does it stick with F&E rules with additions for the "sub-tactical" scale?

It would be possible to do a little website that did this, though the editing would be tough without HTML5. I played with it a very little bit a while back:
http://goodsects.dyndns.org/HTML5/map.htm
http://goodsects.dyndns.org/HTML5/map2.htm

The code for those could be used to view your map, but editing it would be considerably tougher for me (as I'm barely literate in Java) but may be easy for somebody else.

By Matthew Potter (Neonpico) on Monday, March 17, 2014 - 05:51 pm: Edit

Are you planning on doing client-side editing? or server side?
Is Java your backend? or did you mean JavaScript? (which is as close to Java as rice is to lima beans.) If you meant the latter, I can offer some help there.

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


Quote:

However, if all your editing was done from a map and just *saved* to the text files, would that be ok too? It'd be easier to move the app around or trade it without a SQL dependency.



It needs a SQL dependency because not everyone can see what is in a hex. The Klingon player can't see what is in Federation Hex 2713 until they put ships there. The site is membership based, so only certain people can see certain things in a hex. Once that info is revealed, whether by spies/intel or by actual movement into the hex, then they retain the data/knowledge.


Quote:

The new map replaces the old one right? The old aren't part of the new?



Correct. I'm keeping the "bigger" hexes just to break up the map a bit...purely for cosmetic reasons. If it's not possible to keep them, that's fine.


Quote:

How much progress have you made with the rules and stuff? Anything ADB would be interested in?


My "Module V" rules? Pretty much done. I just need to type them into word or something. (I am one of those guys who hand writes things first before I "make it pretty" electronically.)


Quote:

Does it stand alone or does it stick with F&E rules with additions for the "sub-tactical" scale?



My "Module V" rules are designed to be a snap-on to F&E and a campaign generator for SFB (or really any combat system you choose to use).


Quote:

It would be possible to do a little website that did this, though the editing would be tough without HTML5. I played with it a very little bit a while back:
http://goodsects.dyndns.org/HTML5/map.htm
http://goodsects.dyndns.org/HTML5/map2.htm



That is EXACTLY what I plan to do with it. Each hex gets "read" once per session when it's clicked by the player owning a particular empire. Guests can't see anything, since the campaign is designed to be double blind. Your first map is AWESOME, and near exactly what I want the EU to see. They click on the hex, and it blows up to show them what they can see. If they don't have authorization to see it, it says so.


Quote:

The code for those could be used to view your map, but editing it would be considerably tougher for me (as I'm barely literate in Java) but may be easy for somebody else.



Exactly, which is why the tool to CREATE the map is separate from the PRESENTATION side of the coin. Everything is stored in a SQL database in tables.

Oh, just so you know, once players move forces into a hex, the Module V rules then take place whereby they move proportionally via an impulse procedure (which is familiar to SFB players) and when forces intersect in the big hex map, that's when scenarios occur. I'm thinking that SFBOL would be best used for that, but I'm not married to that idea yet.

By Randy Blair (Randyblair) on Thursday, March 20, 2014 - 11:03 am: Edit

Eric,
Is this something you want to take on?
Thanks.

By Eric S. Smith (Badsyntax) on Thursday, March 20, 2014 - 01:07 pm: Edit

I'm still kinda thinking on it. It is within my capability and I could probably knock it out in a few days (of coding, a few weeks of real time) so it isn't a huge time sink. I think I'm trying to mentally architect how it should work to be versatile and not strictly for F&E. I figure if its versatile enough, many people may like it outside of F&E as a map editor viewer.

I am thinking if I do it, whatever you edit can output an HTML page that will show results as well, if you wanted to share, but they wouldn't be interactive unless I can figure out how to tie ASP.NET to Java in order to do the various calls on an HTML5 canvas I'd have to do.

While I'm thinking about versatility and expansion, can you think of any other possible features that you may want in the future?

By Randy Blair (Randyblair) on Thursday, March 20, 2014 - 02:05 pm: Edit

Right...keeping it generic is the key here.
Aside from possibly layering, I can't really think of anything.

By Randy Blair (Randyblair) on Monday, April 07, 2014 - 08:51 am: Edit

*bump*

Eric,
I'd like to get my online campaign started mid to late May, so if you would like to help with creating my drawing tool, I would be most grateful. If it is not something you want to do, no harm, no foul, and I totally understand.
I would like to know, one way or the other, if you can do this or not.

By Eric S. Smith (Badsyntax) on Tuesday, April 08, 2014 - 01:07 pm: Edit

Sorry, just don't think I have the bandwidth right now to knock it out. I have some other commitments that are taking a priority. F&E support lately has fallen pretty low.

I need to fix my SIT website too and get it on my faster hardware, though it won't be anywhere near the top of my list until somebody complains about it :) I think its a dead project anyway so any further work may be silly.

And just an FYI since I'm here, all my "goodsects" links to various things I've created or images will be broken in a few weeks. This is because my dynamic DNS provider is going to start charging, and I don't want to pay for such a silly service. So while the links will be broken, the files still exist and I do have a server to host them. If anybody really wants to see any of that stuff shoot me an email (bad_syntax over at yahoo.com) and I can put them up somewhere as well.

All of the F&E/SFB related stuff I had on my old server, except the SIT site, is now on a new one but unsorted. You can get to it at http://www.battletechengineer.com/fe

By Randy Blair (Randyblair) on Tuesday, April 08, 2014 - 04:37 pm: Edit

Ok, no harm, no foul.
I'm off to elance or odesk now.
For what it's worth, you made some pretty cool stuff, Eric.

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