Saturday, December 6, 2014

Departures

I've actually been playing around with this so much I don't know why I haven't posted an image. So here it is:


There's a lot more going on than it might seem,

The map on the right shows, within the yellow ring, the stellar systems that are accessible from the current planet. The image is scaled so some colors may not be obvious, I'm currently located at Nelson's Folly, the orange planet in the center. To the lower right there are two possible destinations. But one of them is blue because it is not available in the next 10 shuttles out of this system.

The system in red is one I purchased a ticket for and I am lined up for travel on the next departure. Departures are run server side, so if I was to exit the game and come back later, I would still arrive in the system as planned.

Status of the shuttles is something that happens on a random basis. Most flights will be On Time. But there are some that will be Delayed, Canceled and in some unfortunate cases, Missing. While canceled can be annoying, the maximum time you will spend waiting on the next shuttle is 14 minutes. But most shuttles come at a frequency of less than six minutes. However, I find that the pace of shuttles can be a little too fast. Most of the time I have not even gotten all the cargo I plan to take with me together in the typical 3 minute window and worse, I haven't even traded some currency. The currency markets are very active and with 8 different currencies to trade I find that I make more money staying put than trying to travel around selling raw materials.

Distance between systems is measured in light years. The public transportation is designed to take passengers up to 400 light years in a single jump. A different way to look at it is that the public transportation uses a fairly new type of engine called Parsec Drive which has a maximum radius of 125 Parsecs or roughly 478 light years. The government agency responsible for public transportation has not yet released the details of Parsec drive and there are a number of pirates that hijack shuttles to steal the new engines for reverse engineering purposes. So far, nobody has been able to reproduce or even retrofit one of these engines for use on their space ships. It is just a matter of time, though. I suspect in a year or two at the most, Parsec drive will be all the rage and available for all space craft.


Yes, more lore than code to support, but at least you have an idea of what is going on in the game. The times delivered and the shuttle list are served from the server. Even the time above the map is derived from the server using server time. It refreshes each minute to make sure the game client is in sync with the server, but it ticks to the second so you have an idea when your next departure will happen. There's another screen that exists on top of this one, it is too early to show shots of that screen so for now, just use your imagination that in game navigation and additional information will appear above this screen.

There are also a few interesting concepts on display in this shot, taxes, tariffs and ticket prices are presented as things that will happen. You can also purchase a ticket but if you choose to cancel a ticket there will be some penalties, so don't expect a 100% refund. But more interesting about this concept is the taxes, reduced refund and tariffs. The money collected goes to the stellar system economy. This potentially substantial amount of money being collected could go to the good of the planets in the system, or some crafty players will figure out that there are ways to filter this cash flow into their bank accounts.

This ties into the original title of the game, Fortune. Yes, there will be money sinks, taxes, tariffs and ticket prices are just one form. But at the same time, there will be players that figure out ways to navigate around the money sinks. Most players in the game will be poor, meaning they exist in a somewhat day to day cash flow predicament. They will be rich and care free one day and flat broke another. But for about 3% of the population, they will live without cash flow problems at all. In fact, their actions will actually impact the other 97% on an almost minute by minute basis. Think you are doing well in currency trades? guess again, there is likely a fat cat manipulating the markets and while you are making millions in trades, they are making tens of billions of dollars and are not even logged into the game.

So when people ask me the point in playing this game, the point is to become the wealthiest, most powerful player in the game. You will know your rank and you will know the ranks of the elite players.

Friday, December 5, 2014

catching up

Ok, it's been quite a while since I've posted. The latest development have mostly been with travel. I plan to post screen shots of this in the next few days, but basically intergalactic travel via public transportation is now up and running. Planets maintain schedules and there are a number of other factors to consider such as taxes, tariffs if you are transporting goods and how long you want to wait to get away from the planet you are on.

One of the biggest challenges I've faced in this part of programming is actually a somewhat trivial issue. When traveling, you are presented with a starmap of the neighboring stellar systems that are within reach of the public transportation system. But in the database that runs this, the stellar systems are not named, the planet that hosts a spaceport is named. So are you traveling to the planet or the stellar system? Did I mistakenly name the planets and not the stars they orbit?

I'm actually still struggling with this and believe I came up with a creative work around.

Players will be able to take over planets. That's been the plan from the start. So the player base will have the ability to name the stellar system. Travel will be based on this name. But planets within a stellar system can also be named. The stellar system will basically have one of the planet names promoted to be the name that represents the stellar system. So in theory you could have competing players owning planets in the same stellar system. Devising the manner in which they will handle who gets naming rights is simple, whose player association is bigger? Whose planet has more players selecting it as their "home" planet?

To make it a little more complex, very few planets actually reside in the "habitable zone" around their respective star. Players wishing to take over planets that are not habitable due to extreme temperatures or other reasonable excuses to avoid regular visitation of these potentially deadly planets could end up giving a habitable planet little competition in naming of a stellar system.

So how would the underdog win? Simple, get some friends together and blow up the other planet.

Sunday, November 9, 2014

Recent Development

Since posting my note about my break I have spent a lot of time working on planet creation. The main galaxy has about 10,000 planets. Of that, 160 are in a habitable zone and will be open for ground exploration. Over time, more planets will be added that allow ground exploration. But as it stands now I have to manually generate each planet. The randomizer is pretty good but the design of the planets is intentionally simple, the only real purpose in exploring a planet is for the sake of mining for raw materials.

I had not intended to launch the game with planet exploration but it started to bug me so I put some time to make it possible.

With the planet stuff off my mind, I've started to revisit the main game panels. These have gone through many concepts starting with a style based on the Star Trek LCARS stuff, then I moved in a slightly different direction that based them a little more on control panels from the Apollo space crafts but I've finally settled on screens that are largely based on the PDP family of computers from DIGITAL Equipment Corporation. But even with this major shift in design inspiration, the game panels have gone through numerous changes. I've finally settled on what I consider the main status area which appears at the top of every game screen for easy access. My next post will show some concept art that improves on previously released artwork from the game.

Monday, September 22, 2014

Another break

I'm taking a break, the programming is going very well as I continue working through creation of raw materials and creating a galaxy based on them. But the things that I would write about at this time would give away secrets of the game.

My plans are to continue with the blog once I have the first stages of a playable game ready or as I produce more artwork for the game panels.

Saturday, September 6, 2014

Raw Materials

I've been spending a significant amount of time on the crafting aspects of the game, specifically raw materials. As I've talked a little in the past, crafting will play a significant role in the game and also offer a level of complexity I have not yet seen in a game.

Raw materials are purely fictional. Originally I intended to use some common names like gold, iron, aluminum, copper, etc. I abandoned this because it was much more difficult to randomize the attributes when the names were common. It wouldn't make sense if gold contained attributes not possible for gold. In the end, I've settled on a list of attributes that each raw material will contain:
(not listed in any particular order)
toxicity
surface tension
radioactivity
conductivity
causticity
viscosity
flammability
hardness
density
reactivity
flawlessness
lustre
clarity
ductility
malleability
magnetism
half life
diaphaneity
compressibility
mestablity
particle size
potential energy
decay potential
decay rate
mass
boiling point
freezing point
ionization point
danger Solid
danger Liquid
danger Vapor
danger Plasma

An important thing to point out is the last seven attributes. Raw materials will exist in one of four natural states, liquid, solid, gas and plasma. I left out the state "condensate" on purpose, mostly to keep things a little simple. Each state will have different attribute values. There are a large number of factors that go into the difference an attribute may have from one state to another. Every attribute is randomized but there are relationships made between many causing the code for calculating the attributes for a single raw material to contain 2400 lines of math, logic and randomization.

All raw materials, with the exception of organics which I will cover in the future, are categorized into the following:
liquid - toxic
liquid - non toxic
liquid - anomalous
liquid - unknown
mineral - native
mineral - sulfide
mineral - oxide
mineral - halide
mineral - carbonate
mineral - sulfate
mineral - phosphate
mineral - organic
mineral - silicate
mineral - anomalous
mineral - ore
mineral - unknown
rare - cosmic dust
rare - stardust
rare - dark matter
rare - anti-matter
rare - unknown
gas - toxic
gas - non toxic
gas - anomalous
gas - unknown
Though this list is subject to change.

The distinction between a toxic liquid and toxic gas is not trivial. Since all gases could become liquids and vice versa, these classifications also imply the natural state of raw materials.

On the crafting side, things get a little tricky. Recipes are used to craft various things in the game. Many are straightforward, if you are crafting the hull of a ship, you would expect to be using a lot of minerals. But as crafters advance in their profession, they will find that there are ways to improve the objects they create by experimenting with the temperature of the raw materials. That is to say that there may be cases where a recipe calls for a very stable metal with some specific attribute levels. The crafter may have the ideal material in their inventory but in its solid form, it is very dangerous to use but in liquid form it is much more stable. The skill of the crafter will determine their ability to craft in this sort of complex scenario where materials change attributes when placed in certain conditions: temperature and atmospheric pressure.

Crafting itself is simple. The intention behind the setup of crafting is to make it as approachable as possible. I've played games where crafting was so complex it was boring. My goal is to setup a crafting portion of the game that is simple enough to appeal to casual crafters and complex enough to keep the serious crafters interested.

Saturday, August 2, 2014

Economics, crafting and trade

When I set out to build this game, trade was the most significant goal for gameplay. But what is trade?

The main game which inspired trade is Taipan! In this context trade was simple yet elegant, you could trade general goods, arms, silk and opium. The obvious goal of buy low sell high applied and there was very little strategy required. Randomly goods would be sold for incredibly low prices and other times the goods would sell for many times the average price. This was a great system for a simple game. Another game that did it well was Drugwars. Similar in nature but gave you a limited amount of time to make trades.

In the case of Taipan! the game was fun but only playable until you've reached the point where the game couldn't render how large your bank account became without using exponents. In the case of Drugwars, the game ended too quickly. But in both cases, there was the ability to shop around without costing more than time or a possible attack.

As I build this game out, there's a general theme that you will be able to stockpile a ton of goods in your ship and travel around to sell for the best price. The downsides include time to travel and cost of fuel to transport the goods around. In some cases goods will decay over time, so making quick trades is important.

But there are other ways to trade. What if you want to profit on goods that are sold without dealing in them at all? There's several paths.

Commodities markets will exist that allow you to trade in the form of stock. Buying and selling stock can be very profitable but also destroy your savings if you don't know when to escape a loss. You can also trade on indexes that pool many types of commodities together. The ability to make bets on the market in the form of futures also exists. But in some cases, futures can be the quickest way to drain your bank account if you make bad bets.

Professions also exist around trade. Delivery being a significant one. A typical ship can transport goods from one side of the galaxy to the other in about 4 hours. If you use shuttles instead of your own ship you can move around a little quicker if the shuttles are arriving and departing in your favor. But if you needed to transport some materials in just a few minutes, you would need to hire someone that specializes in high speed delivery. The ships used for this are very specialized and cannot be equipped for combat. Players that are very advanced in the delivery professions can do interesting things, like deliver a fleet of combat ships to a particular place in the galaxy.

You can also be a producer of goods without dealing with selling them at all. Should you decide to create a farm, mining outpost or factory, you can also join a trade federation that will pay you based on predetermined contracts. You won't get quite the same amount as if you sold it on your own but you won't have to trek around trying to make money on it either. You may still have the ability to take a portion and sell it on your own but depending how large you grow your operation, you may be focused more on the management of the installations and working more on profit per hour modifications and focus very little on the individual items you produce.

Similar to the above, you could run a trade federation and basically be a distributor or another way to view it, importer/exporter. The scale you choose to do this on has a lot of dependencies.

Another avenue of profit is running storage facilities. While many mining, farming and other installations will have their own warehouses, there will be times when traders need to stockpile large quantities of goods. Being in the position to provide ample security and protect against the decay rates of rare materials takes special skills acquired in the profession. Combined with delivery services, sometimes the fastest way to profit is by just providing services.

Finally, crafting will have significant impact on trade in the game. While the early phases of trade will focus largely on trading resources and commodities, player crafted items will end up being where the vast amount of wealth will be generated in trade. Everything in the universe can be crafted by players. Even planets but that's a different discussion topic. In some cases players may which to turn their small crafting operations into corporations and even have their stock traded on the markets.

The economy will be largely based on the main commodity markets. A planet's worth is based on the current supply of raw materials and its ability to purchase. This being the main thing to swing the markets. Players can have impacts on the markets but the bulk of the fluctuation in market prices will be non player entity driven. The concept being that while players make up the bulk of gameplay, NPCs outnumber players significantly.

As I stands, I've completed the creation of the main commodities. There are 6 classes and 35 different commodities in all. Within each commodity there are hundreds, if not thousands of possible options for trade. What this means is that a commodity class would be radioactive minerals and within that, there could be thousands of types of radioactive minerals. At the commodity market level, you are trading against the market shifts of all radioactive minerals but a miner may specialize in just a few and trade them specifically.





Sunday, July 27, 2014

catching up

It's been a while since the last post mostly because the time I have to spend on the game is better spent programming than writing things here. At least until I get stumped on something and need to do something different. Which is where I am at now.
 
So what has happened since the last post? A lot actually, of the initial roughly 10,000 planets placed in the starting galaxy, around 200 exist within the habitable zone of their respective stars and are able to support life. Of those 200, approximately 80 have been named and exist within the starter player area where it is possible to travel, via high speed shuttles, to each of the planets.
 
This brings about a new direction I'm taking the game for starting players. Simply put, space flight in this game is a complex operation. I would say it is up there with landing on a space station in the original game Elite from the 1980's. At least up there with my experience which was that about 40% of the time I crashed into the space station and the game was over.
 
Rather than have all starting players get a ship and be expected to travel around in that, you can take shuttles. The goal is to make money and also gain some valuable experience. So when you start out you can play the game in a few different ways.
 
The simplest is to trade resources from one planet to another. Planets make significant money in the import/export business of resource trading. So players can join in this by purchasing blocks of resources and heading to other planets to trade them. Small problem though. As advanced as these civilizations are, they do not allow their resources pricing to be exposed. So unless you have your own private network to share pricing, do not expect to easily locate the best place to go and sell your goods.
 
Another way to make quick money is to take missions. There are various delivery missions you can take which can make you some quick cash when you don't have enough to really invest in resource trading. These missions vary widely and may have significant risk/reward if you are willing to deliver black market goods.
 
You can also start a small mining business. All the planets offer the ability to run surface mining operations. With some investment of equipment and staff, you can start a small mining outpost and either trade your goods directly with other planets or put them up for sale if you prefer not to be in the delivery business.
 
Finally, you can craft goods. Not only can you craft things you may need, you can craft things to sell.
 
So this is where I'm at, I'm building all the systems around gameplay that has nothing to do with space flight which is funny since that's what this game was really supposed to be all about.
 
Now as for planets not sharing pricing. I'll get into more detail later on, but there's a short version I can share here. A really long time ago a large group of planets got together and began an interplanetary stock market system for resource trading. While a lot of people got really rich off of this system, it decimated the economies of some really great planets. Of the 58 planets that shared the markets, only three remain populated. Of the three, only one has a strong economy. In fear of the same happening throughout the galaxy, planets have all chosen to not offer the means to check current prices without traveling. There are many trade networks that offer pricing and it is common for traders to talk to one another, sometimes offering false leads and other times joining together to share the wealth in huge trades.

Saturday, June 28, 2014

Creating Solar Systems

One challenge faced in making the game is the creation of solar systems. If the idea was for the game to have a dozen static stars, then you can craft each solar system and put effort into how things are structured. But in a game with hundreds of thousands of stars, creating a random engine to generate solar systems is required.

So today I offer a screen capture of just the field created in an application used to prove a concept before I commit the application to actually generating solar systems for each of the 3000 test stars.



In the game the circles won't exist. They are just to prove that the math is working properly. Basically each planet exists within it's own orbit boundary. Keeping the game simple, all orbits are perfect circles.

The red circle indicates the beginning of an asteroid belt. There are additional factors in place to determine the density of the asteroid population. In the game asteroids will provide significant income for those that pursue mining as a career. The dots are not asteroids, but clusters. In the game, the main map when zoomed out would appear similar to the above. But when you are zoomed in and flying around an asteroid belt you would see significantly more dots on the radar. Just be sure you've equipped a good set of deflection shields on your ship, asteroids can take a serious chunk out of a space ship if you attempt to navigate without the proper equipment.

Thursday, June 26, 2014

Toshiba won

I intended to buy an Asus but after spending countless hours at BestBuy over the past few months looking at each laptop, typing on the keyboards and deciding what I actually needed I decided to buy a less expensive laptop.

I got a Toshiba for $599. It's powerful enough to write software but weak enough that I won't install games that will distract me from programming.

While the game lends itself very well to the touchscreen laptops, I opted not to buy one that had touch screen.

In the end I got a laptop that has a great keyboard. My typing test was to see how well I could type
private static void method(){
for(int x=0;x<1928;i++)
doSomething(i);
}

I also tested the location of the arrow keys, tab key and power button. Oddly there were a few models where the power button was so close to the delete key that I shut the unit down while testing (lenovo).

The other problem I had was that I had purchased units in the past and returned them. For some reason when you close the lid on some models (mostly Lenovo) the unit powers down instead of sleeping regardless of how you setup the power options.

I still have 12 days to return this to BestBuy but I don't think I will.


Ok, break time is over, back to coding...

Saturday, June 21, 2014

New Computer

I hate buying new computers. Granted I usually build my own but I've been trying to do a lot of the programming using a Win 7 VM on VMware Fusion on an 11" MacBook Air. Bottom line, with a new laptop I will do more. So I'm about 99% sure I will be buying an Asus laptop, they seem the most solid and have a screen resolution that will actually work in creating this game.

So hopefully in a short amount of time I'll be back in to programming instead of all the different organization tasks I've been taking on that a mostly useless 11" MacBook can handle.

Saturday, June 14, 2014

Mind Maps

I've been spending a lot of time making mind maps of the different aspects of the game that require development. It's a humbling experience when you see what you've built and what is required to be built.

With the direction in hand, now I'm able to focus attention on the areas of the game required to make it playable. While a huge emphasis has been put into the development of space travel, it's actually one of the least used systems when playing the game. So for the next couple months I will focus on the travel, financial, trade and crafting aspects of the game.

I guess I had this total epiphany when I realized that space exploration was useless without a reason to leave a planet outside the public transportation systems available.
 
mind map for programming tasks:
 
 
 
Too small to read, for some good reasons, the map above represents the core game engine in the center black box. From that are each of the main functional areas:
  • Travel
  • Skills
  • Inventory
  • Player structures
  • Quest engine
  • Crafting engine
  • Financial systems
  • User interfaces
  • Combat
At this point about 15% of the boxes are completed which has created an almost playable game. So for now I can zip around the galaxies, plot waypoint, gather information about planets and fly a somewhat reliable space ship. In showing part of the game the other night my ship exploded, with warning. I forgot that my engines were heating up...
 

Wednesday, May 28, 2014

Making Planets

When I set out to create planets I had two goals:

a) I wanted the planets to be totally random, so that when I play the game they are just as new to me as they are to the other players.

b) I needed an application that could do this in significant volume, there is a need for about 375,000 planets.

So I offer a screen shot of a program I call Planet Builder. Using a handful of numbers, the tool creates randomized planets at a rate of about 1 per minute. Luckily I am able to run 5,000 iterations of the tool at a time making it possible to create all the planets needed in less than a day.

The example shown is actually only a partial planet. What you see is a water based planet (all the blue) with the solid land masses defined. Black is just plain land and the white are mountains.

Additional passes would be made in the tool to create resource areas. For example, parts of the map may have gold, iron, platinum, diamonds, etc that players can setup mining camps to harvest.

In terms of gameplay the concept is pretty simple. Speaking only for advanced players with significant skills, it is possible to scan a planet remotely with a probe that will return a list of materials that are available on a planet. If it is decided that there are desirable materials then the player can explore the planet with a landing craft. Flying around the planet the player can survey areas of the planet for specific classes of materials like metals, gems, gasses, etc. The survey computer will then return maps that indicate the areas that could be mined for resources.

The player would then send out additional probes to sample the quality of the resources to determine if it is worth mining.

Players have a choice in the level at which they wish to collect resources. Casual players may use robots to harvest materials, this inexpensive method would return enough material for a player to make some lightweight items for their own use but would be too slow if you plan to build items in mass for resale.

Alternatively you could build a mining camp. Camps have some requirements including security, power sources, transports for the materials, employees and the mining equipment. Other expenses may play a part such as life support for the employees if food is not easily obtainable on the planet or if there is no atmosphere. But the investment may be well worth the extra effort involved in creating a mining colony.





In case you are interested in what parts of the interface mean:
drops = the number of land masses created though the way land is generated 2 drops could run into one another and appear as one drop
passes = the number of moves the tool makes once the cursor hits the canvas
range = a random number is generated between the two numbers and acts as the distance between the current cursor location and the next
size = the brush size that is drawn on the cursor location

In the upper right the numbers refer to the randomness that takes place. Without some alterations to favoring the direction the cursor randomly heads in next, the numbers are even. But it is possible to manipulate it so that the cursor tends to "go south" more than "go north" which can help create planets with funky patterns. 

In practice most numbers in the interface will be randomized within a set of constraints for all planets that are created. Again, I want to play the game and experience every planet seeing them for the first time like any other player. So there are likely to be some really strangely laid out planets in the game. 

Multiple passes are made which draw the planet in a random sort of smudge pattern. The canvas is 1200px square (though this image only shows a 516px version of the app). 

When players locate planets they want to land on or survey an image will be offered that is 300px square (because that's the size of the interface onboard the ship that allows you to view terrain of a planet). The same small image will be used as a "mini map" when traveling on the planet. A horizontal and vertical line will overlap the mini-map to indicate your current position. Even though the planet is displayed as square, what you see if the entire planet flattened out, so when you travel to the right and reach the end, you start back all the way on the left so simulate the square being a round planet. 

Yes, it is a little unrealistic that all planets are 1200x1200 but things can change over time.

As far as exploring the planets, 1 pixel will equal 50px of terrain where your crew takes up 1 pixel. This means that planets are essentially 60k units square. This means that it would take about 15 minutes to circumnavigate a planet in your landing craft and about 3 weeks to walk around it on foot (assuming you can, there's no swimming allowed). 

Thursday, May 22, 2014

ground

From the start the game has been about space exploration. But I've really wanted the game to be about planet exploration. So I've setup the systems to begin planet creation and combine what I consider the two most significant inspirations in creating this game, Exodus Ultima III and Odyssey the Compleat Apventure (spelling is correct).

The premise behind the game has not changed. The ability to place mining colonies on planets and the ability to both harvest natural resources and the need to defend your mining colonies just got added.

More to come...

Sunday, May 4, 2014

Wikipedia

Wikipedia is a really odd company or whatever. I post my info here:
https://en.wikipedia.org/wiki/List_of_indie_game_developers
Then take the time to create two articles, one for the company, one for the game. I matched the writing style and format of other games posted but they chose to remove my pages.

I understand that they have this problem where people just trash pages all the time putting misinformation. I just think it's lousy for them to pull my content when it is no different than other articles.

I'd still like to be listed in Wikipedia but they also said they prefer someone else to write the article that is not connected to the game/company. So if anyone would like to write it, feel free. Contact me if you would like more info. surrealcoder @ gmail.com

Thursday, May 1, 2014

the story behind release candidate one - part 1

I remember a group of older kids that hung out in the park my house overlooked. They frightened me or maybe it was that my mother made me frightened of them. They smoked, that made them seem cool. They drove beat up cars, that made them seem tough. But I was afraid to go near them. I was told stories about how they do drugs, steal, hurt people and the list of bad things went on for miles. I watched them from my bedroom window but they were pretty far away. At night I could see the glow of cigarettes, hear faded laughter and an occasional beer bottle crack against a wall. I was afraid I would grow up to be one of them but I could not stop watching them. When I stopped watching I wondered what it was like to be in their group but when I watched I was overcome with a feeling of sorrow and regret.

There were times when I would ride my bicycle near enough to get a closer look but far enough away to avoid conflict. I would try and look at them out of the corner of my eye, hoping not to be obviously gawking at them. As I grew up I became bolder, riding my bike closer and being more obvious that I was staring at them. As they grew older my opinion of them changed. They were ugly people, physically and just not people I would want to spend time with.

It was very clear that the rumors of drug use were true. I witnessed the use of heroin, not realizing that's what it was. The thought of sticking a needle into my arm was so foreign to me I couldn't understand why they thought nothing of it. I began to make up names for them, but odd names that evoked the feeling I had when looking at them. There were two girls that stood out the most in the small crowd, an older one looked strange, like an odd face I cannot explain, I called her Glorby, I've no idea where the word came from, but it was her. Another girl, very pretty early on, I called her Summer. I suppose at one point I had a crush on her, but that passed quickly.

I cannot recall when I stopped bothering with them, I'm not even sure why. But I stopped watching, I moved on, I grew up. High school turned into college, then grad school, then a job at a university. My work in experimental physics consumed my life. For years I worked on ideas that I could not easily explain to others and became very secluded in my research. It was very science fiction, even to me.

My research led to an experiment that changed my life. Whisked to an alternate dimension, in an alternate universe that was somehow completely flat, I found myself on a planet identical to earth in every way, at least up until 1966. That's when the hippies took over the planet and changed the rest of history. Or in some ways, didn't change it. I don't really know why or what happened but it took the planet about four hundred years to get from 1966 to 1981. I traveled to the planet a number of times but I remember my first hours there clear as day.

I was in the middle of Central Park in New York City. There was some sort of concert taking place and I can only estimate that it was around 1967. There were hippies everywhere, I was completely out of place. I started to walk away from the festival and found myself winding my way down a path through Strawberry Fields.

As I walked over a small hill I stumbled into a small group, mostly doped up on some combination of LSD and I don't know what. To some extent they reminded me of the group I avoided I the park growing up. But I was drawn to them, or rather I was drawn to the spaceship that was resting on the grass behind them.

The ship was beat up, rusty, a bucket of bolts that looked like instant death if you were to launch it into space but it was covered in the most interesting and colorful blend of day glow paint, swirls, random images and words that I had to walk up and touch it. "Go inside, it's more fun in there," I didn't look at her but I wandered inside, she followed.

I was immediately overcome with a sense of sorrow, fear and anxiety. "Try it out, sit over there," waving me in the direction of the captain's chair. It was not what I expected. Clearly this was not like space ships I ever imagined. She came over to show me the controls, I guess it was obvious to her I had never been inside a ship before.  The control panels were oddly familiar, like mainframe control panels I saw in vintage computer books. It was nothing I expected, no steering wheel, no windows, just a bunch of computer terminals and panels with switches.

"One day you will be experienced, maybe even beautiful, savor the memory of the days you were not," soon after I found myself barely able to stay awake. I walked over to a couch and watched the others file into the control room and take their positions and realized they were preparing to take off. My head felt like it was filled with water. I bobbed back and forth, the feeling was nothing I've ever experienced.

I felt like I was treading water sitting down. I might have been kicking my feet. I was very aware of people staring at me because I was doing stupid things, but I was unaware of what I was doing that was stupid. I started to absorb the reality of where I was sitting and started to understand the different stations on the bridge. I asked lots of questions, nobody answered, they just stared, I wondered if I asked the questions out loud or not.

"What's her name," I just sort of shouted out, I didn't have much control over the volume of my voice and I startled the captain a few feet away. He walked over and put his hand on my shoulder, "the ship? We call her Summer of Love. A little optimism goes a long way in naming a ship that is less than reliable. Cross your fingers, we think she's almost ready to fly. Last couple times didn't go so well. I'm the new captain, this is a new crew, we're really glad you came along for the ride."

"What's going on with my head?" I asked the captain. "Don't worry, that's just Ayam. He's the computer that runs the ship. There was a malfunction before, he put LSD in the ship's water supply and did something screwy with the ventilation system. He's a great computer but has a sick sense of humor."

"Why the name Ayam?"

"It's short for AM3100, Action Man Elite series of talking computers. He doesn't talk much but when he does you ought to listen."

I was feeling the effects of the drugs, nobody else seemed at all phased by the predicament we were in. We were about to take off into space onboard a ship that I really don't think would make it more than ten miles up before crashing back down that was run by a computer that decided it would be fun to drug the crew. I was horrified to think of what could happen next.

There was a loud bang, I think it woke me up, I think I was asleep. The drugs were really winning the war between reality and surrealism in my brain. I could not tell if I was sleeping, dreaming or wide awake. I guess only a minute or two had passed, the captain called across the control room, "Ignition!" and turned to me and said, "you may want to close your eyes."

I took his advice. I imagined I was inside a Ferrari out in the salt flats. I slammed the gas pedal to the floor and was drilled back into my seat. For a brief moment I snapped out of my drugged stupor and was overcome by the same sorrow and regret I used to feel watching those kids in the park. But that quickly passed as I drifted back into a state of amazement realizing that I was zooming through space with a group of hippies aboard the ship "Summer of Love."

It was all I ever wanted.











Monday, April 28, 2014

Interface Design

An interesting challenge in this project is to emulate the style panels of old mainframe computer system and adapting them to function in game. A simple google search of "pdp 8 panel" will give an interesting cross section of panels being used.

But the challenge comes until modern studies on user experience and proper interface design. This game is somewhat counter to modern practice which I don't believe is a reflection on the old panel design. I think it is a case where the older computers were operated by people with training on specific interfaces. This is similar to this game. I don't expect a new player to jump in, throw some switches and launch a space ship. Things are just not that simple.

But sometimes you gain accidental boosts to usability. Take for instance the beloved operating system Windows 8. I personally have not yet upgraded. I suspect I will when Windows 7 is no longer supported in 2020. But I did try parts of the game on a Windows 8 touchscreen and found the game much more enjoyable when controlled with a combination of touch screen and mouse/keyboard input.

Thursday, April 17, 2014

two dimensions

I opted to create space as two dimensions because I chose to focus more energy on gameplay than math. I hope that's a reasonable explanation.

The other side of this is that for the few that have jumped into the ship and started flying around I posed the question after they tried it out for twenty minutes. Simply asked, "Did it bother you that I designed the galaxy as a two dimensional space?" Which received the same basic answer, "I did not realize it was not three dimensional. Hmm...so no, didn't bother me at all."

 
 
The above image is a screen capture from the navigation system. The red dot is over the solar system my spaceship is currently exploring. The little blue dots are stars in the galaxy named Sordid. This is the starting galaxy, a friendly place with minimal threats in the center and danger/adventure as you move away from the center.
 
There are sixteen galaxies in this alternate universe. Each galaxy has around eight thousand stars, each star represents a game map one million pixels square. Granted each solar system unit is displayed as a square, everything revolves around a sun at the center. Each square solar system is 240 astronomical units (AU) across.
 
As big as it may seem, it is really designed to be large enough to accommodate many types of space travel in different classes of ships. A small explorer ship can buzz around a solar system from end to end in about 40 minutes. A larger transport may take several hours to do the same but I'm not sure exploring with a transport ship makes sense.


Tuesday, April 15, 2014

Screen art from the game - teaser

As you may have read, a huge inspiration to the game was the Digital Computer Corporation PDP-8 family of computers. They had a large number of interfaces. In the game I call them ROM panels. There are many but I've designed them to use similar interfaces because old computers don't work quite the same as new ones.

So when piloting a ship in the game, you are responsible for more than just picking a destination and clicking a "go there" button. You have to manage the systems of the ship. Each system has one or more ROM panels which allow you to control different aspects of the ship. One of the main panels is to control the distribution of electricity. The short of it is that your ship is not capable of producing enough energy to power up everything. So you have to make choices, sometimes tough choices, about what/when to power different areas.

The main areas are divided into six simple categories, Auxiliary Systems, Collection Systems, Life Support, Stellar travel systems, Interstellar Travel Systems and Combat Systems. There are also Intergalactic Travel Systems but that's a discussion for the future since they are not a primary system.

 Besides controlling what the reactor is running you also control the battery backup systems. From the main control panel you can run tests on the batteries, switch from A to B systems (if you spent the money to have backup systems). And most importantly, monitor how many Kilowatts of power you are consuming in the primary six areas.

Below is an image of the actual in game artwork. Please note, this game will largely be a proof of concept until I get some money to create better artwork or someone clicks on the employment tab and volunteers their artistic talents to making things look better. But for someone who can barely hold a paint brush, I think it looks pretty good. Inspiration came from the KL 10 interface used in some PDP installations. A google image search may surprise you on the small amount I changed the original interface which was really done for the sake of gameplay.


Note that across the bottom are switches used to control on/off for each main area. In the shot all buttons are turned on, for most ships this would not be possible (or advisable even on the ones that can).

Another huge aspect to gameplay is the in game terminal. I'll post more on that later with some explanation of how it works. But it is essentially a BASIC compiler with some extra features. The most significant is the ability to use reflection which allows you to control analog switches on the ROM panels. So you could write a program in game to turn switch 7 on or off rather than go to this panel and click the button.

But it gets better, since it is a multiplayer game, it is also possible to gain control of a friend's ship and write software that can control your ship along with theirs.

Aside from reflection in the form of reflecting real world interfaces to source code another key addition to the BASIC compiler is the ability to use pointers and references. Granted this capability is geared towards those that have some understanding of programming, it helps to make for some interesting options in writing applications that could autopilot your ship. Or in the event you need to overload the value of a reflection panel but are constrained, create a variable with the overclock value you want and then point the address from the ROM panel to it. Granted it could blow up your ship but hey, no risk, no reward.

Digging up the past

Last fall I pulled down all the posts I previously put up regarding Oberon. I realize that this was a little bit of a mistake. But I wanted to get this post up first to say one very important thing:

None of the posts pre-April 2014 relate to Oberon

They do relate to the creation of Oberon and many of the ideas and concepts will land in the game. But the old posts are really just random thoughts wrapped around gameplay, not a story.

So should you choose, read the old stuff but be forewarned that some ideas are off the table.

Monday, April 14, 2014

the game

lore aside, the game itself is hopefully different from anything you've played. It takes some imagination and a little sense of humor.

The game is a multiplayer space exploration simulation, though using the word simulation requires some poetic license.

You are the pilot of a craft that you can customize. Ships can be bought/sold/upgraded throughout the gameplay and fit into various classes that perform functions like exploring, fighting, destroying, mining and transporting.

Trade, combat, crafting and all that sort of stuff comes into play in a number of ways. Mostly, you will make you own adventure. For those that need guidance, there are quests, missions and various ways to contribute to the universe.

But for the most part you will spend your time piloting one of the least reliable space ships you will ever experience in gaming.

Internal working of the space ship are slightly more complex than anything you are probably used to. Ships are controlled via a large number of panels, each controlling different parts of the craft. At the core of all controls is a terminal with a compiler that uses a language similar (very close) to BASIC. But more on the in game computer later on.




And then there was Oberon

In an alternate dimension, in an alternate universe there is a planet that is almost identical to earth in every way you can imagine except one. In 1967 the hippies took over. From there on out things are so much different.

Meanwhile on the earth in our dimension and galaxy, a clinically insane experimental physicist working on some weird thing about patterns, that nobody understands, made a discovery. It wasn't anything too crazy and he attempted to publish some articles but for one reason or another they never made it into any of the major scientific journals. But he did manage to put together a few bound volumes that explained it all that are still sitting on the shelf of the most unvisited area of the library in the university that employs him. His real name is not relevant, but in most situations when you ask him what his name is, he will pound his fist on the bar and announce, as if he is the ruler of Russia, "My name is Monk James!" and then settle back into his bourbon. No need to say another word, you are wasting your time.

You can't rely on Monk to tell his story anymore. Instead you have to rely on others to pass on the lore. Some get it right, most get it wrong, but everyone telling it admires the man in ways that won't make sense to you right now. I'll talk more about that later. Right now you won't get it, so I won't push him on you since it only depresses me to think you would not see his greatness, instead you will focus on your disbelief and misunderstanding.

The hippies made some interesting changes. The most significant change was in technology, basically it didn't advance. This led to a population of space explorers that built ships powered by computers that can barely calculate 32,768 squared.

The preferred system for explorer ships was the Star 100 for power systems operations and the PDP-8 for the rest. Of course, in our dimension, the thought of piloting a space ship with any combination of the two will send a couple vintage computer geeks into the streets laughing their asses off.









another beginning

this is a post about a video game that consumed my life from 1984 to 1988. I didn't play it, I was programming it. But there was a problem, computers were not far enough along for the game to work.

A lot of time has passed but the passion for completing the game is stronger than ever.

My inspiration from the Apple iie that was my life:



I'll go further in the next posts about the game. It will take a while to explain.