Trending Games | ArcheAge | Guild Wars 2 | WildStar | Warhammer 40K: Eternal Crusade

  Network:  FPSguru RTSguru
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Members:2,788,713 Users Online:0
Games:723  Posts:6,193,526

Show Blog

Link to this blogs RSS feed

DarkSpace Development Blog

This Blog will be updated periodically with regards to the current development status of DarkSpace, and may occasionally just contain the mad, incoherent, views and ramblings of the Staff who work on DarkSpace. IE. is cheesecake or key-lime pie better?...

Author: Drafell

Contributor: BackSlash

Medusa Engine Source Code Released + Logo Contest!

Posted by Drafell Sunday June 21 2009 at 3:28AM
Login or Register to rate this blog post!

Richard Lyle, Palestar Inc. CEO, is happy to announce that the full source code for the Medusa Engine is now available for download. He has been wanting to do this for years, and our hope is that the community can step in and help improve the code and help make new features that we can all share.

Medusa is being licensed under one of three different licenses depending on how you want to use the source code. In a nutshell, If you want to make money off the source code, then you will have to pay a fee. If you just want to make games and release them for free or just for fun, the source code and engine is free of charge.

Medusa is the engine that is used to power DarkSpace, and includes the GameCQ Launcher and client update service, which features integrated chat*. Resourcer, our visual and audio asset management system, is included here as well.

Features:

Medusa is a C++ game engine that has been in development since 1998.

* Scene-Graph Rendering System - Includes Static, Animated and Skeletal Meshes, Solid BSP Tree, Particle Systems, Dynamic Lighting, Sprites, Lens Flares, and Sound nodes.
* Distributed World Simulation - Dynamically distribute the world simulation among any number of machines on the server backend.
* Resourcer - Edit and version control all game assets using one tool
* Cross Platform - All hardware specific systems are accessed using abstract classes.
* Complete Audio Systems - Single shot and streamed sounds, audio compression, audio capture, and interactive digital music.
* Network Systems - Client/Server classes, compressed sockets, and more.
* Factory Based - The entire engine is based on using factories to create classes for serialization and class enumeration.

 

Although yet to be confirmed, there is the potential for successful projects, or those simply wanting to use the GameCQ Launcher itself, to be hosted via the Palestar Inc servers. Please contact liscensing@palestar.com for more information.

In additon, there is now a Logo Design Contest running for the Medusa Engine, with the winning applicant receiving a 3 month DarkSpace subscription.

You can find more information and download links for the Medusa Engine on the Palestar.com website.
 

Phew! That is all of the blurb out of the way...

What does this mean for DarkSpace?

There are a number of features that we have always wanted to add to the Medusa Engine, but due to lack of time we have not been able to. There have always been more pressing concerns that need to be addressed, either with the game itself, or real life. This is one of the big pitfuls with regards to relying on a voluntary Development team.

What we would most like to add to Medusa are bump mapping and shader control as these would have the biggest impact in terms of visual quality for the game. Actually using shaders would allow us to improve the particle system and reduce CPU overhead. So better performance and improved visuals, both very good things.

Although long awaited (Richard was wanting to try and release Medusa back in 2004), I consider this to be great news overall.

Design Proposal - Enhancement Changes

Posted by Drafell Saturday June 20 2009 at 9:53AM
Login or Register to rate this blog post!

Part 1 - The Proposal

Current Enhancements leave a lot to be desired in terms of effect and usefulness. A large number of them will have no actual effect in game, due to a few issues that were unforeseen during Development. Those Enhancements that are in the game now need to be reviewed in order to restore the necessary and important balance in the Player vs Player (PvP) aspect of DarkSpace, and above all, to make them all useful.

I have a personal enmity towards useless objects in games. Those items that you may get to start with as freebies, but serve no point beyond your initial progress. This is extremely important in PvP oriented play, where the focus is supposed to be more on player skill, as opposed to item viability.

This is something that also applies to loot drops as well as you usually end up carrying around bags full of essentially useless items until you can sell them to another player, or to a merchant. People want to get back to the fun, IE. killing things, preferably other players, not traipsing back and forth doing rather mundane tasks.

I have always been in favor of the idea that everyone should be able to use everything, if even somewhat ineptly, and gain a useful benefit from it.

How does this apply to DarkSpace and Enhancements?

DarkSpace has several 'tiers' of enhancements. These are:

Tier 1 - Minor Enhancements - Very Common
Tier 2 - Limited Enhancements - Common
Tier 3 - Standard Enhancements - Uncommon
Tier 4 - Enhanced Enhancements (go figure?) - Rare
Tier 5 - Advanced Enhancements - Very Rare
Tier 6 - Prototype Enhancements - Unique - Only one per ship

As it stands, due to various coding limitations, Minor and Limited (Tier 1 and Tier 2) Enhancements are relatively pointless. Everyone has a stack of them, but due to the numbers involved in the back end, most of them don't actually do anything.

A brief(ish) explanation of this...

There are a few basic types of numbers that you can use in programming, C++ in particular. The ones we are interested in DarkSpace are called Integers and Floats. Integers are whole numbers with no decimal places. They are relatively quick to process, but any decimal places involved in the results get automatically dropped during processing. This makes them fast, but somewhat inaccurate.
Floats have decimal places, and are therefore very accurate, but due to this they are far more processor intensive to calculate. In a program where you are processing several thousand calculations a second, this can quickly mount up to a very high overhead, so we have to limit their use where possible.

Most numbers we use in DarkSpace are Integers, except where precision is absolutely required due to the above explanation. This becomes a problem when dealing with small numbers and percentages. Adding 1% (0.01) to 10 as an Integer value, will just return 10, not 10.01 as you might expect. You may wonder why we don't just multiply all the affected values by 100, and avoid the issue we are facing. This would indeed seemingly fix the problem, but due the complexity of the game and the calculation interactions, it would have needed to have been done when DarkSpace first started development as part of the original design. I actually tried to do this shortly after Enhancements were introduced - you really do not want to know what happened in the resulting mess. It was not pretty.

Back to the Proposal...

The only way to really fix this is to use bigger number's on Enhancements themselves, but then this will lead to some very overpowered combination's for the rare Enhancements if they have no inherent penalties or negative attributes.

Do we really want players having +200% damage output on a dreadnought? Short answer: No! Certainly not without some serious drawbacks.

We understand that players want to improve and customize their ships to suit their own particular style, and this is what we want to encourage and facilitate. However, we do not want to give 'veterans' an unfair advantage over new community members due to this, or we at least want to limit any advantage that we do provide so that new players are able to achieve balance parity relatively quickly and easily.

With this is mind, this is what I want to do with Enhancements:

All Enhancements would have a basic "free" improvement modifier. For Minor Enhancements, this would be the only value. You would get a small boost, but nothing else. No negatives, no penalties.
If we say that the default value is a 5% bonus, then this means a ship can have a maximum possible 40% "free" boost to any stat. This could be 40% faster weapons recharge, 40% more damage, 40% more armor or 40% more ammunition, entirely depending on the devices in question.
This may sound quite a lot, and indeed, a fully tricked out Battle Cruiser (as an example), using all Minor Enhancements would have a significant advantage over a stock ship. But then, due to the high drop rate of Minor Enhancements, any player could achieve the same with just an hour or two of destroying AI ships.

Any additional bonus to stats would need to come with a draw back to to help balance it. Instead of being better than the lower tier Enhancements, Tier 2 Enhancements and above would allow more extreme customization of play style, but at a cost that is relevant to the additional bonus.

Lets say we have a Minor Weapon Multiplexer. It adds +5% damage.
A Limited Multiplexer might then add +9% damage, but with a -4% slower recharge rate. This maintains the overall damage output and balance of the weapon.
Standard would therefore be +12% damage, and -7% recharge rate. Following depreciating returns (5(+4),9(+3),12(+2),14(+1),15), this would cap individual Enhancement bonuses to 15% each with a 10% penalty, or 120% total, with an 80% total penalty. As such a Tier 5 Enhancement would be effectively equal to a Tier 1 Enhancement, but allow a greater degree of extreme modification.

Prototype Enhancements would follow a similar principle, but also combine multiple different bonuses and negatives from different areas into one unit. Perhaps +45% damage output to ALL weapons, but with a 40% reduction in armor, or vice versa.

Your thoughts and feedback would be much appreciated.


Part 2 - Further Balance

Even with the above system, there are still concerns with regards to the possibility of one shot kills and 'newbie' farming.
Therefore each type would always have an associated penalty, using a system as follows:
Multiplexer - Additional damage would always be accompanied by reduced range.
Accelerator - Additional range would be countered by slower recharge.
Cooler - Faster recharge would be countered by reduced damage.
Condenser* - Faster recharge rate would be countered by reduced range.

This act's a self limiting system. To increase damage beyond +40% and maintain range would require using a combination of two sets of Enhancements. +120% projectile damage for a Gunboat Destroyer would limit it's actual Particle Cannon range to only 298.8gu, instead of the normal 1494gu range.

To increase damage while retaining near standard range with Tier 5 Enhancements, you would require 5 Advanced Multiplexers and 3 Advanced Accelerators - giving a total of:
+75% damage
-5% range (1419gu, instead of 1494gu))
-30% recharge rate (5 seconds per volley, instead of 3.85 seconds)

Lets compare this to a stock ship, and another vessel using all Minor Multiplexers. for the purposes of this, we will assume the average cannon damage of the stock ship is 100 per volley.

RoF = Rate fo Fire (seconds)

Stock (1494gu range, 3.85 RoF)
100 damage * (60/3.85 RoF) = 1558 damage per minute.
Minor Multiplexers (1494gu range, 3.85 RoF)
140 damage * (60/3.85 RoF) = 2181 damage per minute.
Advanced (all Advanced Multiplexers, 298.8gu range)
220 damage * (60/3.85 RoF) = 3428 damage per minute.
Advanced (combo, 1419 gu range, 5.005 RoF)
175 damage * (60/5 RoF) = 2100 damage per minute.

You will notice that the Minor Multiplexers actually work out slightly better than going all Advanced, DPS wise. This is considered an acceptable compromise.

You should be able to work out the relevant differences for the other Tiers and Enhancement combination's from the above information.

*Condenser - These were originally intended reduce actual energy cost, but due to the whole Integer issue this has to be changed. We do not want to actually remove any items, so they need to be made usable.

Special Offers