Breakfast in Hell has changed its name

Mmmm... What's cookin in the kitchen?

Moderator: Lucifer

User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

thanks phil! i thot it would be more complicated than that

i thot i had to tell it an angle deg° too or soemthing.. axis

*shrugs*

i'll read what u put & look at my drawing & hopefully a little light bulb will light up

ok, i got it almost finished!

can someone do the first couple spawn points for me?
I dont understand how to specify n/s/e/w with them yet

also, does this look ok besides the spawn points?

http://forums.armagetronad.net/download.php?id=1706 <--the template
---------------------------------------------------------------
Last edited by SuPeRTaRD on Sun Oct 09, 2005 11:22 pm, edited 1 time in total.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Nemo has a map previewer on his site that works very well. It shows the map and the spawn points, and even (now) arrows from the spawn points. Just find a post by him and click on the link in his signature. :)

As for spawn points, the x and y describe where it's at, obviously. From there, you can define where the cycle looks with either a vector using x and y coordinates, or with an angle. If you use a vector, then the inverse tangent of the vector will give you the angle. If you use the angle, then tan angle will give you a vector. :)

In simple terms, that means that if you want the cycle to point to the right, set x to 1 and y to 0. To look up, y=1 and x=0. To look left, x=-1 and y=0, and to look down, x=0, y=-1.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

i finished my map!!! woot
Lucifer can we play it on your server? :!: :lol:
Attachments
AntiCamp.png
(9.6 KiB) Downloaded 315 times
Last edited by SuPeRTaRD on Wed Oct 12, 2005 4:21 pm, edited 4 times in total.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Reupload it, after doing two things. :) First, check the map on nemo's previewer (I mentioned it before, but you were posting at the same time so might have missed it). Second, just upload it with the .xml name, the forums will take it. (I think Tank added that specifically to support uploading maps, right?)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Added 'tard's map to the rotator. :)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

Isn't dtd confusion fun?
ˌɑrməˈɡɛˌtrɑn
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

NO
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
philippeqc
Long Poster - Project Developer - Sage
Posts: 1526
Joined: Mon Jul 12, 2004 8:55 am
Location: Stockholm
Contact:

Post by philippeqc »

Jonathan wrote:Isn't dtd confusion fun?
Mr Funny man! ;)

SuperTard, your using an too old version of the tutorial. Change the
<!DOCTYPE World SYSTEM "format-0.1.dtd">
to
<!DOCTYPE World SYSTEM "map-0.1.dtd">

After that, tell me where you got that tutorial and I'll go eradicate it ;)

-ph
Canis meus id comedit.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Actually, ph, he needed it to be map-0.1-ext.dtd, because he used obstaclewalls. ;)

(Was that you in there when I broke it a few minutes ago? I saw someone named 'ph' in there and was like, "If that's phillipe, he'll get to see 'tard's new map!", the he left and didn't come back)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

I saw a ph from the master server list. When I entered the thing was about to crash.
ˌɑrməˈɡɛˌtrɑn
User avatar
philippeqc
Long Poster - Project Developer - Sage
Posts: 1526
Joined: Mon Jul 12, 2004 8:55 am
Location: Stockholm
Contact:

Post by philippeqc »

Lucifer wrote:Actually, ph, he needed it to be map-0.1-ext.dtd, because he used obstaclewalls. ;)

(Was that you in there when I broke it a few minutes ago? I saw someone named 'ph' in there and was like, "If that's phillipe, he'll get to see 'tard's new map!", the he left and didn't come back)
was me, got the problem, diagnotized it, posted about it, went back, had some fun with tard, left to find how to get jonatans hud map, realised it was too late to mess with this, posted this message, heading back for crack pipe.

-ph

edit: when you change something in a map, change the version in the file name to avoid conflicts
Canis meus id comedit.
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

http://forums.armagetronad.net/viewtopi ... sc&start=0

is where i got it from, from the first example in the docs

i think...

this is all very confusing to me.. im glad it worked tho, is great fun playing it..

so whys theres so many ways to skin a cat in level building:? did i do it wrong? will i eventually have to learn a different way to do it?>

if i build another the same way, whats my header su[pposed to look like?>
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

The difference is in the xml. Have you worked with xml or xhtml much?

Basically, you specify a doctype which tells the parser (in this case, the Armagetronad program) what is in the file. When you do this, you also specify what's called a Document Type Description (that is what DTD stands for, right?). This file contains a list of valid xml entites for the document. The parser, in this case the armagetronad program, compares what it finds inside the document to what it finds in the DTD. If it finds stuff in the document that don't exist in the DTD, then it fails to validate and refuses to load it.

Each new version of the map format will have a corresponding new version of the DTD to provide the validator with the information it needs to determine if a map is written correctly.

Now consider why it's like this. There was a somewhat heated discussion about it, and I'm not trying to start it up again. Here we're only trying to understand what happens.

Let's assume that a map uses tags that don't exist. Let's also assume that because of this, the map is unplayable. By validating the map itself, we determine that it is unplayable and therefore refuse to play it.

Now let's look at how this happens over time. Let's say in the next version that Phillippe adds a tag called "supertardspawnpoint". Then Supertard makes a map that uses it to place him in a box away from everyone else where he can maze without interruption. Lucifer tries to run that map on his existing server. His server, however, is version 0.2.8 and doesn't support the supertardspawnpoint tag, so it fails to load.

What other ways are there to solve this problem? You can version the map file itself somehow. Audacity puts the version number in a tag in the xml, but even now they're looking at validating the xml because they need more from it. Also, putting the server version in the map file requires every new version to understand what every older version supported in the format. Also, it doesn't guarantee that the map itself is still formatted properly. You (or I or anyone else) can easily screw up the xml (or any arbitrary format) in such a way that the parser can fail to parse it. Using a validator like this ensures that the format of the map file must be correct before it's even loaded. And it does so by using a library that is well-tested, relatively bug-free, and pretty rock-solid. Any custom map format parser we write will by definition be none of these things for some time. So using validating xml gives the code a level of robustness it wouldn't otherwise have, allowing map makers, developers, server admins, and players to focus each respectively on what matters most to them rather than dealing with bugs in the map parser that could be avoided by using someone else's parser.

So what does this mean to you, as a map maker? It means that you can screw up the map without screwing up the server (theoretically, it does appear that the fallback failed or that there isn't a fallback presently). It also means that you can use a variety of existing external tools to validate your map and determine if you've written it correctly at the format level. Now, you can't see if there are any flaws in the map that affect gameplay until you try to load it into a game and play it, but that's fine. This is more like a front-line effort to keep maps sane.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

are the obstacle walls part of the code likely to be revised & outdated anytime soon? i noticed they're shorter than normal walls..

cuz im thinking of starting another map & if i need any pointers, i figgured i'd ask b4 i started coding

if i dont need pointers, i will probably code the next map similarly

i have no previous .xml experiance
Post Reply