( search forums )
Quick map maker update
Soldat Forums - Soldat Talk - Developers Corner
chrisgbk
April 20, 2005, 4:52 am
[URL]
(copy and paste if it gives an error)
Just to let everyone know that work is still being done. That's rendered by directX, including the scenery. :) Background was disabled in this shot.

cooz
April 20, 2005, 5:49 pm
nice, we're waiting for more!

zambo_the_clown
April 20, 2005, 6:23 pm
which map maker is this an update for???? or is it some sorta new mapmaker.... im kinda confused

chrisgbk
April 20, 2005, 7:31 pm
This is the update to the mapmaker that EnEsCe and myself are working on.

Deleted User
April 20, 2005, 8:21 pm
cool. can u tell me a lil bit about the features?

Deleted User
April 21, 2005, 3:36 am
Heres a screenshot of the Polygondrawing feature(first image is 1 line)
[IMAGE]
And this image is after the polygon has been finished (Automatically generated into triangles)
[IMAGE]

(Both these shots are outdated :P)

Gen0cide
April 21, 2005, 3:42 am
Nice guys,I cannot wait.
But do you freehand the polygons?
I would like a point to point line maker,for straighter lines.(A simple example is on paint)
You click,it makes a starting point for a line,you click somewhere else and a line is formed between the points.Easy as that.
I think that would be a great feature for this,since you can make polygons easy,and this would help.

EDIT: P.s,how do you select to colour certain polygons,if there are so many and they are automatically generated?

Vijchtidoodah
April 21, 2005, 3:53 am
I'm just going to stick this here so you don't forget.

quote:Originally posted by VijchtidoodahThere would have to be several more features in the mapmaker to ensure that this is viable for people who like to shade (I'm sure you know a few of these...):

-The ability to select all vertices converging on one point. I don't want huge clumps like that in my maps.

But more importantly:
-Different polygon creation settings such as
--The program only makes the outline and the polygons along it descend a set amount.

[IMAGE]

--The program does the same as above, but adds a second layer of polygons.

[IMAGE]

--The program does either one of the two above, and then fills out the rest the way that you already have (or possibly with more layers of polygons)


What I'd like to stress about the above requests is that, in order to be fully functional, the produced trianges have to have the option to set both the length of descent (the height) and the actual width taken up on the drawn line (the resolution or sensitivity...ie, if I draw a circle, do I want four points on it or fourty).

chrisgbk
April 21, 2005, 4:26 am
Don't worry, haven't forgotten about that... already have an algorithm made up (that is yet to be implemented)

Da cHeeSeMaN
April 21, 2005, 12:35 pm
sounds like the easiest to use mapmaker ever i hope you release it fast!

Deleted User
April 21, 2005, 1:39 pm
Damn [IMAGE]in awesome ! I must have it !
Wery cool good damn super ultra cool WORK !

make it quick
make it cool
make it BEST \\\ okay just kidding , bcs i can't wait !

Deleted User
April 21, 2005, 11:35 pm
quote:Originally posted by Gen0cideNice guys,I cannot wait.
But do you freehand the polygons?
I would like a point to point line maker,for straighter lines.(A simple example is on paint)
You click,it makes a starting point for a line,you click somewhere else and a line is formed between the points.Easy as that.
I think that would be a great feature for this,since you can make polygons easy,and this would help.


you can either snap to grid, or freehand it. You click one spot, click another and a line is put in between the 2 points ofcourse. Shading isnt really our main focus yet.

GluLm
April 22, 2005, 12:36 am
This is so promising... good job, both of you.
Glad to see there's still some developments going on.
Just to let you know that your work is appreciated.
</lurks>

Gen0cide
April 22, 2005, 1:14 am
Thanks for the info enesce.
How do you colour the polys?Did you program that part yet,or just doing the basic basics.

.alex.oner.
April 23, 2005, 4:02 pm
cant wait till this is released.. any ideas on the date it will be finished by?

Solidarnosc
April 28, 2005, 5:07 pm
You guys seem to have a pretty good algorithm there. At the moment, I don't have the time to do anything that fancy with my mapmaker, but I have implemented basic shapes (primitives) which can be polygonised into triangles, using shape-specific breakdowns (which support any practical level of segmenting). While such a method can't do awesome freehands like yours, it probably produces more user friendly (i.e; no super-stretched out polygons or bunched up vertices) sets of triangles when only basic shapes are needed. I might post a screenshot or the program soon, but I can't be bothered setting up a screenshot or obfuscating the program this late at night.

Anyhow, I look forward to seeing the end product of your project and I hope I can have something to show soon.

Also, I might need some help with the map format, I've got the map values to read OK, but I'm not sure about some parts of the polygon structures, so maybe one of you can give me a nudge in the right direction.

grand_diablo
April 28, 2005, 5:12 pm
looks very nice, and point to point (see Gen0cide) is a great idea that should be implemented!

Deleted User
April 28, 2005, 5:33 pm
Holy god damn crap.

I might even start making maps again :O

chrisgbk
April 28, 2005, 11:52 pm
quote:Originally posted by SolidarnoscYou guys seem to have a pretty good algorithm there. At the moment, I don't have the time to do anything that fancy with my mapmaker, but I have implemented basic shapes (primitives) which can be polygonised into triangles, using shape-specific breakdowns (which support any practical level of segmenting). While such a method can't do awesome freehands like yours, it probably produces more user friendly (i.e; no super-stretched out polygons or bunched up vertices) sets of triangles when only basic shapes are needed. I might post a screenshot or the program soon, but I can't be bothered setting up a screenshot or obfuscating the program this late at night.

Anyhow, I look forward to seeing the end product of your project and I hope I can have something to show soon.

Also, I might need some help with the map format, I've got the map values to read OK, but I'm not sure about some parts of the polygon structures, so maybe one of you can give me a nudge in the right direction.


You also have to remember that that was only a sample shape with literally hundreds of vertices. In reality, no one would ever make a shape THAT complex, unless they were crazy. For anyone who is curious, the splitting is near instant. That entire shape was split in way under 1 second.

If there is some part of the format you don't understand, just ask specifically and I'll tell you what it does, I know what all of the values are used for by this point.

chrisgbk
April 28, 2005, 11:57 pm
quote:Originally posted by grand_diablolooks very nice, and point to point (see Gen0cide) is a great idea that should be implemented!


That's the way it is implemented, the only reason the shape looks so smooth is that there are so many vertices. If you've used Map Maker Pro, you will know how this should work.

JiggaBlue
April 29, 2005, 1:00 am
Can't wait till this is relesed, any ideas on a beta date?

chrisgbk
April 29, 2005, 5:51 am
When it's done. :P

Solidarnosc
April 29, 2005, 11:12 am
Chrisgbk, your method can do a lot more than mine, but I think that users might prefer to not use that algorithm for simple shapes that can use specific algorithms.

Here is a screen shot and I think you will see what I mean. The first shape (top left) is a primitive shape which is based off the inputs on the right and does not have editable vertices, but can be edited (ie moved, rotated, etc.) as a whole. The second is the same as the first, but it has been 'polygonised' with the press of a button. This means that it has been reduced to polygons with shared vertices. The third is the same as the second, except I have done some recoloring (by coloring the shared vertices) and moving of the vertices.

[IMAGE]

If I'm imagining it correctly, your method would make all the triangles converge on one vertex, which might not be favoured by all users.

As far as the format goes, the first thing I am unsure of is this bit (from the Delphi source of the standard mapmaker):

TMapFile_Polygon = packed record
Poly : TPolygon;
Perp : array[1..3] of TD3DXVector3;
PolyType : byte;
end;

The bit I'm not sure about is the TD3DXVector3. Apart from not knowing its structure, I'm not 100% sure about how delphi arrays are written (although I haven't looked into it much). Any help would be handy. =)

Aquarius
April 29, 2005, 11:26 am
Shut up. Prefabs, automatic shapes made from polys, poly grouping, even algorithms like yours were proposed ages ago and existed in many game map editors and vector graphics editors before. It's not your original, patented idea.

And Solidarnosc's shapes look more useful than your poly-jumble algorithm.


EDIT: it was a reply to EnEsCe "talk about stealing ideas" post, but he deleted his post.

chrisgbk
April 29, 2005, 11:11 pm
You are correct, the current version does converge onto a single vertice, but that can be changed.

The TD3DXVECTOR3 is a DirectX type, all it is is a 3 dimensional vector.

Type TD3DXVECTOR3
X as Single
Y as Single
Z as Single
End Type

Arrays are written like sequential data. If you want to see how it works better, get a hex editing tool like hex workshop, then you can examine the bytes that make up the structure.

chrisgbk
April 29, 2005, 11:15 pm
quote:Originally posted by AquariusShut up. Prefabs, automatic shapes made from polys, poly grouping, even algorithms like yours were proposed ages ago and existed in many game map editors and vector graphics editors before. It's not your original, patented idea.

And Solidarnosc's shapes look more useful than your poly-jumble algorithm.


EDIT: it was a reply to EnEsCe "talk about stealing ideas" post, but he deleted his post.


It looks like just jumble because that is an extremely complex shape that no sane person would draw. If you draw a simpler shape, like any polyhedron, its much nicer. And of course it's not patented, if you look back in the posts on this board, I posted pseudo code for an algorithm to do that quite a while ago. It sucked, but it was a start.

Solidarnosc
April 30, 2005, 8:10 am
Aquarius: as much as I like your praise, Chris' formula would be much more handy for a lot of things. Also, I don't think that anyone is claiming anything like that as his own original idea here (unless enesce said something truly erroneous that I missed). My algorithms probably come under what you call 'prefabs' anyway.

Chris: thanks alot for that info on the TD3DXVECTOR3. I pretty much guessed what it should have been, I just wasn't sure on the number and type of its values (I'm not really even using any graphics libraries currently). BTW, I did use a hex editor to find out the map information part at the start, its just that I had no idea after that because I didn't know the TD3DXVECTOR3 structure. With the arrays, I thought it was possible that Delphi might store the length of it in there somewhere. Something like that wouldn't surprise me. After all, the bytes of integers, etc are written in reverse order to the way Java reads them and Strings aren't done the same way (not to mention the signing of bytes).

chrisgbk
April 30, 2005, 10:08 am
I've never really looked up to see if java interprets values in little endian or big endian format. Since it runs on an Intel architecture, I assumed it would follow little endian format (least significant byte first) (Which i found out is incorrect, it use Big Endian order)

[URL] Go there, it explains, and it has code for reading little endian values

ie:

the value 12 as a 32 bit integer is logically: 00 00 00 0B
but in memory and in files, because x86 is a little endian architecture, that value is represented as: 0B 00 00 00

That is why the first 4 bytes in the map files are like that, despite the value being logically 00 00 00 0B, its actually 0B 00 00 00

That is NOT a delphi thing, it's a processor thing.

lets consider an array of 4 32 bit integers: {1, 17, 14, 8}
these are logically:
00 00 00 01
00 00 00 11
00 00 00 0E
00 00 00 08

in memory they are represented as:
01 00 00 00
11 00 00 00
0E 00 00 00
08 00 00 00

if these are written to a file (in order), the file would contain:

01 00 00 00 11 00 00 00 0E 00 00 00 08 00 00 00

Signing of integers is done the exact same in java as it is in any other language (to my knowledge): 2s compliment
a negative number is just the positive version NOTed, with 1 added after

lets examine the value -6.
6 (without sign) is represented as:
00000000 00000000 00000000 00000110 as binary
or as hex:
00 00 00 06
-6 is:
11111111 11111111 11111111 11111010 as binary
or as hex:
FF FF FF FA
but then, it is switched around like noted above, so it is actually
11111010 11111111 11111111 11111111 in memory and in files
or, as hex:
FA FF FF FF

Strings in delphi are odd, yes.
The first byte is the length, subsequent bytes are the characters, and then because the strings are fixed length, delphi pads the rest with garbage characters.

Solidarnosc
April 30, 2005, 10:57 am
Thanks for that Chris, but I'd already worked pretty much all that out by myself (rather painstakingly). Its the structure of some of the delphi output that eluded me, but I should be fine now.

Deleted User
April 30, 2005, 1:00 pm
I am glad to see some progress with this. Keep up the good word you three(?), despite it all.

I am terribly eager to try the alpha version of this. Betas are overrated.

chrisgbk
April 30, 2005, 8:31 pm
Overrated, as in you have to wait longer than for an alpha? :P

cooz
April 30, 2005, 9:03 pm
pre-alphas rule the world ;p ^o^

Deleted User
May 1, 2005, 10:19 am
Exactly as cooz said.

MATT0121
August 15, 2005, 7:06 pm
can you please add a select all polygons feature, or if you select a certain tool, you can click and drag a box around polys that you want to select, like on the desktop of Windows.