I've got the basic framework set up as below (most to be actually filled in). The main screen has a frame where all the content goes based on the the menu options on the left and the active ship. The plan is you pick or add a ship, and can track your cargo, fuel and all that. Repeating what I already did 7 years ago but for UWP and to actually publish on the Windows App store. Hopefully I'll have the ship and class editors in place soon and can actually start seeing if this works.
A blog about the Traveller Role Playing Game and the software I've written for it as well as my current game progress. Now with other game goodness!
Wednesday, April 26, 2017
Sunday, April 23, 2017
Traveller Tracker
Having learned that foreign keys are not good, I can still set the data models up the way I want to, then I comment out the code in the migration script that deals with foreign keys. It does mean that I nave to manually link things together, but that's not particularly difficult.
I've added a new page to edit the ship details - not much is there yet, but I can navigate to it. I am going to rewrite the main page to reflect my initial design - I've added a frame which is where we navigate to. So the left hand will be navigation style buttons, the main part will be the actual data.
I think the options will be (going vertically down the left):
I've added a new page to edit the ship details - not much is there yet, but I can navigate to it. I am going to rewrite the main page to reflect my initial design - I've added a frame which is where we navigate to. So the left hand will be navigation style buttons, the main part will be the actual data.
I think the options will be (going vertically down the left):
- List - list the ships in your database. There will be a button or link to get to the details
- Ship - details of the ship. Allow editing, and loads this ship as your current ship.
- Classes - allows you to edit the ship classes
- Log - current log of the active ship
That's a guess for the moment. The class is what defines the ship tonnage, jump, maneuver and power systems, cargo and maybe fuel.
But progress is slowly being made.
Traveller Sunday
Flying back to the Cyan Port, there is a light snow covering the tarmacs, and the occasional craft launching or landing in the distance. Boris, Travis and Li part ways with their Marine guards, and go to the Port Hotel where they have a few hours before their dinner with the Countess. Li leaves to get some shopping done, while Travis and the Doctor clean up and do some research on the Countess and try to catch up on local news. Most of the local news is state-sponsored propaganda, but even there is little negative news on the Countess. The Imperial database indicates she has been a career diplomat and has moved up through the ranks consistently over the years, and is now the Imperial representative on Cyan. Her goals, as listed by her bio, are to bring peace and prosperity to Cyan. Knowing how the nobility works, our Travellers are aware that prosperity will also be coming to the Countess.
Li returns with several bags, and asks if she too is invited. As she was, both Boris and Dr Duk-Lyle almost appear affronted that she even made such a suggestion. So quickly pulls out a fairly spectacular semi-formal gown, and returns. Amidst the praise, a slight bump on her thigh is revealed to be a small holster and pistol. With a grin and "it doesn't hurt a girl to try" she quite easily leaves the small body pistol behind.
They are met at the hotel entrance by a port taxi, and are quickly shuttled to the racing yacht. Met at the airlock by an austere butler, they are ushered into the dining area where they are met with delight by Countess Millie. A coffee and introductions are exchanged, and Millie offers a tour of the yacht before dinner. Travis recognizes the coffee from Trane, and finds to his dismay that the Countess imports it at a fair expense. The yacht is a Kitaro class racing yacht, so is not a typical Traveller yacht. Fine yet subdued appointments show a refined taste. They are led to the large kitchen where Chef Waldo and is sous-chef are busy cooking. They are almost ejected from the kitchen by the same chef who is busy cooking some sort of fish. The rest of the tour goes well, from the small pool with the complete holographic wall system, to the larger than expected engineering section. At the rear of the ship is the garage, currently with 2 grav speeders.
At pleasant chime announces that dinner is served. Returning to the dining room, they encounter the Marquis Juliette Sung Ottowald who they last saw on Trane. A very pleasant dinner was served, and making rolls against social, Travis noted that the fish is exceptional and wonders if it is Lord Fish. And indeed it is (note that Lord Fish is from the http://travellerrepublik.blogspot.com/ site - thanks!) The Countess notes that she has an idea she would like to discuss after dinner.
So, after a resplendent meal, after dinner is served causing Travis to grimace at missed opportunity. Her plan is to finance Le Suroit to research keeping the Lord Fish tasty for more than a couple of days after processing. This fish is not only expensive due to its rarity but also that it has to be shipped live - once dead, despite any preparation, the taste and value rapidly declines. She offers a cool Cr250,000, enough to pay for the fuel processor as well as purchase a fish or two at Kryslion, their next port of call. Li continues to elbow both Travis and Dr. Duk-Lyle, so they take an electronic copy of the contract to review it.
They end up hiring an advocate to review the document, and decide to modify it so that they will also get a cut of the profits going forward should they actually manage to find a way to preserve the flesh. The Countess readily agrees to the new contract. So now they have a six month window at Kryslion to see if they can do what has not been done despite more than 50 years of trying.
Now from the GM/Player perspective: this allows the players to finance the Cr180,000 fuel system they needed for the ship, as well as give them some additional incentive to explore Kryslion. They do not have a definitive time to get to Selshor (the original goal of this adventure, to retrieve the Katydid. However, the Scouts would prefer a sooner rather than later). The chances of them succeeding are pretty low but not impossible. It will be a weekly roll that has to be met each time. Success will move forward, near success may lead them to an incorrect research path, and failure may really mess them up. This is a task chain, so I need to read up on that.
Additionally, I had set up some maps to have Purity shot down in Startown. This was an option if they wanted to get some combat in. Combat being possibly fatal in Traveller. Also gives me a chance to bring out a Zombie game that has road and building tiles so we can have a tactical game. Zombies will be the opponents. Just using the pieces...
Li returns with several bags, and asks if she too is invited. As she was, both Boris and Dr Duk-Lyle almost appear affronted that she even made such a suggestion. So quickly pulls out a fairly spectacular semi-formal gown, and returns. Amidst the praise, a slight bump on her thigh is revealed to be a small holster and pistol. With a grin and "it doesn't hurt a girl to try" she quite easily leaves the small body pistol behind.
They are met at the hotel entrance by a port taxi, and are quickly shuttled to the racing yacht. Met at the airlock by an austere butler, they are ushered into the dining area where they are met with delight by Countess Millie. A coffee and introductions are exchanged, and Millie offers a tour of the yacht before dinner. Travis recognizes the coffee from Trane, and finds to his dismay that the Countess imports it at a fair expense. The yacht is a Kitaro class racing yacht, so is not a typical Traveller yacht. Fine yet subdued appointments show a refined taste. They are led to the large kitchen where Chef Waldo and is sous-chef are busy cooking. They are almost ejected from the kitchen by the same chef who is busy cooking some sort of fish. The rest of the tour goes well, from the small pool with the complete holographic wall system, to the larger than expected engineering section. At the rear of the ship is the garage, currently with 2 grav speeders.
At pleasant chime announces that dinner is served. Returning to the dining room, they encounter the Marquis Juliette Sung Ottowald who they last saw on Trane. A very pleasant dinner was served, and making rolls against social, Travis noted that the fish is exceptional and wonders if it is Lord Fish. And indeed it is (note that Lord Fish is from the http://travellerrepublik.blogspot.com/ site - thanks!) The Countess notes that she has an idea she would like to discuss after dinner.
So, after a resplendent meal, after dinner is served causing Travis to grimace at missed opportunity. Her plan is to finance Le Suroit to research keeping the Lord Fish tasty for more than a couple of days after processing. This fish is not only expensive due to its rarity but also that it has to be shipped live - once dead, despite any preparation, the taste and value rapidly declines. She offers a cool Cr250,000, enough to pay for the fuel processor as well as purchase a fish or two at Kryslion, their next port of call. Li continues to elbow both Travis and Dr. Duk-Lyle, so they take an electronic copy of the contract to review it.
They end up hiring an advocate to review the document, and decide to modify it so that they will also get a cut of the profits going forward should they actually manage to find a way to preserve the flesh. The Countess readily agrees to the new contract. So now they have a six month window at Kryslion to see if they can do what has not been done despite more than 50 years of trying.
Now from the GM/Player perspective: this allows the players to finance the Cr180,000 fuel system they needed for the ship, as well as give them some additional incentive to explore Kryslion. They do not have a definitive time to get to Selshor (the original goal of this adventure, to retrieve the Katydid. However, the Scouts would prefer a sooner rather than later). The chances of them succeeding are pretty low but not impossible. It will be a weekly roll that has to be met each time. Success will move forward, near success may lead them to an incorrect research path, and failure may really mess them up. This is a task chain, so I need to read up on that.
Additionally, I had set up some maps to have Purity shot down in Startown. This was an option if they wanted to get some combat in. Combat being possibly fatal in Traveller. Also gives me a chance to bring out a Zombie game that has road and building tiles so we can have a tactical game. Zombies will be the opponents. Just using the pieces...
Saturday, April 22, 2017
Traveller Tracker - Foreign Keys
After the initial jubilation of being able to use SQLite with Entity Framework in a UWP application, I was dismayed to discover that foreign keys are not supported in SQLite. EF has some nice tooling for database migrations, but sadly they will not work.
There are workarounds, which is what I am probably going to end up doing. I just have to be careful about the naming conventions so I don't accidently create a FK in the models.
But I have learned how to add additional tables into the migration path, and now knowing about some of the limitations, I can work around them.
I must be getting excited by all this again - had the strangest dreams about the code base last night. Or perhaps that was the carrot cake...
There are workarounds, which is what I am probably going to end up doing. I just have to be careful about the naming conventions so I don't accidently create a FK in the models.
But I have learned how to add additional tables into the migration path, and now knowing about some of the limitations, I can work around them.
I must be getting excited by all this again - had the strangest dreams about the code base last night. Or perhaps that was the carrot cake...
Tuesday, April 18, 2017
Animal Encounters
There are a lot of interesting animals here on planet Earth. One I like is the giraffe - just how unlikely is it for something like this to be?
A famous giraffe, April, has given birth to a baby boy. But just watching her gives me some ideas for animal encounters (I may have to revive the PETA of Romar for the next chapter or two).
A famous giraffe, April, has given birth to a baby boy. But just watching her gives me some ideas for animal encounters (I may have to revive the PETA of Romar for the next chapter or two).
Sunday, April 16, 2017
Traveller Tracker
Finally got some time to get back to this. And finally have it at least loading and running with an attached SQLite database.
Biggest issue was a naming convention: using Entity Framework and the SQLite stuff there are some assumptions about naming conventions. Fortunately MS/SQLite borrowed from the Ruby On Rails, and I've no idea where they got their ideas from.
Regardless, the screen comes up, and you can add a ship to the library. Right now it has a hard-coded name while I was verifying things worked; next step is to allow editing and have a full ship detail page (the main page is just a list of your ships. An ugly list at the moment...)
I also updated VS2017 to the latest version and few other things, but now progress in theory should be a tad faster as I think I've got basic I/O in place.
And I learned a bit more about DB migrations. This is a code-first program, meaning the DB is basically defined in the code, and we use migrations to update the database. So the 1st migration just sets up the ship table, and you can see how ShipID is the primary key.
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using TravellerTracker.Models;
namespace TravellerTracker.Migrations
{
[DbContext(typeof(TravellerContext))]
[Migration("20170416155153_initialShip")]
partial class initialShip
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.1.1");
modelBuilder.Entity("Traveller.Models.Ship", b =>
{
b.Property("ShipId")
.ValueGeneratedOnAdd();
b.Property("CargoCapacity");
b.Property("CargoCarried");
b.Property("FuelPerJump");
b.Property("Name");
b.Property("dTons");
b.HasKey("ShipId");
b.ToTable("Ships");
});
}
}
}
Biggest issue was a naming convention: using Entity Framework and the SQLite stuff there are some assumptions about naming conventions. Fortunately MS/SQLite borrowed from the Ruby On Rails, and I've no idea where they got their ideas from.
Regardless, the screen comes up, and you can add a ship to the library. Right now it has a hard-coded name while I was verifying things worked; next step is to allow editing and have a full ship detail page (the main page is just a list of your ships. An ugly list at the moment...)
I also updated VS2017 to the latest version and few other things, but now progress in theory should be a tad faster as I think I've got basic I/O in place.
And I learned a bit more about DB migrations. This is a code-first program, meaning the DB is basically defined in the code, and we use migrations to update the database. So the 1st migration just sets up the ship table, and you can see how ShipID is the primary key.
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using TravellerTracker.Models;
namespace TravellerTracker.Migrations
{
[DbContext(typeof(TravellerContext))]
[Migration("20170416155153_initialShip")]
partial class initialShip
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.1.1");
modelBuilder.Entity("Traveller.Models.Ship", b =>
{
b.Property
.ValueGeneratedOnAdd();
b.Property
b.Property
b.Property
b.Property
b.Property
b.HasKey("ShipId");
b.ToTable("Ships");
});
}
}
}
Thursday, April 13, 2017
Cyan Starport Impressions
Starport Impressions
Despite being around for several centuries, the Cyan star port has never received an official name. Cyan government has not been actively pursuing interstellar trade.
The primary administrative complex is a rambling structure, added to almost randomly over the years. The original control tower was abandoned more than a century before and is used for storage and the rare sight seeing citizen. The new tower, more than 80 years old, presides several stories above the old tower and give a good vantage over the entire port.
The massive customs building houses what appears to be hundreds of offices and officials. Security is very evident throughout this building, which is the primary way of leaving the port. Security checks are very thorough for a TL A egress. Returning to the port can also be a hassle depending on crowds, the mood of the local army at the time, as well as the latest edict from the dictator. There are dozens of warehouses nearby both inside and outside the fence, some of which are still not usable.
Accommodations are adequate, but not up to high passage standards. And in the current siege mentality, things are crowded. Most merchants do not leave the port, relying on local brokers for cargoes. The Marine squads are housed in one of the hotels, leaving even fewer spaces for visitors. Marines patrol the perimeter constantly, primarily to maintain a visible watch over the occasional crowds outside.
There is the constant sound of grav vehicles loading and unloading cargo. Despite being a class C port, it is on the leg to the subsector capitol so has a larger than expected number of ships. Additionally, the local SDB fleet is housed here, and make trips daily. There are two airport style runways, so that local aircraft can transport cargo or people. All has to be inspected by customs prior to leaving the port.
Startown was damaged in the riots of 5 years ago, and several buildings remain burnt out husks of buildings. Military patrols are constantly roving through the city, with more near the port boundaries. It is not as rambunctious as many startowns are, but still has quite the variety of people. There are still several brokers and trading guilds available in startown.
Tuesday, April 11, 2017
Traveller Sunday - planning
Starting to look towards the end goal of Selshor, and looking at gravity anomalies:
Lateral variations in gravity anomalies are related to anomalous density distributions within the Earth. Gravity measures help us to understand the internal structure of the planet. Synthetic calculations show that the gravity anomaly signature of a thickened crust (for example, in orogenic belts produced by continental collision) is negative and larger in absolute value, relative to a case where thickening affects the entire lithosphere
Our next session will start as you approach the Countess' yacht (sadly the Kickstarter for this ship just started so we won't have the fancy poster) and go from there. I'll try & have a few possible paths for you. You will need to decide if you want to have Li along. She is somewhat persuasive as you have noticed...Dinner is a few hours off, giving you some time to explore the star port if you like. Li may want to buy some more clothes - she has a simple ship suit and boots, and that's about it. Plus, in talking with Travis, she likes to trade as well. She could be persuaded to keep on the legal side of things...Purity gets in contact and will return in 4 days. Her job is almost complete but she will accompany the group to Selshor and back to Glisten, then head off into her retirement.
Getting some local rumors: you do hear on the news about a massive manhunt for dangerous escaped criminals. Urban areas have increased police and army patrols. On the flip side, listening to your Marines (who are accompanying you on your return to the starport) there is also an Imperial Marine search going on with a little more finesse. You will notice flying over the port boundary that there does seem to be larger crowds, and squads of riot police. The prison has been on light alert.
All the above occurs in the grav APC flight back to the port. The APC is utilitarian without much in the way of comfort.
You will also notice a fair number of ships in port, several merchant vessels, one of which is of Aslan design. And near the Countess' yacht is another yacht, a Prosperity class vessel. You can always access the port net for public information about vessels, including flight plans if published (Imperial law does not force a flight plan, but it is strongly advised. Additionally a flight plan can be made but flagged as private, indicating only SPA [Star Port Authority] can review it).
Le Suroit is docked at one of the Vanguard stations, getting refueled and restocked. Dr Duk-Lyle's comm has several stored messages asking about better rations.
Sunday, April 02, 2017
Traveller Sunday - Prison Escape
As we last left our Travellers, Dr. Duc-Lyle and the Warden, accompanied by Corporal Pagille Ortirez and Warden Brownartz, were heading to the site of the missile explosion. Travis, Purity, Pennity and the Level 1 Warden (whose name escapes me as I never came up with this one!) were also headed there in another grav APC. As were 4 Imperial SDBs. They must have timed it well as they pretty much all arrived at the same time.
The Renegade (Scout ship) was missing it's mechanic/Engineer, who was driving the 4 wheeler with the additional sensors on board to help triangulate the mole vehicle. There was a smoking 30-40 meter crater in the jungle, with trees pushed back along the edges. Some terse communications later, there was a Cyan SDB settled on one side of the crater, an Imperial SDB parked on the other side, close to the Scout ship. The two grav APCspark near the edge as well. Hoovert Brownartz, the chief warden, is in direct communication with both the Countess Barout (recently elevated to a Countess as that's what was needed by T5) and Aphix Irteepini, the xenophobic dictator of Cyan. While the diplomats parlayed, the Scouts were getting frantic about their missing crew mate. Travis, being an ex-Scout, volunteered to help search, as did Dr. Duk-Lyle. The guards were flying the grav vehicles in a spiral search pattern, and finally after half an hour, Travis saw the glint of metal in the jungle. Setting down nearby, they found the overturned 4 wheeler, but no sign of Og (Ognuearz Giokga) nearby. A search finally yields the Vargr Scout, unconscious on the ground. The good doctor stabilizes our furry friend, and using a stretcher from the grav APC they rapidly transport him to the Renegade where there is a med-bay waiting. It was a concussion with a hairline crack, but Og will make a full recovery.
Finally peace is made between Aphix and the Imperials, and the SDBs, except for 1 Cyan SBD, leave. The Cyan SDB is monitoring the Renegade, where a conversation in the common area is being held. The warden thanks the good doctor for uncovering some shady drug losses, and verifying that medical treatment is fair, consistent and meets Imperial standards. There is some evidence of some brutality towards political prisoners, and the data will be further reviewed. Travis' efforts are also praised as he found some hostilities between Cyan and non-Cyan guards that HR should be better aware of. Purity will be returning to the Level 1 facility for a couple more days to finish up her research.
Li Brewster is getting early parole for her good behavior, and has offered her services as an additional engineer for Le Suroit. The parties separate: the Renegade launches for the starport with the SDB following, the grav APC, a bit crowded, takes our party back to the prison to interview Li and do a final farewell for Travis. Li, who resembles Sally Field, and has Persuade-2 along with her winning smile, convinces Dr. Duk-Lyle that she would be a fine addition to the crew.
The prisoners in the mole vehicle, meanwhile, have disappeared. Imperial Marines are searching Brigham and the nearby jungle as they have discovered the abandoned vehicle, with tracks that lead out from a small truck or other personal vehicle. They are hoping to capture them before the Cyan police do.
Our Travellers will be heading back to the starport. Here they will be greeted and feted by the Countess on her yacht, and by her personal chef. She has a Kitaro class yacht.
I'll need to come up with some rumors, possible cargos to buy, and stuff like that. They are also seeing if they can outfit the lab ship with a fuel purifier: they have been lucky in that the Scouts have been getting their refined fuel the last few systems, but that is about to stop. And wanting to avoid a misjump, even with a new Jump engineer on board, they are looking into that. It will cost Cr180,000 and take 35 tons according to Book 5/High Guard. As they don't actually have that amount of cash on hand, and they will have to pay Li's salary at some point (she is happy to get a job and out of prison, so will work for free for the 1st jump, but she will want her salary after that. The Scout engineers (this is a Way Station, so they do have a lot of engineers!) think the purifier is do-able, just figuring it out where to put it. The current plan is to actually add a new spoke to the ship, and mount it there along with some extra tankage to continue to allow the Jump 2. Putting it there makes some sort of sense - it will reinforce that single spoke, as the pinnace often is used as a fuel shuttle there are already fuel lines in the spoke, so they can purify the fuel before it gets to the tanks. Plus it make my mini we've been using for Le Suroit a closer model!
The Renegade (Scout ship) was missing it's mechanic/Engineer, who was driving the 4 wheeler with the additional sensors on board to help triangulate the mole vehicle. There was a smoking 30-40 meter crater in the jungle, with trees pushed back along the edges. Some terse communications later, there was a Cyan SDB settled on one side of the crater, an Imperial SDB parked on the other side, close to the Scout ship. The two grav APCspark near the edge as well. Hoovert Brownartz, the chief warden, is in direct communication with both the Countess Barout (recently elevated to a Countess as that's what was needed by T5) and Aphix Irteepini, the xenophobic dictator of Cyan. While the diplomats parlayed, the Scouts were getting frantic about their missing crew mate. Travis, being an ex-Scout, volunteered to help search, as did Dr. Duk-Lyle. The guards were flying the grav vehicles in a spiral search pattern, and finally after half an hour, Travis saw the glint of metal in the jungle. Setting down nearby, they found the overturned 4 wheeler, but no sign of Og (Ognuearz Giokga) nearby. A search finally yields the Vargr Scout, unconscious on the ground. The good doctor stabilizes our furry friend, and using a stretcher from the grav APC they rapidly transport him to the Renegade where there is a med-bay waiting. It was a concussion with a hairline crack, but Og will make a full recovery.
Finally peace is made between Aphix and the Imperials, and the SDBs, except for 1 Cyan SBD, leave. The Cyan SDB is monitoring the Renegade, where a conversation in the common area is being held. The warden thanks the good doctor for uncovering some shady drug losses, and verifying that medical treatment is fair, consistent and meets Imperial standards. There is some evidence of some brutality towards political prisoners, and the data will be further reviewed. Travis' efforts are also praised as he found some hostilities between Cyan and non-Cyan guards that HR should be better aware of. Purity will be returning to the Level 1 facility for a couple more days to finish up her research.
Li Brewster is getting early parole for her good behavior, and has offered her services as an additional engineer for Le Suroit. The parties separate: the Renegade launches for the starport with the SDB following, the grav APC, a bit crowded, takes our party back to the prison to interview Li and do a final farewell for Travis. Li, who resembles Sally Field, and has Persuade-2 along with her winning smile, convinces Dr. Duk-Lyle that she would be a fine addition to the crew.
The prisoners in the mole vehicle, meanwhile, have disappeared. Imperial Marines are searching Brigham and the nearby jungle as they have discovered the abandoned vehicle, with tracks that lead out from a small truck or other personal vehicle. They are hoping to capture them before the Cyan police do.
Our Travellers will be heading back to the starport. Here they will be greeted and feted by the Countess on her yacht, and by her personal chef. She has a Kitaro class yacht.
I'll need to come up with some rumors, possible cargos to buy, and stuff like that. They are also seeing if they can outfit the lab ship with a fuel purifier: they have been lucky in that the Scouts have been getting their refined fuel the last few systems, but that is about to stop. And wanting to avoid a misjump, even with a new Jump engineer on board, they are looking into that. It will cost Cr180,000 and take 35 tons according to Book 5/High Guard. As they don't actually have that amount of cash on hand, and they will have to pay Li's salary at some point (she is happy to get a job and out of prison, so will work for free for the 1st jump, but she will want her salary after that. The Scout engineers (this is a Way Station, so they do have a lot of engineers!) think the purifier is do-able, just figuring it out where to put it. The current plan is to actually add a new spoke to the ship, and mount it there along with some extra tankage to continue to allow the Jump 2. Putting it there makes some sort of sense - it will reinforce that single spoke, as the pinnace often is used as a fuel shuttle there are already fuel lines in the spoke, so they can purify the fuel before it gets to the tanks. Plus it make my mini we've been using for Le Suroit a closer model!
Subscribe to:
Posts (Atom)