Saturday, August 3, 2013

Schematics


Keeping with the crafting theme.

Nearly everything in the galaxy can be crafted with the exception of elements and compounds. Is it realistic to find steel, a metal alloy, on a planet? No, but it makes better game play than to expect players to use schematics to craft steel themselves. 

This amounts to four types of schematics that exist in the game.

- reverse engineered schematics
Nearly everything in the galaxy can be reverse engineered to create a schematic capable of producing the object you have on hand. When a schematic is produced in this manner, the understanding of the best resource attributes is not always possible to view. Depending on your skill level for reverse engineering your schematic will range from only knowing the necessary elements to make that object to knowing the amounts and best attributes to make the object exactly as you found it. 

- general use schematics
Since nearly everything can be crafted, many schematics are learned while advancing in the crafting professions. Every player starts with a handful of known schematics. 

- looted schematics
These are typically rare. Depending on the quality of the loot, the schematics will give more or less information about the best elements to use. Some very rare schematics may also only allow a single use and create an object that not even the most skilled reverse engineer can figure out.

- element refining schematics
Elements can be refined to make some attributes better. There are always adverse effects in the refining process. For example, removing magnetic properties from steel may also weaken it making the tensile strength properties also go down. Refining is handled by very skilled miners, a lot can be done by trial and error but it can be helpful to create schematics so that the process can be repeated as well as scaled up. So it is possible to create massive refining facilities able to produce similar elements and compounds so that crafters are able to mass produce low, mid or even high quality products.

What can get tricky is that many schematics won't tell you just how much of an element to use. So say you have a schematic to build an engine. It requires steel. If you put in 500 units, it will make the engine. But then you realize that after some experimenting, if you put 5000 units of steel the engine has much better stats. So then you increase to 10,000 units and think you've just created the be-all and end-all of engines. Trouble is that the mass of the engine is now well above 40 tons and most ship manuals suggest that you never exceed 3 tons for this type of engine. So you have an awesome engine that if you put it on a space ship, the ship won't lift off the ground.

But schematics don't all have to be that complicated. There are different levels of crafting. But if you want to build the best components in the galaxy you will have to learn the complexities of schematics. If you just want the ability to craft mediocre stuff, then there are in game crafting units that will dub things down a bit.

So that's schematics in a nutshell. They are actually more complex than that but that will require playing the game to really see just how extreme crafting can be, if you want it to be. 




Game Time

One of the issues I've been working on is the communication between the primary server and the game client. At regular intervals the client gets information from the server, including the game time. Time is a critical factor in much of the game, so using the server time makes this simpler.

But the problem I am working on now is determining how much time is given for each move. Keeping in the mind that the game is real time, turn based. This means that in combat there has to be a minimum amount of time in which a turn can take place.

I started with turns taking 1 second. This doesn't make a lot of sense. I see combat as a slightly slower operation. Simply put, the ships in this game are very large. In most cases they would be on the same level as a star destroyer in Star Wars.

So the gameplay would require some work to setup your next set of moves. So I've backed it off so that the fastest moves take place in 5 second intervals. Just starting out in the game, your speed won't be that quick. Some of the early ships will operate in 20-30 second intervals between moves. This doesn't mean travel ticks by in 30 second intervals. Travel is non-stop. But the real time updates from the game server will only come in every 5 seconds.

There's always a few sides to why something like this is done. I can try and cite game play and also factor in the need for some forms of time sinks. But I'm really on the side of server performance. These pings the client makes to the server could be costly in terms of server processing and network bandwidth.

I tend to think that the full release of the game will move this down to 1-2 second intervals as the game play speeds up.

Wednesday, July 31, 2013

"Hit enter to exist"

Typos in code are sometimes interesting and inspiring. Take my code for populating the stars in the galaxy. The application iterates through an infinite loop until it is unable to create more stars given the criteria. Stars can't be closer than X and the minimum distance between stars in certain areas cannot exceed N and the distance between stars in this other area cannot be less than A.

While the code runs it provides verbose output and accepts a number of commands during the operation to steer the direction of galaxy expansion. While the galaxy is technical a large square box, the star locations are completely random making the galaxy less of a box and more of a massive isotoxal  decagram. So using W-A-S-D controls it is possible to paint the 100k pixel grid.

The other interesting part is working with the random number generator which uses a series of weighting mechanisms. Intended for use in gameplay for randomizing events, this was a great test to see how well the random numbers were coming up. The game uses three different dice rolls, 1d20, 2d10 and 3d4. I guess the difference between real dice and this game is that I allow the random numbers to go out to 4 decimal places where the whole number is just as significant as the distance between it and the next.

It's important to give a brief explanation of the random events used, either in combat, crafting, mining or anything where a random number is needed. All actions in the game can be boiled down to scenes. So from the time combat is initiated to when combat is over is a scene. The scene will have many events, such as shooting a laser or attempting to run away. Events have sub-events, in the case of trying to run away, there are a number of systems that have to fire up properly in order to have a successful escape. Most of these sub-events are not initiated or monitored by the player. They are just part of the game's complexity to create a more realistic experience rather than saying that a 2d10 roll determines if the engines started. Instead each system used to initiated the starting of engines has 2d10 rolls applied and even if one sub-system fails, it does not mean the engine won't fire up, it just means that there are some things lingering in the background that could creep up later on in the flight and cause problems. Some events can be stored and extend beyond a scene, these are part of the story which is the entire gameplay experience.

So for example, two rolls that are somewhat close. 10.4218 and 10.0056. The distance away from 10 in the first roll may either eliminate positive special events or introduce other random negative events, like triggering a series of events that leads to a system failure. So the number 10 represents the roll, this is played against the other rolls taking place to determine the winner of the event. But the decimal places are collected and used over the duration of the scene. In some cases the outcome of the decimal place events can extend into the story. In this case the story then invokes a special scene to handle the triggered event. Some scenes will then eliminate the problem that found its way from a scene to story while others may expand the problem further. A simple example is you exit combat as the winner with a ship that has been beaten up badly. Engine systems are weakened, cooling systems for the weapons are barely operational and the life support systems are beginning to fail. The scene being invoked in the story now is one of survival. How quickly can you get help, get the ship to a safe place, abandon ship or as the manager of operations, dismiss the ship entirely from your command.

If you are ever in the position to write an application that requests user feedback, consider the wording carefully, your mistake could inspire others. Imagine if the instructions for signing up for Facebook told you to "click here to exist" instead of "submit".


Saturday, July 27, 2013

Crafting

One of the challenges in creating a game where everything can be crafted by players is testing without player crafted stuff. So I had to first prove the models for space travel, but the components of the space ship don't have stats, so it is hard to determine what a good stat would be.

The first math problems were all about space travel, distance calculations and some factors that play into space travel such as warm up and cool down of major systems.

But the math in crafting is much harder. It amounts to an artificial system that takes elements or components and puts them together in a way that is hard to determine the outcome until you've done it.

I've played many games with crafting and know what I like and what I don't like. Top of the list is advancement through crafting. I would point to Star Wars Galaxies as a crafting setup I despised. The actual crafting was cool. But having to create useless items to advance made no sense in terms of making a game fun versus making part of a game really dull.

The other tough part is that to craft, you have to mine for resources. To mine for resources you need some player crafted tools. Or at least "player craftable" hand outs.

So the start of this becomes filling a galaxy with elements to mine. So far there are hundreds of different elements spread throughout the planets and solar systems. Some rare, some common, some requiring special abilities to even detect that they exist. Others are in concentrations so small they seem impossible to harvest and many that degrade over time, sometimes very short amounts of time.

One aspect of crafting that has bothered me in games before is not knowing what would make the perfect thing. While having some mystery is good, I had trouble understanding why elements with some impressive attributes had no effect in making the finished product better than an element with very weak attributes. To alleviate at least some of the mystery, I will be providing crafting equations published in a forum I am in the process of setting up.

Crafting is much too complicated for me to go into great detail here. But I wanted to give some insight to the equations I've finished and feel they are very good.

Each element will have a set of attributes. Depending on the class of the element, it will have different properties. There's actually 80 different properties in the database at the moment so rather than cover all, i'll hit a few. Radioactive, magnetic and rate of decay.

Radioactive and magnetic materials may be useful for some things but not others. So these are two I would start with to explain some of the intricacies of crafting. One schematic may require something to be very magnetic where another does not. That's sort of obvious, you really should not have a computer case made out of very magnetic iron.

But then there are schematics that want a very specific number. The ranges for most attributes fall between 1 and 1000. There are some very special elements that may go as high as 2000 but those are really rare. Nothing ever hits 0 because it causes my equations to break down. So say you're crafting a very special type of hyper space engine. One of the key components would be steel. But in this case, the absolute ideal magnetism is 650. But there's a catch, if it is higher than 650 it is actually proportionally worse than if it was lower.

So what does that mean for the crafter? A good schematic will tell you the ideal value (more on schematics in a future post). A really good schematic will tell you if you should worry if the value is above or below.

So say I'm crafting that engine. It says I need some type of steel with a magnetism rating of 650. I have in my stock pile two batches of steel to pick from. One batch has a 600 rating and the other has a 700. But the schematic did indicate that if the value exceeds 650, that's really bad.

The crafting equation normalizes values so that 999 is always ideal and then adjusts the value of your current thing to a proportion within. So using the math, 650 becomes 999. Your 600 value translates to become 930 but your 700 actually moves all the way down to 600. In the grand scheme of things, this could mean the difference between traveling 5 lightyears at a time to traveling 50 lightyears in a single jump.

To make things even more complicated, some elements decay. So if you finally make your way out into  a highly radioactive dead zone where a star died and a black hole is in the process of forming and manage to acquire 500 units of dark matter, you'd better get that to a seriously good containment system asap since the rate of decay on dark matter is .034 units per minute. If you have a cheap hyper drive and managed to get yourself 6 jumps from the nearest containment area, your 500 units could reduce down to 350.

Can a ship have a containment system? yes, manufacturing spacecraft can be outfitted with special containment system so things like this do not decay. Trouble is that most of the important elements that do decay are in areas not under confederation control (see other post which talks about faction and alignment called Flashing Back). So you will need to hire a security detail to protect your mining and manufacturing operation if you choose to do that out in deep space. You may think you're all alone out there and not realize the formation creeping up on your position.



flashing back

Lately I've been spending time with an apple 2e emulator so I can spend some time with the games that really inspired me to write this game. In particular I've been playing through Ultima 4, for like the 100th time. Oddly, I've never solved the game.

I think the reason is simple, the solution doesn't interest me but the combat and exploration does. I hope I'm not alone since my game sort of relies on that also being of interest.

Part of the reason I play is to find the things I like about the game interface versus things I don't like. I tend to consider both Ultima 3 and 4 as the best in interface design for that style of game. If you're not familiar, i'm referring to the setup where you have a game window on the left and then a readout of stats you need right away on the right. Then using various keystrokes you can get more info, bear in mind that these style games were mostly played on computers that did not have a mouse.

So then I adapted some of the GUI stuff to my game to see how it worked. Cool thing is that it turns out that the general concept of action on the left and info on the right feels natural. Other cool thing is that with the windows forms style of game, players can move the stuff around wherever they want, for the most part.

But the main reason I am playing specifically Ultima 4 has to do with the opening segment. It's mostly a guided tour through the current world where you end up at a carnival and go inside a little building. You then answer a series of questions and depending on how you answer, your in game character is a fighter, paladin, wizard, etc. The game being built on virtues, it makes a lot of sense. Some parts get annoying. Like in Ultima 3 it was fun to steal, but in Ultima 4 it was frowned upon.

So then I consider games like Star Wars Galaxies with the fairly involved system of factions as well as the rebellion and the empire.

Where I think I've ended up is that I would like to develop the game so that it has the same faction style system but add on top of it, some form of alignment system. So you may start out completely neutral but could move your way towards the lawful good or evil side of the scale depending on how you play.

I find that in Ultima 4, your alignment was not as transparent as players would have liked. So how many chests could I rob before I lose too much honesty? I see it more as a meter, show me in real time, am I good or am I evil? Will one or the other immediately affect my faction standing? If I become too evil then there are certainly some factions that won't want me and vice versa.

But then I struggle with how to indicate faction and alignment to make the game play work. I'm sure plenty of people have passed serial killers on the street not knowing that the person was evil. So it's not like I can put some sort of radio beacon on a player with an arrow pointing at them that flashes: evil evil evil...But I can do that for faction.

So my plan is fairly simple, at least in my head.

The bulk of the solar systems in the starting area are all part of a confederation and pretty heavily guarded. This means as a new player you will be pretty safe from pirates or at least massive packs of pirates. But when flying in confederation ruled solar systems your ship must be outfitted with a beacon which basically broadcasts your standing with different factions.

This is what would cause you to be able to drift past one group of pirates but not another. Since these public transmissions can be read by any player and you can read all the others, you will be able to either rush in for an attack, know you can pass by safely or prepare for an escape before they become interested in your being there.

Turning off the beacon in confederation space being illegal, you risk being shot down or boarded should you turn it off. But when not in space run by the confederation, it's up to you whether or not to broadcast what you are.

As for the size of the confederation, well that changes over time. It will grow and shrink without much player control over it. It's just a natural change in the game. But there are many different confederations in the galaxy, some may not allow any outsiders in, others may charge a fee for safe passage.

To take this a step further, with the right amount of faction and military rank, you can start your own army and begin your own confederation.

But is the faction beacon a realistic thing or just a cheap way to make the game work? I think it could be a little realistic but for the most part, I admit that it is a cheap way to implement something to make the game play work.

Monday, July 22, 2013

TV

one more rant. Why do TV channels think I want to watch re-runs of the same sitcom for 3-4 hours at a time? There are so many sit-coms I would love to watch re-runs of and would love it if instead of the same show, they offered even 3 different shows in that time period.

Don't get me wrong, I love the family guy and big bang theory, but i mean really TBS, 3 solid hours of big bang?

And AMC, first, you're idiots for letting Breaking Bad end. It is the only show I ever tuned into your network for and once it is over, I doubt I'll ever tune in again. But you are running re-runs at midnight?

So to the program directors at TV stations, stop being stupid. Put some variety on your networks. Or is this your way of bowing down to the obvious fate where Hulu and Netflix replace all need for network and cable television?

Communication

ok, so a blog is OK for posting status, ideas and all around talking to myself when I hit a road block. But that's not really enough.

I will be opening up a forum which will have links for downloads. I will also be bringing the MonkJames.com website online soon which will really just be pointing to this blog and the discussion forum for now. Eventually it will offer game downloads and information.

So more on the download. After some arm twisting, it has been suggested to open up pre-alpha space travel by the end of summer. There is a little data cleanup that needs to take place and I will offer a more comprehensive post on what a pre-alpha means when the time comes. But I'll offer some very brief info here.

Pre-alpha (did I just makeup a new word?) will include mechanisms to travel around the galaxy without restriction. It is not for play testing, the release is actually part of the game manager suite of tools. My interest is in some crowd sourcing to name planets, stars and other oddball space formations.

Another thing I have failed to mention in this blog. I plan to release the game as free to play.

Will there be pay-for content? Of course. The game is free, but I have to try and make some money to keep it going.

Will the game suck if I don't buy the pay-for content? No, you can pay to get things quicker but there is nothing you can pay for that is not available if you play the game for free.

Will I suck at the game if I don't buy pay-for content? No, not at all. If you suck it is because you suck at the game.

What sorts of pay-for content will there be? Too early to really spell it all out. But the main pay-for feature will be insurance. It's really too early to explain what this means in great detail. But I will offer this. You pile 600 mega tons of raw plutonium worth about the GNP of several large planets onto your ship to transport to your main warehouse so you can prepare to blow up your new enemy's home planet and some pirates manage to destroy your caravan on the way there, well if you bought insurance, you would be in for a fat paycheck. If you don't, well no worries. Mining that much plutonium will only take you another 200-300 days.

Ok, I'm curious, what would insurance cost for that trip?

Now that's a constructive question. I don't have pricing models worked out but it will be based on what you want out of it. If you want the plutonium back, that's more expensive than wanting the value of it. But it raises some gameplay tidbits.

The pirates could be other player that attack your convoy. There's a catch though. If you insured your convoy for replacements, then there is an important game balance issue at stake. I can't duplicate the ship full of plutonium, that would mean that out of thin air there is now 1200 mega tons and some players managed to dupe resources, not cool. It really means that the pirates that stole it are about to die and have their bounty taken back.

There are also levels of insurance, in case you want to lower your premium and reduce the loss in the form of a deductible.

So, let's say that you want to insure 600 mega tons of plutonium and expect to get all of it back if something should happen. The in-game value of this cargo is very high. So for 1 month your premium would be $5, which is a rough estimate which basically includes the transport and having it sit in a warehouse.

What if I only wanted cash value? Cash value insurance runs on deductibles. So if you wanted cash with a 10% deductible, you're looking at $2 for the month.

Does insurance ever get cheaper? Yes, frequent customers will experience savings early on and the savings increase rapidly. But just like real life, if you become a high risk insurer, those savings will slip away. So just because you have insurance, don't take that 50 tons of gold through those solar systems that have no military protection. It may cost more in fuel to go around, but it is safer in the long run.

sidetracked...

Sorry Rockstar, I don't like consoles. I like the idea of a console, but I don't like the controllers. Maybe if a console could be made with the W-A-S-D + mouse action I love on PC games, I would buy one.

So if you know you will make a PC version but prefer to release the console for Grand Theft Auto V months before, why not at least let the PC gamers pre-order and also get all the cool crap?

As for those that say the PC is dead, they're idiots. Sorry, the next great operating system isn't going to be programmed and compiled on an iPhone or some Android tablet. I won't say that tablets are a fad, but I tried one for a year. I think they are great for anything that does not require typing. Add a blue tooth keyboard? I tried that too, liked that even less. By the time I had a case that would hold the iPad and a keyboard I basically lost the super-lightweight portability i was sold on in the first place. So I replaced it with an 11 inch mac air.

But even at that, Apple computers are great for many things, but in creating a game, I find Windows superior. But not Windows 8, I prefer 7. Every other OS from Microsoft sucks.

Win 95 - great
Win 98 - sucked
Win 98 SE - great
Windows Millenium - sucked
Win XP - great
Win Vista - sucked
Win 7 - awesome
Win 8 - sucks worse than Millennium

So I'll upgrade to Win 9, that will probably be great and if it isn't, then it's time to go back to linux because I'm sure Apple isn't going to survive without Steve at the helm. If they even had a chance it would have been proven by releasing a retina display, touch screen Mac Air by now.

Instead they plan the iWatch. At least Rockstar will release GTA V for Windows before an iWatch.

monday morning rant. I really want to play GTA V, besides Battlefield and Far Cry, it's the only game I'll drop everything to play for a few weeks. But I must say this, if they did release the PC version in Sept, it would push my game back kind of far. So I'll take my frustrations out in code and see if I can't push my alpha up to give everyone waiting for GTA V on PC something to do.

Saturday, July 20, 2013

alpha?

Is it alpha, or just the first public release?

As a gamer I would prefer game companies to release as public alpha without restriction. Not so much that I want to get into the game quicker. I want to give opinions earlier on that may have positive effects on the game.

Clearly this is not always a viable option, if you let people in too early and the game is not polished enough, they won't stick around to see the final product. I guess I lean towards a game release that states what is being play tested and what will come in the future releases/patches.

So for my game, I plan to open the doors as early on as possible. Time in the game is significant given the way experience works so that the idea of power-grinders does not really exist. While it is possible to advance by playing more, most of the important experience happens whether or not you are even logged into the game.

Is this my announcement for public alpha testing?

No, sorry that won't be for a couple more months. My target date to open the game for early exploration of the galaxy is Nov 1.

Wednesday, July 17, 2013

Names

From my last post I mentioned the size of the galaxy and I've scaled it down to one that will expand as needed. So my new small galaxy has 27,356 stars and each ranges from 1-12 planets. The stars have names like "acxy567893". The planets names are longer like "bcd-387463552-zx12". 

So what I did was add in a setup with players can name stars and all the planets of a given solar system if they are first to arrive. Could this lead to abuse? Of course, that's what you get. I will likely have some rules but hope to have it all player moderated. 

But there are many more names to consider.

Everything in the game can be crafted by players. This requires a fairly extensive system for resources. While there are quite a few classes for resources, there are only 75 named "elements" which are essentially the building blocks for everything. But when mining you will be able to harvest various compounds of the elements. Some will be named but players that "discover" new compounds will be able to name those. 

I like the crowd sourcing approach in a game. While the starting planets and solar systems will all be named, the opportunity to explore and put your mark on the galaxy will be entirely possible.

Sunday, July 14, 2013

Hyper Space

I'm working what has become an infinitely expanding universe for the game backdrop. I've not decided whether to stop the expansion or to just let it go. Either way, the game map will be so large that no player will ever see every solar system.

So while the universe built, I was working on a few different types of hyper space travel which takes you from one solar system to another. Actions like this in games typically fall under the umbrella statements of "time sink" and "resource sink."

In terms of time sink, it works on a few principles. The space craft lacks a single button you press and then a second later you load into a new solar system. So the first principle is that there are three phases to the time sink. They include: Warm Up, Travel and Cool Down.

Warm Up is simply that, from the time you plot the course and initiate the hyper space travel, a significant number of things must take place in a specific order. Leave a step out or move too quickly through the steps generally results in a failed launch into hyper space. In some rare cases the ship will just disintegrate. I point back to perma death being in play at all times.

Travel is the traditional time sink. Once you launch into hyper space your ship will then go through a period of travel where your navigation system handles the complexity of traveling faster than the speed of light. Depending on the drive unit your ship has, you may be traveling thousands of times faster than light. Depending on the quality of your navigation system, you might actually complete the trip. But the main factors in the size of the time sink is the distance covered and the speed your ship is able to travel. A jump from two nearby systems is measured in minutes. Advanced ships able to travel across dozens of systems may be locked into travel for hours. Massive ships used to transport hundreds of thousands of tons of raw materials may take days. The good news is that this sort of travel does not pause when you logout of the game. But be careful, it would be horrible to reach your destination only to land into a very hostile area. So be sure to send security forces ahead of your arrival!

Cool Down is the period which your ship comes out of the hyper space jump. In future posts I will go into more detail. But the basics are simply this, hyper space jumps take significant energy and resources. The cool down period resets the ship for travel within a solar system and also is another time sink which will prevent the ship from going back into hyper space. Depending on the hyper drive unit you have, the delay between jumps can be minutes or hours. Some units are able to make multiple jumps before cooling down.

So that's the skinny on hyper space travel. I will expand on this as the code supports the concepts. Right now, the ship is traveling with the time sinks. But it is not using resources. So this is the next step and once resource use is in place, I will provide a in depth look at hyper space travel going well beyond this simple explanation.


Wednesday, July 3, 2013

The beginning

A blog about just another video game that nobody will probably play.

I'll blog here and there when I'm tired of writing code. 

What is the game?

It's another MMORPG but the genre is a bit old school. Not too heavy on graphics, it's a game about space exploration. To be honest, I'm stealing a little from my favorite game of all time, Exodus Ultima III, also Odyssey the Complete Apventure,  Elite and Taipan. 

What do you do? 

Mostly explore space and live through my fairly warped way of looking at space travel as something that is not as simple as boarding a ship, clicking "launch" and then zipping around space without any concern about the reliability of the ship you are in, amount of fuel you have on hand and the capabilities of your crew.

Is the game hard? Hard to say, I want the game to be approachable. In my initial build I could barely take off from a planet because I kept forgetting important things, like turning on the life support system or making sure my ship wasn't overloaded with cargo causing a fatal accident a minute into the flight. But the more recent builds make it simpler. If you don't play through a tutorial or two, you'll die, over and over again. As you advance in the game, it actually gets harder because the more advanced you get, the more you can do and the easier it is to screw up.

Is there crafting? Yes, the game is built around crafting, mining, trade surveying and exploration. Everything in the game can be crafted by a player. Loot items will never be as good as high quality player made items.

Is there combat? Of course. It's not 3D, first person fly around shooting laser combat. It is real time, turn based (no that's not a contradiction) combat that requires strategy to win battles. Or if you can't win, run away or try and bribe your way out. Stay and fight to the end? Sure, but perma death is real and an experienced crew can be tough to recreate.


When will the game be released?

Not simple to answer. I plan to have a game that plays as a space exploration game by winter 2014. This will be more like Taipan without the pirates. I plan to introduce crafting before combat. If all goes well, the game should be complete with combat, exploration and crafting by winter 2015. 

I plan to post at least monthly on the progress. Up until now I've spent the past year writing the story line, proving a few concepts and settings up a lot of the game engine. I plan to wipe out and rebuild the galaxy on a smaller testing scale and rebuild the crafting engine in the coming weeks.

Please comment if the game is of interest.