Monday, April 18, 2016

Sea Trading Game- New look, UI Design, including new look, use of tool tips, and single ship.

This, as promised, has been a week where I focused on the UI, as opposed to adding new features. I have made considerable changes, and I'm happy with what I'm seeing.

The biggest change was that the UI is now improved. You can see how things look below. In particular, note that one can now see a mini-view of the ship in the upper right hand corner. In addition, moving the mouse over objects will show information about that tile. I'm still trying to get some of the information more compact, but it is working for now at least.


There also have been a number of less visible changes. I changed some of the back end UI elements that make maintaining labels for cities easier. It also improved the look for when those labels overlap. I've pushed out the name of the captain, and the cash each ship has, to the front screen.

Coming next I'm hoping to improve the way the tooltip works. I've got a better idea of how to do things, but I haven't gotten there quite yet, it will take some work. I'm also working on improving the hold selection process.

Monday, April 11, 2016

Sea Trading Game- Supplies and People

This week I put in a few changes that haven't fully been realized, but will start to be over the next few weeks. The biggest change is that I now have working supplies, that have a number of days that count down to show how much food and water is left. These changes will allow for a more realistic ship trading experience. So far there isn't any consequences of not having enough food or water on the ship, but that will come soon. It seems to be working, so far, and I'm excited for the day when this works as realized! Note in the image below that as the ship moves, and time passes, the food and water both count down.


There are a number of reasons that I haven't added the consequences yet of not having enough food. One of the big ones is that I want to to add a crew to the ship first. The crew will have abilities, such as fishing, that will make a difference in the rate of supplies going down (They might even increase supplies somewhat). I'm still working out the details of exactly how that will work, but it is coming alone nicely.

I have decided that I am going to alternate, a couple of weeks working on new game features, and a couple of weeks perfecting game features, and working on general user interface issues. I'm hoping this will keep the game moving along, while still keeping a focus on UI.

Next up I'm going to do some more work towards making this an actual game. Right now I have what I think will work reasonably well as a tutorial. There is a lot of things that I've taken short-cuts for that I don't really want to do in the main game. I'm going to start breaking out the game into a tutorial mode, and a non-tutorial mode. I suspect this will take some time, but I have a couple weeks. It'll be nice to see the game taking more form!

Monday, April 4, 2016

Sea Trading Game- Slow week

I'm sorry to say there isn't more of an update this week, but some weeks are bound to be slower than others I suppose. This week most of my time has been spent tackling supplies, which proved to be harder than I thought it would be, and thus taxed me to my limits. I've now come up with a method for doing so fully, and started putting it together, but it will take a bit of time unfortunately. I should be able to have something this week, however.

Aside from that, I did fix a few minor UI issues, the most notable being that the text labeling cities appears in the correct order. This small change proved quite difficult, but I was able to get it in the end. You can see below what my final version actually looks like, note that the ship is above the labels of the city, but the city labels are above the cities.

This week I should be able to get supplies working to some extent. I'm still trying to figure out how I'm going to represent these as UI elements, but I'm getting there, slowly. Until next week!

Monday, March 28, 2016

Sea Trading Game- New Compartments, improve UI, new artwork, and possibly a name!

This week has been quite busy, and quite productive. The most noticeable thing is that instead of assigning numbers, each port now has a name. I've also done quite a bit to make that name more visible, as you can see below:


These names are not final, but quite likely many of them will remain. I intend to have the names come randomly from a list of historical ports throughout the world in the key time frame that I'm working through, namely the colonial period of time.

I've also added a number of types of holds, and have types of holds selected for each. Here's the names of each of the types of holds. The artwork is far from final, but I'm trying to get at least a sense of what I want, and this is definitely helping in that department. I suspect I won't change it much if at all until the game has progressed a bit further.


All of the dialogs were given a careful scrubbing, and while they aren't perfect, I feel they are an improvement over what was there previously. Here is an example of just one of these improve dialogs:


Last, but not least, I've been giving some thought to the name of the game. I haven't decided on it firmly, but the name I'm working with now is "The Crow's Nest". What do you think? I'd love to hear other ideas that you might have!

Monday, March 21, 2016

Sea Trading Game- Ease of trading, new hold types, hold system easier to manage.

This week has brought a number of changes, focused on making trading easier. For starters, I've decided that there needed to be a better way to find the cities to deliver goods. I decided for now I'm going to highlight the cities all the time, instead of the occasional blinking that would happen for the tutorial phase of the game. I also made that clue more obvious.
The ship has a mission to go to 14, which is clearly highlighted

Other areas include finishing the hold system. I now feel that it is much better, and more intuitive than before. Note that for now, stability doesn't do anything, but it will at a future date. This new system seems more intuitive than the previous system of adding/removing walls.
As you might notice, there are a few new types of holds in the above diagram. While they aren't fully implemented, I have created a different type of cabin, with hammocks, as was commonly used. I've also created a smuggling compartment, complete with a trapdoor. I'm considering a few additional types of holds as well, likely including a galley and a safe room.

Next on my list is to continue to work on the new types of holds, and polish a number of small UI type bugs that I have seen, hopefully improving that system considerably. Passengers, for instance, aren't quite where I want them to be yet. Then I plan to start some of the more interesting tasks, including storing supplies on the ship, that slowly are consumed. Then I will work on having more of a feel for the crew, which I know I want to have be a part of the game, but I haven't decided yet how I plan on that. I'm also going to work more on the task of naming the game, and maybe a few other tasks. Not there yet, but it is most definitely coming along.

Tuesday, April 22, 2014

A Trusted QSL library for Java

As long time blog readers are no doubt familiar, I do quite a bit of tinkering with Android. Ham Finder is written in Android. I have wanted for some time to have a way of uploading QSLs to Logbook of the World from Ham Finder, mostly because it makes mobile logging for LOTW go from extremely difficult to a snap.

For your information, here's what I've had to do to make this work in the past:

1. Divide up my QSOs by location where they were made.
2. Sign each of these with a custom created Station identification with Trusted QSL.
3. Upload each of them.

This was a royal pain, and I want to make all of this seamless, using Ham Finder. I think I've almost got all of the pieces figured out, and so here I present them:

  1. The key piece to make this all work is a java library that runs Trusted QSL. I'm making this open sources, the code I have so far is available at GitHub.
  2. Right now Ham Finder doesn't provide ITU zones, nor CQ Zones. I'm working on adding those features. It will be most difficult for those countries (Outside of the US) which have multiple CQ/ITU zones, but I'll get something to work most of the time for now.
  3. Upload them to LOTW as needed, including corrections. This should be easy enough to manage, as all of the contacts are stored in a database already. It just involves making sure they are only sent once.
Trusted QSL is an open source bit of software written in C++. I wanted a natively coded bit of software, for a number of reasons, mostly because it's easier to maintain. I don't care about a lot of the functionality provided by Trusted QSL either, I just want to sign and upload them.

Through reading documentation, reverse engineering the TQ8 files, and even emailing the Trusted Qsl staff, I've learned a number of things. First of all, TQ8 files are GZipped files of the Global Amateur Interchange (GAbbI) file format. The latest specifications on LOTW can be found at Rick Murphy's website. In fact, there are a few key differences from the web site specification and what is actually used. The key differences are as follows:

  1. All of the data for signing is upper case.
  2. The order of fields for the signed data is: CA_PROVINCE, CQZ, GRIDSQUARE, IOTA, ITUZ, US_COUNTY, US_STATE, BAND, BAND_RX, CALL, FREQ, FREQ_RX, MODE, PROP_MODE, QSO_DATE, QSO_TIME, SAT_NAME. Note that station comes first, then QSO data. 
  3. There are several undocumented fields, including CA_PROVINCE, US_STATE, SIGNDATA, and SIGN_LOTW_V1.0. SIGNDATA is the data signed for the LOTW signature, SIGN_LOTW_V1.0 is the LOTW signature itself. CA__PROVINCE and US_STATE are the Canadian Province and US state.
  4. SIGN_LOTW_V1.0 has a :6 after the number of digits. I can't actually figure out what this means...
  5. The max space per row is actually 64, not 72 as specified.
  6. The character count includes line breaks, and if there is any line breaks, it also counts the last line break. For a single line, it doesn't count the final line break.
  7. The signature format is SHA1withRSA.
As of right now, I have the library published, have had Logbook of the World accept it, and am working on integrating the library into Ham Finder. Hopefully it will work great!

Sunday, March 2, 2014

How to Manage with no Power.

Does your family have a plan in case of a power outage? Power outages can be cause by a variety of things, including storms, mistakes, and even birds. They can last for minutes, or even days. Does your family know what to do if the power goes out? Here's a few questions to consider.

1. Do you have a plan for cooking food? A propane grill, nice for summer grilling, can be used to cook a variety of foods. If you don't believe me, ask the scouts! Make sure you can cook in a way that doesn't require electricity. Even better if it is portable.
2. Do you have a way to stay warm without electricity? A few extra blankets are great. Many homes in our area have gas fireplaces which can be used without electricity in our homes.
3. Do you have water? For those of you on city water, you should be a be to use city water. If you have a well, you might need a different solution.
4. Do you have adequate lighting? Make sure you have flashlights and spare batteries. Check this periodically.

Test out you plan periodically. Pick an evening, and test out your plan, see if it works. Make sure everyone knows what to do in the event of a power outage.