Trending Games | WildStar | Elder Scrolls Online | ArcheAge | Guild Wars 2

  Network:  FPSguru RTSguru
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Members:2,642,709 Users Online:0
Games:681  Posts:6,076,520

Show Blog

Link to this blogs RSS feed

Mythaka Development

This blog is dedicated to reporting the ongoing developments of the Mythaka indie MMO project. Comments are encouraged, and will help shape the evolution of the project!

Author: lynnara

Rebooting on a New Engine

Posted by lynnara Sunday December 4 2011 at 1:42AM
Login or Register to rate this blog post!

Taking a Sharp Turn at High Speed...

Another roadblock ahead? Perhaps a sheer cliff to drive off of? My imagination runs wild. After a relatively long wait, I finally got access to the Hero Engine goodies. But I already had an engine, and working client and server software, right? Well, there is a really long story behind the veil, most of which would sound like a crazy rant. I do not want to go there, to be honest.

The timing of this transition could hardly be better. Although I spent a fair amount of time working on engine, tools, and pipeline issues, the last few months have been spent building assets that can be reused in the new engine with few changes. Only the particle systems need to be rebuilt, as the formats and such are so utterly different. Anyway, a decent amount of work I've done is reusable, and I was just getting to the point where I needed to work out some core gameplay mechanics.

So I am trading up, leaving behind all of the problems associated with a poorly documented engine in exchange for a fresh learning curve on a technically superior and highly documented engine. Since I thoroughly enjoy learning new things and absorb information like a sponge, I am rather excited about this.

I know I have yet to finish my series on Terraforming a Moon, but I am going to put that off one more time. Before finishing that, I want to get my new asset pipeline operating properly, get my current assets exported and reorganize various things. Christmas came a little early this year, and I am having too much fun with my new toys...  but yes, soon I will be back on track again!

Wish me luck... I just got off of one rollercoaster and boarded another! 

Till next time,

~Zombri

the Undead Dev

 

 

A Little Interlude

Posted by lynnara Tuesday November 22 2011 at 7:20PM
Login or Register to rate this blog post!

Playing the Catch-Up Game...

Well it is time for a break from all of the modeling and particle effects stuff. The final part of Terraforming a Moon will have to wait a bit. For now I need to deal with a number of things that kind of piled up.

One of the things I have been meaning to do is get some videos produced, since there is a bit of interest in such things. So I started recording relatively simple footage of the buildings and machines that have been built so far. And wow, full quality 720p video recorded using Fraps ate my hard drives for lunch, and then asked for dessert. The bulk of the video I recorded was awful though... it looked like i was having some crazy convulsions or something when i was trying to control the camera. *Sigh*...

So I got about half of my videos edited, and then realized I had not made arrangements for the background music. Luckily my musician was able to fix up some tracks fairly quickly. I also reused the track originally destined to be a loading / character select background, and I also found one of my own original creations to use. Actually, it was the fact I was trying to use my own composition that fueled my musician's motivation to give me songs that don't suck....

Anyway, the first eight videos are up... please forgive the camera work and production, I am not trying to win an academy award or anything here! Just showing off some prototypes.

http://www.mythaka.com/media.php

Extra points if you can figure out which of the background audio tracks was mine!

I am going to try to get the rest of the videos made and the encyclopedia up to date before finishing off the Terraforming a Moon series.

Till next time,

~Zombri

the Undead Dev

Terraforming a Moon, Part 3

Posted by lynnara Saturday November 19 2011 at 12:13AM
Login or Register to rate this blog post!

Once again I got myself totally wrapped around 3D modeling, particle effects, and world building... and somehow neglected my blog. There is so much to do that I often find myself unable to justify taking time to write. Most of the time, I am enjoying the work so much that blogging seems like a chore. Even when I feel like writing, I have no idea what to write about, especially when a lot of time has been spent on a very few features. It is times like these when I must remind myself that the reason I'm blogging in the first place is to keep a diary of the development of this game. Maybe I should not be expecting myself to produce epic [ wall of text ] posts every time... perhaps shorter updates posted more often might suit me better. Maybe I will try that in the future to see how it goes.

Anyway, lets continue the terraforming story from last time...

Generating the Materials of Tomorrow...

As mentioned previously, metamaterial is the key component of virtually all constructions. Metamaterial is always in short supply due to high demand and resource intensive production. A generous supply is standard cargo on a terraforming expedition, but even with very high recycling efficiency the colony will use up its initial supply well before the terraforming project is complete. It is therefore necessary to establish metamaterial factories.

These factories extract certain chemically inert elements from the atmosphere. Once collected, the elements are mixed in a high energy soup, while varying polaron fields cause the atoms to resonate at specific frequencies. The combination of resonance, high energy states, and low speed collisions causes quantum strings to form between groups of atoms. Once these quantum molecules are saturated and all forces within them are at equilibrium, the metamaterial molecule is complete, and is diverted into a high energy storage tank.

This process is not a quick one, nor an exact or efficient one. The quantum molecules must evolve and grow, and often molecules are malformed and are ejected from the reactor. It is estimated that only 1/5 of the input materials become the final product. Yet even with the low efficiency, this system has many features that make it the most attractive. First, the material is highly recyclable. In decay, it breaks down into its original component atoms. There are no byproducts of the reaction, even the material ejected from the reactor decays back to its original component atoms. The factory itself is made of the same material, making the entire system completely pollution free. This is very important, since we cannot afford to taint a terraforming project with pollutants.   

Researching the Future...

The colonists possess a wide range of technology, yet they continually engage in research activities. The bulk of the technology that terraformers have is not in tangible form, nor does it follow any rigid rules or laws, outside of certain fundamentals. The great power in their technology lies in its adaptability. General concepts are routinely researched, adapted, and evolved into specific solutions for the problems at hand. So while there will typically be a standard method of constructing low level equipment, all upgrades, accessories, and transformations from the standard are researched in the field. Such research typically involves environmental factors, available materials, accessible power, and any special requirements.

The majority of research is performed by Hybrid Intelligence (HI) systems. These supercomputers are composed of a bank of pure processing power, controlled by a set of AIs that act as both operating system and user. Basic HI systems typically have four independent sets of 3 AIs, which operate on quantum interference neural networks. The interference from external sources gives the AI two key features: the ability to make "accidental" discoveries, and the ability to be indirectly influenced by neighboring AIs. Using multiple AIs working on the same problem has many benefits, as the individual AIs can compete with each other and validate each other's work. In most cases, the physical distance between the neural nets is tuned to provide a certain balance. The closer the neural nets are, the more artificial peer pressure takes place, which works well for systems requiring high precision output. Spread out more, the AIs become more independent, often resulting in widely varying solutions to the same problem.

The Hybrid Intelligence systems by themselves cannot do much research beyond theoretical pursuits. While theory building is important, tangible applied research requires specific facilities. These research facilities, such as particle physics labs and organics labs, are connected to the HI systems through the wireless network nodes. The HI systems can completely control all aspects of such research facilities, and can perform multiple experiments at the same time, all while recording, cataloging, mining and interpreting the resulting data. Generally, the only requirement of the colonists is to set the direction or goal, and to provide raw materials.

The Science of Everything Begins With a Particle...

The particle physics lab is a combination of many experimental apparatus, including a low speed particle energizer with multiple detector targets, and a shielded test dome housing various energy test systems. Typical experiments begin by the introduction of input materials to test. Depending on the experiment, the input material will be either a pure sample of a single molecular material type, or multiple ingredients for an experimental recipe. The input materials are internally stored, separated, and then energized and shot into the particle energizer track. As the test particles revolve around the track, they take on ever higher energy states, until they are redirected into one of the detector targets or into the shielded test dome.

Much of the research performed in the particle physics lab is aimed at finding useful ways to exploit the locally available resources. Discovering energy states, charge capacities, and discharge efficiencies are important for creating larger more efficient power sources. Finding metamaterial compatible resonances, quantum bonds, polaron frequencies, and high energy field effects are required for creating various specialized materials and advanced physical effects. Controlled by an HI system, a particle physics lab can conduct multitudes of automated experiments on a vast number of molecule / energy combinations. At the end of a successful research trial, the results are compiled, interpreted, and transformed into technical theory or plans for upgraded equipment.

Resources are the New Frontier

The moon being terraformed is not a hemogonous rock. There are a multitude of geological deposits and veins, and as in most situations there are abundances and rarities. As luck would go, the most useful resouces are also the most rare. Prospecting for materials is a treasure hunt. Those who find the best materials can sell them for high prices on the market, upgrade their tech and machines to the highest levels, or attempt to corner the market on specific technologies and machines.

Many useful resources are near or on the surface, and personally gathering them is not very difficult. More interesting deposits tend to be deeper and require machines to extract them. The deeper the deposit, the higher the level of mining equipment and technology is required to extract it safely.  Care must be taken to not destroy the more delicate of materials in the extraction process. Also, colonists must not over-mine any specific area, which would create geological instability that might disrupt other terraforming operations.

Filling In the Blanks...

I spent way too much time upgrading the designs, models, and lighting for all of the prototypes I have built so far, so I never got around to updating the Mythaka Encyclopedia. Now that I have a lot more models done and a starting city constructed, I really should take the time to document what I have before building yet more prototypes. Actually, there are only a few left that I need to build for the near future, soon it is going to be time to work on gameplay mechanics to tie all of these things together. That is, of course, when the real fun begins.

Anyway, next time I will try to finish up the Terraforming a Moon miniseries, which will mostly consist of organics research, food production, and housing. After the last few prototypes are built, I need to make some gameplay videos for my youtube channel. Lots to do, not enough of me to go around....

[Update]  I posted some recent screenshots on the Mythaka forums: http://www.mythaka.com/forums/viewtopic.php?f=13&t=45

Look forward to more goodies (hopefully sooner rather than later), next time...

~Zombri

the Undead Dev

Terraforming a Moon, Part 2

Posted by lynnara Monday October 31 2011 at 7:27PM
Login or Register to rate this blog post!

Making new winds blow...

The moon we are terraforming is a relative astronomical rarity: it has a rather thick atmosphere, much thicker than one would expect considering the moon's diameter and apparent density. Whatever the reason for the unusually high gravity, this moon has kept virtually all of its primordial gases, only losing the very lightest elements. This moon's atmosphere is not breathable, however. It is mostly composed of noble gases, hydrocarbons, ammonia, nitrogen and carbon dioxide. Only trace amounts of oxygen exist in the atmosphere, due to initial stage vegetation respiration and precipitator operations. In order to prepare the environment for higher forms of life ( including ourselves ), the atmosphere needs to undergo a dramatic transformation.

The first tool for atmospheric transformation we will use is the gas harvester. With this machine, we extract the three main undesirable gases: ammonia, methane, and acetylene. These three gases make up the bulk of the atmosphere, along with elemental nitrogen. Each gas is removed from the air and cracked in separate open reactors, which split each molecule cleanly into its component atoms. In the process of filtering these gases out of the atmosphere, we collect large quantities of carbon, hydrogen, and nitrogen, which we can use later for building useful organic compounds.

In order to raise the atmospheric oxygen levels, we employ oxygen mining machines. These machines use laser drills to heat the ore and centrifuges to separate the materials. The machine targets two relatively abundant materials, silicon dioxide and titanium dioxide. Once these materials are separated, they are fed into subsurface reactors which break off the dioxides. In this way, we generate oxygen while also collecting a useful supply of elemental silicon and titanium.

Its a cold day in the neighborhood...

The thick atmosphere provides a greenhouse effect, trapping heat rather effectively. Unfortunately, there is very little heat to trap. Without secondary heating, only the hardiest low temperature vegetation and micro-organisms can survive. The water vapor generated by the precipitators quickly freezes, rendering the water useless to plant life.

This is not an unusual situation for terraforming colonies. Generating heat is a simple process when using a thermal generator. This machine is one of the least complex systems relying on open-reactor technology. The system simply attracts the most abundant elements of the atmosphere and rhythmically compresses it, generating radiative heat that is focused onto a transfer element by a set of reflectors. From the transfer element, the energy travels along a set of radiator antennae and into the atmosphere. Locally, the temperature is raised significantly with a short gradient roll-off, but it can prevent water vapor freezing for any precipitators within its effective radius. Global temperature changes, however, are only incrementally affected, and will take an extended period of time to raise significantly.

Sewing the seeds of tomorrow...

With each degree of temperature change, more forms of life can be supported. While other processes prepare the atmosphere, we also need to build up a biological foundation. Creating a viable ecosphere requires seeding the air and surface with increasingly complex microorganisms, spores, pollens, feeder carbohydrates, amino acids and nucleic acids. In order to accomplish this, terraforming colonists build programmable organic seeder machines. These machines are able to take raw elements and construct very complex organic systems, from molecules up to complete single cell organisms. Organic seeders have a built-in library of useful synthesis programs, but these are mostly rather generic and not optimized or adapted to any specific environment. For initial terraforming chores, this library is sufficient, but it is recommended that colonists build research systems to configure the organic synthesis programs for more efficient use of resources and higher success rates.

Time flies when you're having fun...

Way too much time has passed between posts. I had a lot of research to do, and building increasingly complex machine prototypes took quite a while. Of course I could also mention taking time off to work on my brother's website and fixing my mother's PC, but that just seems like excuses. Anyway... I have built a decent number of prototypes, including a few I haven't mentioned yet. I will add them all to the encyclopedia on the Mythaka website in the next few days, and I will update this post when I do so.  

In other news, my brother has volunteered to fix up some video clips for uploading to youtube, so that is something to look forward to! It is probably going to be at least a week before I have any video to show off, but I will try to have something prepared for my next post. Please keep the pitchforks in the shed though, I am not making any promises!

Next time, look forward to reading about the metamaterial generator, various research systems, housing, and hopefully more! As always, I appreciate any feedback you all give me...

~Zombri

the Undead Dev

Terraforming a Moon, Part 1

Posted by lynnara Monday October 17 2011 at 10:29PM
Login or Register to rate this blog post!

We shall make this rock our home....

Terraforming is a fairly difficult job, and even more so when circumstances do not permit much time to find the most suitable location. It does not help that there are no alternatives and no going back home. If the terraforming fails, so does the colony. The stakes are high, and there is a lot of work to do to stabilize the environment.

 

Luckily, technology has advanced enough to provide good terraforming tools, and the tools can be upgraded and made to adapt to almost any circumstance. This flexibility was engineered into the base technology widely used for nearly every manufactured item. One only has to devote resources into adaptive research in order to evolve the tools to suit one's need.

The most basic component of this technology is the metamaterial that everything is made from. It is a generated material, typically weaved from a polarized, energized soup of atoms typically extracted from the atmosphere, and is grown into its desired shape. Given trace additions of special molecules, various useful functions can be created directly within the metamaterial. The metamaterial has one significant weakness... it requires a field of a specific energy in order to maintain its quasicrystalline structure for extended periods of time. Lacking this energy field, a structure or item composed of metamaterial will de-energize and dissolve back into its component atoms, typically after four to five days.

Bringing power to the masses...

Having a clean and stable source of power is the top priority. Absolutely nothing else can be accomplished without it. After thousands of years of research into clean energy generation, we have some very interesting technology available to us. This technology is based on a transformative system, taking energy that already exists in one form and converting it through a few phases into a form we can use.

Of special interest is the open-reaction technology. Every type of energy conversion is done in an uncontained reaction. Since long ago, it was deemed criminally irresponsible to produce reactions that were so dangerous that they required shielding and containment. It was well known that such physical systems were subject to inevitable failure and the dangerous reactions and materials could become exposed, poisoning the environment and its inhabitants.

The lack of fuel consumption and waste byproducts is another interesting feature. Typical power conversions begin by attracting specific target atoms or molecules, and concentrating them into a reaction sphere. The material within the sphere is rhythmically compressed at a frequency which excites the atomic soup into a plasma state, itself tuned to excite a different (phase 2) target atom. The phase 2 atoms are specifically targeted for a singular purpose... the ability to absorb great amounts of energy. When enough energy is absorbed into them, they will become heavy enough to fall into the detector surface. Once they strike the detector, they release the accumulated energy into it, where it then is conducted into capacitor systems for storage or transmission.

The transmission system is the final feature of interest. All of the power generated is accumulated in giant capacitors, which discharge when an energy threshold is reached. The discharged pulse of energy is routed into a frequency regulator which transmits the power at a special frequency through an antenna mast. The resulting pulse wave travels through the atmosphere, and is absorbed by metamaterials and tuned receivers within the effective radius of the generator.

Putting our energy to good use...

Our new home has a long way to go before it can be comfortably habitable. One resource that is significantly lacking is water. At this point, a useful source of water has not been found, on the surface or in the initial underground radar surveys. This of course does not deter the typical terraforming colony, as we have some technology for handling such frequent situations.

Typically, one of the first machines built after a power generator is a precipitator. If the power generation seemed a bit complex, the precipitator out does it. Using open-reaction technology, the precipitator attracts specific atoms in the atmosphere and compresses them into a reaction sphere. On the way into the reaction sphere, the atoms are energized to a specific frequency, which is tuned to change the energy state of the neutrons in the atoms, spreading them out slightly. These energized atomic cores are then split into 2 smaller atoms by one set of tuned symmetric attractors. From here, these smaller atoms are then split by a set of asymetric attractors, which creates one large atom and one small atom.

The resulting atoms, hydrogen and oxygen, are combined in another stage to form water vapor, with excess oxygen a byproduct. The high energy water vapor is dispersed into the atmosphere, where slowly the overall humidity rises. Locally, the humidity rises fast enough to create periodic rainfall. The frequency of rainfall and absorption rates give rise to artificial seasons, the lengths of which directly affect the ability to sustain floral life. Only the most basic plant life can survive the very short seasons. Over time, the overall humidity of the atmosphere and eventual ground absorption equilibrium will lengthen the seasons to more conducive periods, which will be able to sustain ever more complex plant life.

Keeping in touch...

While terraforming work progresses, colonists will need to be able to communicate over long distances. In order to keep everyone connected, network nodes need to be constructed. These network nodes have multiple antennas, the main one dedicated to long distance connections to other network nodes. The short range antennas connect to individual colonists, giving them access to shared information, links to research systems, and of course interpersonal messaging. A colonist out of reach of a network node is quite literally on his or her own, and is only able to communicate to others within hearing distance.

The moon being terraformed has only been given an initial survey. There may be hidden dangers anywhere on this rock, even as it appears to be inert. Keeping in contact with others is therefore quite important. When traveling beyond the established network, it would be best to go with friends, just in case something happens!

Terraforming is just the beginning...

There are quite a few more terraforming tools on the way, to be discussed in future posts. But all this terraforming isn't the point of Mythaka, it is simply the beginning of it. As the terraforming progress is made, new plant life and eventually animal life will become available, and even modifiable! Numerous obstacles and dangers await, ready to break the fragile ecosystem or attempt to enslave the colonists! Also, there are other worlds to discover, and the inhabitants may or may not be friendly...

Looking back and Moving forward...

I am having crazy fun creating all of this stuff. Since my last post I have created the three prototype structures I mentioned above. Working with the particle effects system has been kind of awesome, its a little bit too much fun creating eye candy. It has taken a surprisingly long time to create just three prototypes, and this does not even include the construction animations and various upgrades. *sigh* Well it is still progress. I still need to figure out the persistent spawning of these things, but I think I am going to create the rest of the terraforming machines and other basic buildings before worrying too much about that.

I am planning on taking a break from the prototype construction for a bit, to build a sort of encyclopedia on the Mythaka website, with pictures and details of the technology involved in each machine, building, and tool. This is probably going to take me all night, but whenever I get it working I will add a link to it here.

After fixing up the encyclopedia I will get back to prototyping. Up next: a thermal generator, atmosphere transformer, organic molecule seeders, and hopefully more!

[ UPDATE ]

It took me a bit longer than I expected, but I finally got some goodies posted on the Mythaka website. I still have a lot of work to do on it, but here it is:

http://www.mythaka.com/gameinfo.php

As I get more machine and building prototypes built, I will add them to the encyclopedia. I would appreciate some feedback, either here or on the mythaka forums!

Look forward to more insane far future technology, next time...

~Zombri

the Undead Dev

Construction Time Again

Posted by lynnara Sunday October 9 2011 at 6:33PM
Login or Register to rate this blog post!

A vortex of indecision...

I had been keeping a pretty good pace while working on pipeline issues. The list of processes was finite, and when one was done, the next was waiting for me to immediately dive into. I did not have to think too much about what to do next. But after all of those things got fixed up, I was once again left wondering what exactly I should work on next... and there is a lot to choose from.

I had previously added a lot of creatures, objects, and items into the game files, but just getting them into the database is only the beginning of making them useful. So much work needs to be done, especially on the creatures, to get them in the game and doing something useful. I spent a few days just poking around and trying to come up with at least a short term plan on what to do. With everything needing attention I had a lot of trouble focusing, even though in the back of my mind I really wanted to work on getting building construction working.

Gathering construction materials...

Even after deciding to go ahead and work on the building construction system, I pretty much found myself right back where I was before making that decision. I need buildings to construct. I need models and particle systems. I have some assets that might be useful at least for testing purposes, and I have been kind of itching to get into creating particle effects anyway. The assets I have available are barely sorted, and I needed to go through a rather tedious process of spawning individual assets in the game world to see which models worked and which might be useful as is or might be easily modified.

Since the original 3D models were made using a rather old version of 3D Studio Max, getting them imported into a (kind of) modern version of 3DS was an extremely tedious task, and unfortunately the processes were not always 100% successful. That import process was completed many moons ago, and I am just now getting around to testing individual models.

A few of the models were a bit broken, but for the most part, I am finding these assets are pretty darn ugly. Almost all of the buildings are in a style that I cannot find a kind word to describe. I could not conceive a way to salvage most of them even with modifications.

Then, a sparkle of inspiration...

At some point in the drudgery, I came across some objects called "spires". They have simple bases, a twisting DNA like construction that spins over the base, and in the middle of this spiral, a mesmerizing combination of particle effects. Actually, the whole object is a collection of particle effects. Even the base was part of the particle system, and the whole thing could be spawned as an effect. This interested me. Of course I am a sucker for blinking lights and sparkles and stuff...

Some of the buildings I want to allow players to build include power generation stations and terraforming facilities like atmosphere generators, precipitation generators, and organic molecule seeders. When I looked at the various combinations of effects these spires were using, I was very much inspired on ways to modify these things to use as some of these generator stations. So now I had a very easy excuse to really get into the particle effects system.

Warps, waves, and glowing goodness...

I am just getting into modifying the particle systems, so I am not any kind of expert on such things. This next week is going to be a lot of fun though. I so far have succeeded in replacing the base of the spire with another model that looks much more techy, and I have modified the spinning DNA-like spiral, but more modifications are yet to come. Seeing how all of the layers of effects in these spires are stacked was educational by itself, but looking into any single particle effect in there was an eye-opener to say the least. Its amazing how complex particle effects can be.

Modifying these systems is of course just the beginning. I found in testing that other characters don't see the effects that I spawn using console commands, and I haven't yet figured out how to spawn these things on the fly in-game any other way. So as soon as I get my fill of tinkering with the glowing and sparkles, I will need to face the source code again and figure out how to get the server to spawn these objects on command, and make them permanent residents of the landscape once spawned.

At least I have direction again!

Hopefully I will get enough done soon to justify posting some screenshots on my forums. My poor forums have gone a bit neglected in the past few weeks.... *sigh*

More news, and hopefully sparkly pictures, next time...

~Zombri

The Undead Dev

Onward and Upward

Posted by lynnara Monday October 3 2011 at 11:06PM
Login or Register to rate this blog post!

Getting to the good stuff...

I finally finished fixing up the last few files I needed. My game client is now 100% built from the build pipeline... no more precompiled assets! So now I can totally concentrate on adding all the good stuff like new gameplay mechanics, items, quests and creatures.

Actually, I have already started adding lots of things, mostly creatures and clothing. The creature models and animations I am using (for now) are all taken from Ryzom's creative commons asset repository. It is quite nice to be able to build gameplay and not worry about artistic work right away. I do intend to commission some original models and animations, and there are also going to be a number of the creative commons models modified for my game. Those things, however, are going to have to wait a bit.

Executing the plan...

My game is going to need lots of artistic work done, but that requires a lot of time, talent, and money. Sadly, there is only one of me, and I'm not crazy rich. I must be completely insane to attempt such a project, right? Well as I may have mentioned in the past, I love insane challenges. There are no roadblocks, there are only speed bumps. So how am I going to manage this?

There are a lot of talented artists with a fair amount of time on their hands, thanks to the depressed economy. Would it not feel nice to farm out some work to people who need it? I am sure their families would appreciate it. I have found a number of websites where many of these individuals bid on freelance work, so the only speed bump in front of me is the money.

Following in the footsteps of others...

There are at least a few examples of games getting funded in non-traditional ways throughout their development cycles. I am attempting to take a lesson from them. I'm not expecting to be quite as successful at such things as Minecraft, but I am sure going to try. I am still working out the exact details, but I do have some specific goals I need to accomplish to make it work.

The first thing of course, is to bring Mythaka out of its cloud of vapor. I have a server running and it is accessible from the internet, but I have allowed a very very few people connect for the most basic of show and tell. As far as the rest of the world is concerned, this game is just a figment of my imagination. Unfortunately for everyone, this is going to continue to be the case for the time being. I have a lot of programming work to do, building all of the basic gameplay systems. Once I have enough of my planned gameplay working, it will be time to show it off to more people. I intend to use the working gameplay to generate interest and financial support for the artistic development.

Dancing to my own rhythm...

I have planned out a number of phases of the game progression, which includes new gameplay elements, landscapes, skills, quests and puzzles with each major update. I am planning against the possibility of a relatively rough start, with proceeds from one phase of the game paying for the development of the next. Actually, since I am planning to have the game phases depend on the players completing certain tasks, I am going to be building two phases ahead ( just in case players complete the objectives faster than I expect, the next phase will be ready to go. )

My goal for getting things started begins with getting all of the gameplay required for phase 1 done before attempting any beta access or fundraising. Money raised during beta trials will be used to commission original audio and graphic assets, which will be farmed out to freelance artists who have good resumes, portfolios, and feedback. Meanwhile, I will be busy creating the gameplay elements for phase 2. When my coding work on phase 2 is done, and all of the graphics and audio have been completed for phase 1, it will be time to open up the game live.

It might be a relatively long beta period, depending on interest, feedback, and financial support... but one way or another it will get done!

Well that is all I have to say for now, I did not really have any other exciting news or anything. I'm going to work on getting some more creatures and items and such working ( and I need to figure out how all my character's clothes mysteriously changed in my latest update )... so I will be signing off for now. If I get any goodies worth showing off none, I'll post some screenshots on my website.

Till next time...

~Zombri

The Undead Dev

Awash in Waves of Sound

Posted by lynnara Sunday September 25 2011 at 7:23PM
Login or Register to rate this blog post!

Beep Beep... make way!

Daily life is filled with a cacophony of noises and melodies. We are constantly bombarded with invisible waves that tickle our ears. Sometimes those waves create or amplify powerful emotions within us...

Obviously I can't make a game without sound right?

So of course I needed to deal with all manor of sound issues. My entire week was consumed by the quest for sound. The sound system is rather complicated, having internal designations and special structures for different types of sound, and also having a number of transforms and effects processing (reverb, doppler, etc). The main complication, however, was the nearly completely missing pipeline tools to build the sound assets into a useable package for the client.

Putting the wind in the pipes...

Before sound assets could be put through the nearly non-existent pipeline system, I had to deal with a more fundamental issue. I needed sound assets. My brother, being a musician and having his own studio would be a logical source, but he is busy with various things and what I really needed was a way to thoroughly test whatever pipeline systems I fixed up. The perfect test would be to have all of the original sound assets that I could then compile and then compare with the precompiled sound pack, at the byte level and also in game. If I can take a bunch of .wav files and stuff em through whatever pipeline i managed to put together, and the end result was functionally equivalent to the precompiled sound pack, I would know my pipeline is working and could then proceed to fill it with original sounds. So my first job was to reverse engineer the precompiled sound pack and reconstruct the original .wav files from the packed data.

Reconstructing a ton of little .wav files meant absorbing all of the code that read and used the stuff, and also researching all of the metadata (.sound and .sound_anim files). All of the sounds used in the game are first organized into sample banks, which are basically files that contain serialized sound buffers containing raw data in 2 formats ( 16bit mono PCM and ADPCM ). Probably the most difficult thing about extracting and recreating the individual .wav files was that there was no standard sample rate. A large portion of the sounds were recorded at 22,050Hz but many were at 16KHz and there were a whole range of things at every odd frequency you would never think of using normally, like 13KHz or 5KHz. I suppose for pure efficiency, low frequency sounds do not really need high frequency sample rates, so the original sound designers figured out the lowest most efficient sample rate for each sound that still kept as much fidelity as possible. In total, there were 11 different sample rates in use.

After a lot of trial and error (which resulted in very loud static noises), I had 1043 .wav files organized into 71 sample bank folders. Yay. My eardrums were quite happy to be done with all of that.

When, where, and how many times?

The sounds are not going to play themselves, so it was obviously required that I either create the metadata files from scratch or reconstruct them from the packed data. I wanted the closest I could get to the original stuff, so I chose to reverse engineer the metadata too. This was an entirely different challenge. Turning serialized binary data back into the original XML it all came from is kind of insane. But I like insane stuff so I dove right in.

There are five different fundamental sound types that the sound engine uses for various purposes. All of them share a base data format for things like gain, transposition, 3d sound projection, and distance. Beyond those basics, everything changes depending on the sound type. Most of the sounds were "simple" sounds... one shot sounds played in connection with animations such as sword swings, animal grunts, combat impacts, etc. "Music" sounds were pretty easy also, the main feature on these sounds are crossfading, minimum play time and minimum delay before replaying. The oddest sound type was the "background" sound type... each was an array of individual sounds, each sound having a bank of 32 possible filters attached to it.

After another round of trial and error, I had 2599 .sound files. Apparently a lot of the .wav files were reused for a number of purposes, most likely using the transpose and possibly also filters to make them sound different. It took eons ( days ) to get these files right. Luckily, I did not need to recreate the .sound_anim files... these were conveniently left as intact XML files inside the sound asset pack.

Now I had the prerequisite assets... I just needed the pipeline tools and scripts to compile it all again.

Digging the trench, laying the pipe...

As I mentioned at the beginning, the asset build pipeline had nearly no concept of audio. There was a single folder with a sound process script, but it was never called by any other script, the directories and configuration variables were not set anywhere, and the binary tool itself was missing. There was definitely not a lot to work with, but this little bit was way better than nothing.

Digging through the cmake project for the entire game engine ( client / server / drivers / tools ), I had hoped to find the sound compiler tools, but there were no sound tool projects at all. There were some sample projects that used compiled sound assets, so there had to be something somewhere to compile the sounds. Searching the source tree, I found three source files for the tools, but there were no project files. It was seriously just three .cpp files, not even any headers, and each .cpp file was in its own folder with a readme file with the command line to use the tool. Wow. So I fumbled around trying to build project files for these things, and after a ridiculous amount of time (hours) I finally managed to get the dumb things to compile. A trip to the command prompt confirmed the resulting tool actually operated (at least enough to tell me I'm doing it wrong, and by the way, here is the proper command line sequence....)

Ok I have the audio converter tool, I have the assets, I just need to figure out some python scripting for the pipeline. Oh yeah, I love python. Except I've only messed with it in passing ( adjusting the pipeline scripts ). I'm pretty sure I never wrote a python script from scratch. Well there is a first for everything.

Ok I hate python. Or it hates me. Or I'm retarded. It seemed to take me longer to make a working python script (which looks like it should be stupidly easy) than it did to figure out and compile the binary tool. Anyway after what seemed like a battle to the death (to my poor fingers at least), I got the new script working with the rest of the pipeline. Directly after the most basic test, I set the pipeline to rebuild all those assets back into the compiled package I extracted them from. I crossed my fingers and waited.

I must be hearing things... or is it selective?

So I took the resulting sound pack and added it to my test client, and started it up. My loading background music was working, but that wasn't really part of the challenge. Once I got in the game world, I heard sound. I was like woohoo and then I was like wait.... I can hear the background sounds like wind and bird chirps and odd frog noises and such (totally out of place on a nearly barren moon of course) but I did not hear any noises coming from the little test animals. I tried a few actions that would normally produce a sound effect but none of them made sound. It seemed that the sounds that were not working were all the ones designated "simple" sounds. With probably the deepest sigh I have ever produced to date, I turned to my trusty hex editor for another session of retina-burning research.

It did not take me long ( and my retinas were most thankful ) to find the issue, or at least the right direction. About 1/3 the way through any one of the "simple" sounds compiled by the binary tool I found a great big gaping hole of zeros. I got the notion to take my recompiled assets and put them through the decompiler I made, and it showed me quite clearly what was missing... every single compiled audio asset was missing the data designating the number of 16 bit samples each sound was made of. Without knowing how many samples to make a buffer for, the game engine was simply rejecting those sounds as unusable. The problem of course came from the audio converter tool I had earlier compiled.

Debugging the audio converter tool did not take terribly long, but the issue was probably one of the most ridiculous ones I have seen in the whole codebase. Right there in the source of the sound system, the code was seriously resetting the variable that held the number of samples, just before calling the next function that needed that very information. Really. So I added a little bit of code and a few snarky comments, and recompiled the tool.

After moving the newly recompiled tool to its proper location and running the pipeline process again, and copying the resulting asset pack to my test client... I held my breath and started up my client again. I wasn't able to hold my breath terribly long but I made it at least until the loading background music started playing... but anyway, when I got in game and I heard the weird animal barks and such I knew that I had pretty much conquered the sound system. Once again I was a happy Zombri.

The end of the beginning is on the horizon...

With the sound system fixed up, I am ever closer to being able to concentrate all of my time and talent (assuming I have any, I think I do!)  on world building and game design. Of course I can't just use all of these audio assets I have decompiled and recompiled, I will definitely be replacing it all with stuff I'm legally licensed to use. The experiment is over, my tools work and I have all of the formats and information I need to compile a completely original audio asset pack. But before I start doing all of that, and all of the other game design stuff I have put on hold, I need to finish my build pipeline and completely free my client from all precompiled assets.

I only have 6 more files to deal with. I am hoping I can finish off these last few files this next week. After that, the game will begin to really take shape!

Wish me luck, and look forward to next week's developments...

~Zombri

the Undead Dev

The sky is the limit

Posted by lynnara Sunday September 18 2011 at 6:08PM
Login or Register to rate this blog post!

We came down from the heavens...

This week was spent working on getting some of the last of the pipeline systems to function correctly. Unfortunately there is not much of interest to speak of in that regard, except perhaps the sky and weather systems. So I thought I would write a bit about some of my gameplay plans along with some of the interesting aspects of the sky.

The game begins with players colonizing and terraforming a moon of a ringed planet. This moon is barely capable of sustaining life. As far as vegetation goes what is growing there is rather limited, just grasses and weeds and wildflowers. The fauna inhabiting the moon is likewise rather primitive and limited. This moon was chosen for colonization because of the limited ecology... it was the best option for reviving the ecology of the players' original homeworld.

The sky from the moon's surface is somewhat alien looking. Ever present is the ringed planet, and orbiting the moon is an even smaller moon. The sky goes through quite a lot of changes as the day cycle progresses, showing hues of oranges and blues and purples. Cloud cover varies over time, and weather functions add a lot of variety between hazy fogs, crystal clear skies, drizzles, torrential rains and thunderstorms. In the winter it also snows.

That all sounds pretty good, and its actually kind of pretty to see it all ( I guess I should post some screenshots on my forums? ) but there are some funky weasels I need to work out to make the best of it.

The system operates on an array of transparent layers. The farthest back is opaque but everything in front has transparency. Currently, the back layer is the starfield / daytime sky layer, the next layers are the planet and moons, and then on top of all of that are the various weather layers. As it is now, it is kind of "ok", but because of the transparency rules some odd things happen. The worst of the issues is stars showing through the planet and the moons, which should obviously be opaque. I have some ideas to fix that but I am going to wait until the rest of my pipeline systems are working before trying to mess with that.

We made this moon our home...

While the game begins with basic colonization and terraforming, it is ultimately a game of survival and evolution. This is not going to operate the way most MMOs do. Surviving is not going to happen by ignoring the story and game events taking place. This is survival of the fittest. No magical potions will save you. There is no such thing as resurrection. You may get knocked out, yes. You may be bleeding to death though. And if you are unconscious... how do you expect to call your friends to help? Why that is just purely impossible no matter how you look at it. It might be a good idea to stick close with some friends, whenever you go about potentially dangerous activities. You might also simply think twice before doing something that has a high probability of ending in death.

Death is of course not the end. Well... it is for that character, but that is what other characters are for. The population needs to rise, skills and technology need to be handed down, and survival of the species must be ensured. Nature and other sentient entities are going to make life difficult.  At least one alien species is going to try rather hard to make survival of all life ( including the fauna bred by the players ) impossible. Its going to take the player population working together to survive the machinations of these aliens.

I'm sure at this point someone is wondering "what about solo players?" Technically speaking, solo play will be possible but it is going to be a very different experience. Solo players will have to make tough choices, as the difficulty of surviving without backup is rather high. There are going to be things that really need more than one player to accomplish... but if a solo player manages to do so, everyone is going to bow to the greatness of such player. This is the stuff of true legends.

Now I suppose I should also point out something else important. I am not trying to make the next WoW, or the next Rift, or the next [name of mmo] with hundreds of thousands or millions of subscribers. I am not trying to build a game of mass appeal. There are plenty of games out there that cater to the pure fantasy types. There are more games suited to lazy brainless gameplay than I can shake a stick at. I'm aiming for more of a social game with a smaller, tight-knit community of people who want to play out an epic story, use their brains to solve puzzles, and generally take on an epic challenge. A challenge with the real possibility of complete and utter failure.   

It is not enough just to survive...

Over the course of the game, player built cities will rise and fall, players and animals will evolve, and even the society as a whole will grow and become more than the sum of its parts. There will be a significant reward for those who survive to the end, and have evolved to a certain degree. What that reward is, will most likely stay secret for quite a while ( its revelation is actually part of the gameplay ).  But aside from the core survival strategies, I intend to give players a number of recreational activities to engage in and compete in. Also, I hope to stay flexible enough to implement goodies suggested by the players. 

Well that is probably enough for now. I wish i had more to say ( and in not such a chaotic way ) but alas my work lately has been mostly of the boring variety. I am going to upload a bunch of screenshots to my forum, and then I will update this post with the link. I haven't gotten many comments on my earlier posts here... but perhaps this post will get a few? We shall see...

[EDIT] Ok here is the link to the screenshots: http://www.mythaka.com/forums/viewtopic.php?f=13&t=32 

More details, and hopefully more progress to be reported, next time....

~Zombri

The Undead Dev

Animate or Die

Posted by lynnara Saturday September 10 2011 at 11:49PM
Login or Register to rate this blog post!

Sticks and stones make up my bones...

Getting the character graphics to come out of the pipeline took a lot of hair pulling, but nothing compared to getting the animations to rebuild correctly. In fact, I barely remember the issues with the character graphics.

Maybe that is because I haven't written in 10 days. Of course, I don't remember what I ate yesterday either, so much of my poor brain has been filled with all things related to animations that there is scarcely room for much else.

Lack of progress is awful depressing, but when the breakthrough finally.... breaks through, it almost feels like all of the insanity was worth it. Almost. The problem is, none of this should have been an issue in the first place.

Your code cannot break me...

All I wanted to do was put a spaceship in my game. A spaceship that flies, and maybe makes some noise and has some cool blinking lights and glowing engines. I didn't think it was too much to ask. Of course it was no big deal to drop an entity into the world editor. If I used the precompiled asset packs that came with the game engine ( compiled between 2005 and 2006... ancient stuff ), the animations and particle effects would work, and my spaceship would fly. The problems began, however, when rebuilding the assets with the pipeline.

I had noticed a while back that the animations seemed a bit jerky, and some animations didn't work at all while many core animations did. I did not think much of it at the time, but now it was obviously a symptom of the broken animation syndrome I was experiencing. So I set myself to testing everything, stepping through code, comparing compiled outputs in a hex editor... and this went on for over a week. Nearly 90 hours were spent trying to figure out why animations that should be working, were not. And then the revelation happened.

The hip bone's connected to the... wait, its not?

As I had been absorbing the source of the server, tracing through the client, and reverse engineering the data written by the tools and read by the client, a sneaky suspicion began building. Finally that suspicion quit sneaking around and finally bopped me in the head. As it turns out, there was a major disconnection between what the server and client were expecting, and what the tools were producing. In fact, it appeared as if the source regarding the animation system was in the middle of an overhaul, and never finished. The server code was aware of around 130 animation states, but the tools were set to build around 280. Not only that, but the server was capable of playing back the animations above what it had enumerated... as long as they were serialized in the proper order. The tools did not serialize in the order that the engine expected. Thus, most of the "base" animations ( the 130 that were enumerated in the server code ) worked, but anything outside that was broken unless the animations just happened to fall into the right place somehow. Even some of the base animations were written out of order.

At that point I was somewhat relieved that I had finally figured out the problem. I decided it was not worth getting upset about, or shaking my little fists at the sky and cursing fictional deities. Although I did in fact do just that, for a little while... but it was time to fix the broken machine!

It took me two days to fix and test the changes, and I am happy to report that after these last 10 days of insanity, my build pipeline successfully compiles properly working character graphics, particle effects, and animations. Considering all things ( including the lack of working files in the code repository ), its a fair bet that I am one of very few who use this engine that can say that.

The operation is far from over, doc...

I am getting ever closer to the point where I can concentrate completely on world building, but I am not quite there yet. I am weaning my client off of the precompiled assets, one system at a time. At this rate it would seem like it will be at least 2 more weeks to have my client running completely on assets built from the pipeline, but I am not going to make any bets on that.

This weekend I am taking a break from the insanity, and instead working on a little card game my sister came up with, to be included as a casino game inside Mythaka. She told me some rules she dreamed up, and I made a little simulation of 4 players playing it. Tonight and tomorrow I will be turning it into a single player vs NPCs game, and from there fix it up so that it can be played multiplayer as it will be inside my MMO. It is a nice little distraction to give my brain a little cool down until I am ready to get back into the pipeline systems.

Hopefully it does not take me eons to get around to writing again.

Looking forward to having another round of progress to report,

~Zombri

the Undead Dev

Special Offers