Thursday, May 27, 2010

Refactoring

While I was working on the cargo functionality yesterday, I realized I introduced a fairly fundamental database design error when I added the ability for ships to land at colonies. This led to a problem where ships could attempt to transfer cargo down to the colony while they were taking off from the colony. I could have hacked around it, but I decided to go ahead and rework the database and the code, which meant I had to refactor about 5 pages all together.

Tuesday, May 25, 2010

Some Clean Up and More Cargo Work

I got side-tracked a bit tonight, but I got some cleanup work done first:

1. Fixed the Hire New Personnel page, which I broke a while back. I got the fields lined up and when you hire a new employee they get placed at Zed, the only colony in the game. (So Far)

2. Figured out how to fix the date column on the reports screen so it will sort correctly. I'm using a really great sortable table library by Stuart Langridge that he's provided free of charge on the Internet. He did an awesome job and it has saved me a ton of coding and works great.

3. Some minor cleanup on the Main screen with the ship action descriptions.

4. I added an admin page to let me add new Item types to the database without having to enter it directly with SQL statements. Trying to keep up with the dependencies was getting a bit tedious.

In tonight's Major News, I got the functionality working to move cargo between a ship and colony. It's still instantaneous, and I also need to decide on the method to determine how long it will take to move cargo around. I've got several factors I'd like to include in the equation, like the size of the ship's cargo area, the cargo handling skill of the crew on the ship, and the cargo handling rating of the colony.

More Cargo

Last night I got the cargo screen for ships up and running. It will currently display a sortable list of cargo that is on the ship, and if the ship is landed at a colony owned by the same player, it will also display a list of all cargo assigned to that colony.

Now I need to add the functionality that will let the player transfer cargo between the ship and the colony, and also to split and merge groups of the same type. This will allow the player to take a 100 unit pile of ore and split it into two piles before transferring one pile to the colony, or vice versa.

Eventually ships will be able to dock to each other and transfer cargo, and expeditionary forces will have the same abilities. All of this is necessary before I can implement the mining, gas giant scooping, and comet harvesting actions in the game since those all create new piles of materials and there has to be some place to put them.

Sunday, May 23, 2010

Loading Up the Ship

My focus this week is on the ship's cargo hold. I'm still relatively inexperienced at database design, so I originally had a table that consisted only of the asset ID and the cargo ID. This was a waste of course, so that table had now been dropped and items will be installed on an asset (ship, colony, ground party), or assigned as cargo to assets.

In other news, Jake the wonder artist has sent over the Water planet tile sets and it looks insanely great, just like the others he's done so far. Next up he's working on the asteroid tile set and I'm anxiously awaiting the outcome. The great thing about Jake's artwork is that it gives me other ideas for the game, and has directly influenced the game design already.

Once I get the cargo areas set up, I'll add the ability for ships to transfer cargo between ships and colonies owned by the same player. This will set things up so that I can add the Scoop Gas Giant action for ships, and will take me one step closer to implementing mining deposits on planets and asteroids.

Thursday, May 13, 2010

Update

Since the last update I've been working on getting asteroids fully into the game. I've got the asteroid details screen going and I decided to go with the standard S,C, and M types for now.

Asteroids will have anywhere from 1 to 4 squares that will basically be treated the same as planet squares. Each square can potentially have a mineral deposit or something of interest to investigate.

After I finish up asteroids, the only system objects left for me to complete will be comets, gas giant rings, and space stations.

Tuesday, May 11, 2010

Today's Progress

Using this excellent JQuery Popup Bubbles tutorial by Remy Sharp, I did some more polish on the Ship Crew page today. I added Popup bubbles to the crew members name that show their skills list. This will help the players decide which personnel to assign to a crew position without having to go to the Personnel page to do so. Here's a sneak peak screenshot of the crew section, showing the skill popup for the Captain.



As you can tell from the screenshot, I also completed the ability to embark/disembark crew whenever a ship is landed at a colony. For now this will only be done on the Ship Crew screen, although I will likely have the ability to load personnel onto ships from a similar screen once I stand up the Colony interface in the coming weeks.

In other good news today, I received the next insanely great tileset from artist Jake LaFloret. Today it was the Hermian planet type tileset. I'm still doing some polish on the GM planet building tools, but I'll post some sneak peeks of some planets soon.

Monday, May 10, 2010

Recent Accomplishments

Things I've gotten into the game recently:

1. Ships can now land at colonies.
2. Re-organized Ship Library screen and added JQuery tabs.
3. Personnel can now be assigned or removed from different crew positions on ships.

Things soon to come:

1. Personnel can get on/off ships at colonies.
2. Assign personnel to various positions at colonies.
3. JQuery info popups for the System Map when you hover over objects.
4. Some polish on GM Planet creation tools.
5. Mineral deposits, gas giant scooping, comet harvesting.

A few weeks ago I told a friend that colonies were in the game, but only in the sense that they were cardboard cutouts that showed up on the main info screen. Over the next few weeks they'll become more substantial, but will not be fully fleshed out until Phase 2 of the dev process.

Dev Plan

I've divided the work needed for the game into 4 basic phases, based on the game being a '4X' game:

1. Exploration - this includes the majority of the ship actions, including movement on the system map, orbiting system objects, scanning of systems and objects, and jumping to new star systems via IAPs (Interstitial Access Points).

2. Expansion, Exploitation - these two phases are so closely linked that they'll likely be completed at the same time. This phase will include colonies, mining of resources, and manufacturing of items and new starships. This phase will also introduce Expeditionary Forces, which are generally confined to moving on the surface of a planet and will be necessary to capture colonies in the game.

3. Extermination - This phase will include all aspects of combat. This includes combat between ships, colonies, and expeditionary forces.

At this point I am approximately 75% complete with the Exploration phase, and have completed a small part of Phase 2 along with it. When Phase 1 is complete, I plan to allow a small number of players access to the game for a short while to perform some stress tests and gain feedback. Stay tuned for more details.

Welcome to Project Libertine

Project Libertine is my first attempt at writing a browser based game. It's intended to recreate many of the aspects of open-ended Play by Mail games from the late 20th Century, but to add some of the newest game play elements like actions taking a real amount of time to complete instead of using turns or time units.

As an example of this, star systems are a grid of 75x75 squares. If your ship is rated at 5 space squares/hour, it will take one hour for a ship to move 5 squares across the map. If a mine is producing 20 ore per hour, then after 30 minutes there will be 10 ore on hand.

Project Libertine is best described as an open-ended, real-time, multi-player 4X space game. It will feature a player driven economy in which information will hold as much value as items or ore. Maybe you've discovered where a worm hole to a new star system is. You can sell that information on the open market within the game, or keep it secret to exploit what you find in that new system for as long as possible.

Unfortunately, I currently have no definite time line for the general release of the game. My very rough timeline is to have an alpha preview sometime in late 2011, with a possible general release in 2012.

I plan to update this blog as often as possible as I add new features to the game, and all announcements about the game will be made in this forum.

Thanks,

Hatch
CEO of Pipart Games and Lead Developer of Project Libertine