Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (753)
Games in Android Showcase (228)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1]
1  Game Development / Shared Code / Re: SimpleNet - lightweight Java network library on: 2009-08-03 09:31:22
Just wanted to inform you, that i recently released 0.4 of the lib.

It features some improvements on the wrappedMessage feature, that is now implemented as an interface. Also the package was restructured a bit (merged the "protobuf" package into the "implementations" one).

Again, it would be nice, you could give me some feedback.

2  Game Development / Shared Code / SimpleNet - lightweight Java network library on: 2009-07-31 06:44:50
Hi, i wanted to drop a note that i just released 0.3 of my java network lib SimpleNet.

It was born while i played with darkstar and googles protobuf and emerged out of the need to have a simple but fast message dispatching functionality. The critical point was, that the messages id should be maintained mostly automatically, leaving the dev (me) just the task to design the messages. However, fiddling around with protobufs extensions was no fun and using the enum feature was too unflexible in my opinion.
This was the reason i wrote my own lib.

It mostly deals with managing the "get ByteBuffer, decode and handle" thing, which is achieved by MessageHandlers that do the real work. Each MessageHandler is responsible for handling one specific message type. There is also a HeaderHandler which deals with message type id-recognition (the basis for the PacketManager to be able to dispatch the incoming messages to the appropriate MessageHandler), but can do several other tasks too (eg. encryption, compressing, whatever you like). Currently there is one default implementation for the HeaderHandler available, but he is rather basic (however should satisfy the most cases already). I have plans to add a plugin interface, so arbitary plugins can be added so extending the header will be an easy task.

I would be glad if you would download and test it, so you can give me tips/bug reports/patches/whatever you like (maybe you will write a review?), while i hope that this lib is useful to some of you.
Also, i hope that the population of the doc/ directory pais off so you get a fast grip.

The project is hosted at Sourceforge: (project home:
Its sourcecode is available at the SF webSVN:
The APIdoc as well as examples and descriptions is part of the distribution file; however most of the docs can be viewed in svn.
The current initial release license is AGPL, but upcoming releases will be put under the LGPL (svn code already is).

Greetings, Beni
3  Game Development / Game Play & Game Design / Re: Balancing of a strategy game (RTS) on: 2009-05-14 07:26:51
While this sounds goo theoretically, it has the problem that it does not cover the very basic aspects of the so-far designed game (ie there should be three races doing different, already defined, things).
Also it does not work with our warfare model, because we certainly will have fortified bases which have a huge impact on the way they must be conquered compared to the open field combat.

But we will proceed like you proposed, we now have the small base which now must be balanced and looked closer on. If we have gained enough experience, we will move on.
4  Game Development / Game Play & Game Design / Re: Balancing of a strategy game (RTS) on: 2009-05-12 08:37:00
So, just for the record;
This weekend we sat together and talked about principles and what our three races should play like and in which situations combat will mostly occur. After defining those basic things in detail, we tried to create some basic units that reflect the gameplay. Also the goal was that every race has some possibility to overcome the other two races.

Now currently we have very few but very diversified units with huge pros and cons that should basicly balance each other.
The next step is now to implement that units and do play testing to iterate over the units attributes and to balance even further.
since we only have a basic set of units, we will most likely discover that we should invent additional ones to make the game more interesting.
This should, however, grow as we proceed.

I think this sounds like a plan, what do you think?

(Again, thanks to all your input, it helped me alot to clarify my mind)
5  Game Development / Game Play & Game Design / Re: Balancing of a strategy game (RTS) on: 2009-04-29 07:39:55
Hi, thanks for the long, enlighting post, Mr. Light!

My biggest problem currently is, how to do the first step. How to start?
We have a game design that describes the three races and how they should play differently. Now the step must been taken, that this proposed gameplay should be realized. It is clear to me, that this needs much iteration, and thats fine. But how to do the very first step?

After what i learned in the previous posts, my idea is to firstly define some basic combat rules (like "A"-Units are especially good at shooting "B"s). This basic rules must derive from the game spec, like race "R" should be played with many cheap units, while "RX" is a high technology race that should use finesse (special abilitys) instead of pure force (like some mind twisting magic that turns Rs units into believing they are rabbits or such a thing).
This would imply, that Rs units are weak and cheap but RXs are strong but expensive.
The problem is not to define those rules, but to pour that into real values to start with...
6  Game Development / Game Play & Game Design / Re: Balancing of a strategy game (RTS) on: 2009-04-28 11:26:48
Thank you for the input given so far!
7  Game Development / Game Play & Game Design / Balancing of a strategy game (RTS) on: 2009-04-27 06:20:12
Hello everybody,
i wonder how strategy games are balanced and designed in respect of their units, weapons etc.
There are so many different things that need to be considered, like speed of units, price, speed of attack, inflicted damage, special abilities etc...
Is there a general guideline how one should approach this without getting lost in the jungle?

For example, we plan to have tree races, A, B and C. A and B as well as B and C always form an alliance.
There should be things like paralizing damage and poison damage, which would make all that even more difficult.
At the end, we want to have an balanced game where no fraction has an general advantage but serve some unique advantage that helpd the ally-counterpart to win the game (eg. A does complement B so together they may have an advantage over the other ally fraction).
8  Game Development / Newbie & Debugging Questions / Primtitives vs. Object vars on: 2009-04-07 11:32:36
please point me to the approprate post (or website), if this has answered before - the search function unfortunately did not spill out anything usable.

I wonder if it is better to use primitive types instead of the boxed versions, when possible, and just convert if neccessary, ie. favorint int over Integer.
Or is generally using the boxed versions not that much of an overhead?
9  Game Development / Game Play & Game Design / Re: Design Question: Damage model on: 2009-03-29 22:18:13
Yes, the DamageSets are fresh each time; the filters are operating on one particular damage set in time, not on the "original" one.

A weapon provides a damage set (some sort of factory) which is then changed by several (or one or none) filters and the remining damageTypes are then applied to a unit.
Next stroke starts with a fresh damageset and a fresh filterstack.
10  Game Development / Game Play & Game Design / Re: Design Question: Damage model on: 2009-03-29 21:50:02
You already helped me alot!

Filters won't affect the DamageType instance though, just how it is applied to the target object, so I don't see special methods for filters needed on a DamageType. It should be more like a filter factor lookup on your armor/inventory objects or something.
The idea was that a unit can have several armors, each one consisting of several filter types. Armors may be extendet at runtime (for example, the user inserts some gem into his mailshirt that now provides additional protection against burn damage).
This should be accomplished by just adding some new filter object to the units filterstack which is provided by one or several worn armours.
In takeDamage() there would be a lookup to the units worn armor which returns a filter set that could be applied do the damage objects.

The same intention is true for the damageTypes, it should be possible to modify the damage set inflicted by a particularly weapon (ie. user inserts gem to units sword that now also inflicts poison damage)

One particular armor can be worn by different units, as well as a particular weapon can be used by different units. However they remain the same armor and the same weapon.
11  Game Development / Game Play & Game Design / Re: Design Question: Damage model on: 2009-03-29 20:40:34
Just to be sure, i understand you correct:
There would only be the takeDamage() method on target-objects.
This implies, there is a abstract class or interface "damageType".

That sound simple and good, i wonder why i havent considered this at first.
The way this forms in my mind is now:
- Interface "attackable", requiring the takeDamage(DamageType) method
- Interface "DamageType" providing standardized methods for getting the needed values (duration and strenght) and manipulating them (for filters as mentioned above)

This sounds good because this way, not the DamageType decides its impact on targets, but the targets themselves decide that, which is more logical. A Sword strike has a different impact on a human than on a wall, but the sword inflicting the damage does not know that at all.

This way i also can make a class AbstracTUnit with default handling for most damage Types, but i am still flexible on that.

Just one question left, the casting, why is it needed? for the compiler not to complain? or is the passed variable "damage" casted to DamageType at call time? I thougt, variables (and thus the type) would be passed by reference?
12  Game Development / Game Play & Game Design / Re: Design Question: Damage model on: 2009-03-29 20:05:46
Wouldnt this result in a run time exception since if a DamageType, that could not be handled by the target, would be called?
One damageSet could be applied to many different targets!
Or must all available applyDamage() Methods be implemented by each object that may become a target object, regardless which damageType it may apply?
And each class extending a abstract damagetaker-class would render me inflexible in the extension hierarchy...
I think that would be harder to maintain as the model above, dont you think that too?
13  Game Development / Game Play & Game Design / Re: Design Question: Damage model on: 2009-03-29 19:28:48
Hello and thanks for your input.
I already considered using instanceof, but was not sure if this is appropriate.
But if i think about that twice, it should be sufficient and easy, because the damageType objects will know how to modify objects based on the knowledge of interfaces. This way, i only need to implement the neccessary interfaces (eg damageable, movable in the example above) without knowing that some weapon can inflict damage upon the object. This should be much more flexible since:
- the damageType dont kneed to know which objects can be targeted
- the objects dont need to know if and which damageTypes must be considered
- extension of both, damageTypes and target objects is very easy.

However, i just dont know if i am missing some important design thought....
14  Game Development / Game Play & Game Design / Design Question: Damage model on: 2009-03-29 11:42:36
Hi there,
im currently thinking about a flexible damage system and unfortunately im stuck at a certain point.

We have several different objects, that will be modeled as such:
- Weapons, that provide "damage sets" consisting of one or several damagetypes
- Damage types, that represent some kind of real damage. This could be anything, from physical damage to magic stuff like paralysis
- Armor: They have a set of filter objects that flter applied damage
- Damagefilter: A object that can modify a specific damagetype.

If damage should be inflicted to some object, the damage set is retrieved from the weapon. this set is then passed to the filterset provided by the armor, which will modify each damage type trough a interface which is common for all damagetypes. After that, each damagetype will be apply()-ed with the target object as parameter.
The apply() method of the damagetype implements modifying a target object through a interface, like "damageable" wich deals with physical damage. Other damage types may use different interfaces like "movable".

And this is the point where im stuck; because the target object will be not only a "unit" object that implements all that interfaces.
Say, for example, a unit is attacking some wall.
The used weapon has physical damage and paralization.

Let me explain that with some basic pseudocode:
(interface damagetype is cut out, it provides methods to the filter objects. That works i think.)
class PhysicalDamage implements damagetype{
    // implementing the apply() method from damagetype
    function apply(object) {
        object.removeHealth(10); // remove 10 HP; this is a method provided by the "damageable" interface

class ParalizerDamage implements damagetype{
    // implementing the apply() method from damagetype
    function apply(object) {
        object.slowDown(5); // slow down target; provided by the "movable" interface

class TestWeapon {
    function getDamageSet() {
         return new Array(new ParalizerDamage(), new PhysicalDamage());

So, like you see, apply() misses some technique to see, if it can apply its damage to the target object. However, it cannot know which objects will be passed in, so i need some generic way to test if damage an be applied.
And exactly that is the point, which i cannot solve. How to do that in a generic, object oriented way that may be extended in the future?
As a side note, it is okay if the DamageType would silently do nothing if the target object cant be modified by it because the damaga does not apply (wall cant move anyway).
I thougt about using handlers, but dont know if this is the best way to do that. In this idea, i wanted apply() to fetch a suitable handler from the target object, which then handles the damagetype; but i wanted the DamageType to contain the damage-apply code, not some handler.
15  Game Development / Newbie & Debugging Questions / Re: Utility of scripting language on: 2009-03-05 15:16:34
What i still wonder is how the interaction between java and the scripting language works.
How does one make Java objects available to the script? How to pass arguments or Variables around?
Pages: [1]
nelsongames (19 views)
2018-04-24 18:15:36

nelsongames (16 views)
2018-04-24 18:14:32

ivj94 (607 views)
2018-03-24 14:47:39

ivj94 (51 views)
2018-03-24 14:46:31

ivj94 (400 views)
2018-03-24 14:43:53

Solater (65 views)
2018-03-17 05:04:08

nelsongames (110 views)
2018-03-05 17:56:34

Gornova (175 views)
2018-03-02 22:15:33

buddyBro (746 views)
2018-02-28 16:59:18

buddyBro (93 views)
2018-02-28 16:45:17
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!