Technopolies

Started by rolz, October 21, 2004, 04:03:43 PM

Previous topic - Next topic

CinergyStudios

hey just a question for those who know how much space do u think key frame animation takes up when u have at least 5 different models with about 5 different animations.... i hear u need to basically break up each animation, but couldnt you put all the 5 animations for one character on one after another then break it up in the programing? and i guess what ill probably do if i can is use the same animation for each of those 5 models or something like that... any tips?

Crate

Hi Rolz!

Nice that you are continuing your project. As always its fun to play, even at this stage! Some of the bugs I've found:

The skulls don't get deducted from inventory when you complete the quest, you can level quickly by accepting and completing the quest constantly.

The calculation of what you can buy doesn't seem to work - sometimes I can't buy 100 ammuntion, but 2x50 works.

You can't buy ammo for the machine gun, it always says that you need to buy more. (no price set?)

I don't like the combat system, there is too much chance: you miss most shots (randomly) which is irritating. I'd prefer hitting almost ervery time, but maybe doing less damage. Then you get a feeling what monsters you can kill at your lvl of skill and which you can't.

Rezzing after 15sec with 1 hp sux. The monsters don't go away, so you get killed again and again. Also they follow you for too long, you can't realy run away...

If they monsters come in groups, the outcome is always the same: either you die because they all hit you, or you don't take any dmg because they hit on the npc defenders.

The town (towns?) should be marked clearly on the mini-map - I was hunting for more towns but was disapointed because I found none.

Otherwise I really like the quest and crafting system (a little like wow). And as I said, the game is enjoyable already. :)

rolz

Thanks for the review, Crate.

I did not touch anything on technopolies for two months already - had lots of events in my life lately. I hope eventually it will calm down in the next two weeks and i'll be able to release the whole bunch of latest changes - including fixes for bugs you mentioned, more items, some new animations and mostly the updated scenario/plot.

P.S. got a chance to wear knight's equipment while being on vacations...
Tough stuff I'd say - waving two-handed sword with some 40+kg of steel on you ;) I will definitelly have to review game combat system.
Regards,
Andrei

Melssj5

A question!!!!! How do you handle the comunications between many players and the server, I mean how are rendered the other players on the client World (receiving just a position and a direction on each iteration???) I have problems on that part and cant fix them, so I decided to ask you who has the best multipayer project here.
Nada por ahora

EgonOlsen

Wanted to play a bit but...the server "dev.maryno.net" seems to be down ATM.. :cry:

athanazio

Quote from: "rolz"
1. Terrain generator.

The common concept for landscapes in technopolies was in
- making it easy to edit (drawing landscape map in photoshop with a couple of brush strokes)
- making it lightweight enough to be transfered via network (~4kb for a 1000 x 1000 meters level)
- make it possible to be divided into regions (to define footstep sounds for different tiles, add effects like sand smokes and animated grass )
- load / render only visible parts of a bigger level

I'm very curious how you make this :)
split a big plane in smal rectangles ... can you share this one ?
pleeeease

rolz

Quote from: "athanazio"
Quote from: "rolz"
1. Terrain generator.

The common concept for landscapes in technopolies was in
- making it easy to edit (drawing landscape map in photoshop with a couple of brush strokes)
- making it lightweight enough to be transfered via network (~4kb for a 1000 x 1000 meters level)
- make it possible to be divided into regions (to define footstep sounds for different tiles, add effects like sand smokes and animated grass )
- load / render only visible parts of a bigger level

I'm very curious how you make this :)
split a big plane in smal rectangles ... can you share this one ?
pleeeease

Sure, i'm now moving code to the open source repository and splitting the whole engine into separate modules, like UI, terrain generation and so on. Hopefully will finish and share this code soon.

As to the idea of splitting plane into smaller ones - you can:

1. generate plane from several smaller planes
2. create IVertexController that will adjust Z coordinate for smaller planes' vertices
Regards,
Andrei

athanazio

thanks Andrei !!

I was afraid that the creation of a plane with 1000s of small plane would reduce the performance, but it seems that dont :)

I will give a try !!

thanks again

rolz

Regards,
Andrei

athanazio

oh well ... not lucky :)
my frist try didn't gave me nice results ... just outofmemoryerrors, any sugestions ?

public class Map extends AbstractEntity {

private int height;

private int width;

public static final int SQUARE_SIZE = 50;

/**
* define the number of subpanels that the map will have defined in a matrix
* [width x height]
*
* @param width
* @param height
*/
public Map(int width, int height, World w) {
super(Primitives.getPlane(SQUARE_SIZE, 1), w);
createThePlanes(width, height);
}

private void createThePlanes(int width, int height) {
this.width = width;
this.height = height;

Object3D[][] matrix = new Object3D[height][];
for (int i = 0; i < matrix.length; i++) {
matrix[i] = new Object3D[width];
}

int shiftX = SQUARE_SIZE;
int shiftY = SQUARE_SIZE;
String textureName = "red";

for (int i = 0; i < matrix.length; i++) {

for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = Primitives.getPlane(SQUARE_SIZE, 1);
matrix[i][j].translate(shiftX * i, shiftY * j, 0);
matrix[i][j].setTexture(textureName);
addChild(matrix[i][j]);
prepare(matrix[i][j]);

// TODO remove this
if (textureName.equals("red")) {
textureName = "white";
} else {
textureName = "red";
}

}

}

prepare(this);

}

private void prepare(Object3D one) {
one.rotateX((float) Math.toRadians(90));
one.translateMesh();
one.rotateMesh();
one.setTranslationMatrix(new Matrix());
one.setRotationMatrix(new Matrix());
// one.createTriangleStrips(2);
one.enableLazyTransformations();
}

private static final long serialVersionUID = 1L;

}

Mizuki Takase

Your code seems normal to me... Instead of constantly making a new plane with Primitives.getPlane(SQUARE_SIZE, 1); why not Object3D.cloneObject()? I hope that helps, but then again, I would think that a Plane is already too small of a memory hog to even get an out of memory error...

athanazio

I tried with the clone but still have the same problem ... :(
(feeling stupid) hehehehe, its part of the game hehehe

Mizuki Takase

Does Egon's answer about using addTriangle() seem helpful to you? I am going to read the source that he mentioned later...

manumoi

don t forget to use the -Xmx option with the java command in order to extend the allowed memory to the virtual machine. For example -Xmx256m to allow the virtual machine to run with 256 meg

alexh

Are you still planning on releasing the code? Is there a link to it, I'm really interested in finding out how you approached writing of this Game.  I've written some bits here and there in the past but begin to drown in the code I've written.