Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : Development : universal DROD level standard?
New Topic New Poll Post Reply
Poster Message
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon universal DROD level standard? (0)  
i was thinking that there should be a standard for DROD levels, one that would obviously be the same for all platforms/ports/clones and whatnot. also, a level-pack could be made for one version of DORD, then opened in this universal level editor and exported to other versions too.

that would make things very easy for everyone. there could be a level editor that would support all versions of DROD, such as PC, linux, Palm, PocketC, flash, etc.

it's obvious that there's no way to have one type of file for each platform, since Palms use databases, linux has funny newlines, etc.

what i'm talking about is just the way the levels are recorded, the structure. so even though on pc it could be a text file, but on a Palm it'd be a database, in the end it could be the same series of integers/strings/whatever describing each tile of each room in the same order, etc.

it would be very helpful if someone could explain briefly how Caravel DROD levels are, and i'll explain my plans for my Palm DROD.

before i start, there's a problem i have to talk about... my DROD uses levels that are 24 by 19 tiles wide, whereas the Caravel DROD uses levels of 38x32 size. the only solution i see is to either check if the level-pack room size is supported, and refuse to run if not. PC version could easy support rooms 38x32 and less, so Palm levels could be played on PC drod if such version supports this.

i have to go right now, but i'll be back soon and then i'll tell you how my levels are currently implemented.

also note that this just is an idea/suggestion, so if u don't like it, there's no need to get angry. the only way it will get implemented if we all agree on it.

i sure hope this works out, but we'll have to wait and see.

____________________________
Thanks,
shurcooL
05-27-2003 at 10:21 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
shurcooL wrote:
i was thinking that there should be a standard for DROD levels, one that would obviously be the same for all platforms/ports/clones and whatnot. also, a level-pack could be made for one version of DORD, then opened in this universal level editor and exported to other versions too.
We think alike!

You should look at Mike's export format. It's a completely self-contained XML description of the data. He's defined a format for exporting room/level/hold, player settings, and demos. It's zip-compressed for safe and efficient transfer. There's working source code for it now.

before i start, there's a problem i have to talk about... my DROD uses levels that are 24 by 19 tiles wide, whereas the Caravel DROD uses levels of 38x32 size. the only solution i see is to either check if the level-pack room size is supported, and refuse to run if not. PC version could easy support rooms 38x32 and less, so Palm levels could be played on PC drod if such version supports this.
If you make those levels and a working DROD for the Palm that plays them, I can almost guarantee we'd update DROD to support the smaller room size. The room data is already stored with column and row count information. It's just a matter of updating our display code.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
05-27-2003 at 11:16 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
i will look into this, but so far i see the only way to store data on a Palm is in a database. there has to be a way to have just a simple txt kind of file, but i'm not sure yet.

the problem with dbs is that each row has to have the same fields: same number of and same types.

that means if i want to have a string (name of the level) in the database, each record (row) will have to have a string. right now i have level names in a separate db, and the level db format is such as the following:
integer | integer
--------+--------
1       | 0       // number of rooms, 2nd int is unused
0       | 0       // 1st room, the only one in this level
7       | 12      // 1st room tile; 1st int = kind of tile, 2nd int = contents (player, monster, orb, etc.)
...


i designed this format before any consideration for a cross-platform compatability, so obviously it's not good for other DROD versions.

i will research more about DROD data storage, and report back here.

meanwhile, could u or Mike himself post the specification for his format?

[Edited by shurcooL on 05-28-2003 at 03:31 AM GMT: it's Mike, sorry]

____________________________
Thanks,
shurcooL
05-28-2003 at 03:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
shurcooL wrote:
i will look into this, but so far i see the only way to store data on a Palm is in a database. there has to be a way to have just a simple txt kind of file, but i'm not sure yet.
There has to be some XML-parsing libraries for the Palm. XML was made for passing data around between different platforms. You probably want to translate the XML into data structures that are optimal for performance on the Palm. Just like for the PC we keep our data in a format that has good performance. So I would think in terms of two formats--the "universal" XML format that we've already got and the "optimized" format that you invent for the Palm.
meanwhile, could u or Mike himself post the specification for his format?
The schema is defined in this file:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/drod/Caravel/DRODLib/DBProps.h?rev=1.19&content-type=text/vnd.viewcvs-markup

The lines that begin "DEFTDEF" are table definitions.

Also, if you download the kitviewer, you can open up drod1_5.dat and look at the contents on a Windows PC. The kitviewer is here:

http://www.equi4.com/pub/kv/

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
05-28-2003 at 06:27 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
ross
Level: Delver
Rank Points: 30
Registered: 05-17-2003
IP: Logged
icon Re: universal DROD level standard? (0)  

There are a couple of XML parsers for the Palm but they are mostly in Java. The problem is generally that XML is fairly large and doesn't fit into the PDB model (which looks like GDBM or the Berkeley Database.)

I have a feeling that your best bet is likely to be an export from the .DAT files to PDBs somewhere along the line and just pack those bytes as tightly as possible :)
05-28-2003 at 07:49 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
i'm not planning to have original DROD levels on my palm, since the max room size is 24x19 tiles. i just wanted to make it all as compatible as possible, but since Palm is not so XML friendly, i'm not so sure anymore. =\\

can i have the *.xml file for any DROD level? the kitviewer app gave me nothing more than just some numbers... not really sure how to work it.

it's a lot easier to look at the xml file to understand the format, than to look at source that reads it. =T

____________________________
Thanks,
shurcooL
05-28-2003 at 04:35 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
shurcooL wrote:
can i have the *.xml file for any DROD level? the kitviewer app gave me nothing more than just some numbers... not really sure how to work it.
I have to do some work to get it to you, and I'm off DROD stuff for the rest of the week. Will e-mail it to you a bit later.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
05-29-2003 at 11:05 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
all right, that's cool.

since i guess Palm isn't that flexible when it comes to data storage, i will have to use dbs... nevertheless, we can still make it compatible. i just need to know all the data (and probably in what order it's saved too) that a level xml file contains, and that's all.

the xml file u'll send me whenever will do just that, so i'll be waiting for it. meanwhile, i'll be working on a led (level editor) for Palm.

____________________________
Thanks,
shurcooL
05-30-2003 at 12:25 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
shurcooL wrote:
integer | integer
--------+--------
1       | 0       // number of rooms, 2nd int is unused
0       | 0       // 1st room, the only one in this level (the offset is 0,0)
7       | 12      // 1st room tile; 1st int = kind of tile, 2nd int = contents (player, monster, orb, etc.)
...

now, the first record, 2nd field will be used. it will contain the room number that has the player start, so that at the beginning of the level it wouldn't have to look through all rooms, trying to find the spawn. also, makes it easier for level designers, since they can easily change starting room.

on the other hand, the level editor could just shift the level so that the starting room would always be at (0,0) offset. hmm...

btw, any1 has any ideas how i can take ss off my palm? i guess i'll have to use my digital camera, but i'm too lazy... =\\

____________________________
Thanks,
shurcooL
05-30-2003 at 06:50 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
hmm... it's been quite a while now, and i don't think i got ur email yet. definitely more than a week.

on another note, i've changed my format a bit. all i did was added another column (3rd one) of type string.

what will it be used for, you ask. well, 1st rec will contain the level name in its 3rd field. and some tiles will also have something in their 3rd field. it depends on the tile. an information roll tile will have the information. an orb will have a script in there, so that it'd know what to do when a player strikes it.

on yet another note, i think i will make a version specifically for the Zodiac. it's a new portable device (very small, much smaller than a gameboy advance) that uses the Palm OS and was designed from ground up for gaming and entertainment. it has some pretty powerful specs, and a good price (as opposed to say, Sony ;) ). most importantly, it has a 320x480 screen, allowing me to easily make my level much more larger (by 1.5x). oh, and it also has a built in analog joystick controller, plus 4 big buttons... that's much better than the 6 that a standard Palm has (need 8 buttons just for the movement - or, in this case, a joystick).

here's a pic of it...



what do u guys think? :D

____________________________
Thanks,
shurcooL
09-24-2003 at 09:40 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
shurcooL wrote:
hmm... it's been quite a while now, and i don't think i got ur email yet. definitely more than a week.
Sorry, I did say I'd get you something.

If you export from DROD:AE, you will have files that are ZLib-compressed XML. Decompress them with ZLib 1.1.4. Code for this is found in drodutil source at http://www.sourceforge.net/projects/drod. There is apparently some error in the drodutil decompress code right now, and I don't have time to debug it. Otherwise I would have posted some XML files for you to look at.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
09-24-2003 at 10:58 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
Schik
Level: Legendary Smitemaster
Avatar
Rank Points: 5526
Registered: 02-04-2003
IP: Logged

File: test.hold (6.4 KB)
Downloaded 207 times.
License: Other
From: Unspecified
icon Re: universal DROD level standard? (0)  
What's the problem with the decompress? Attached is a decompressed, very simple hold - one level, one room, it has a few monsters in it and an orb with actions associated with three different doors.


____________________________
The greatness of a nation and its moral progress can be judged by the way it treats its animals.
--Mahatma Gandhi
09-24-2003 at 11:06 PM
View Profile Send Private Message to User Show all user's posts High Scores Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
Schik wrote:
What's the problem with the decompress? Attached is a decompressed, very simple hold - one level, one room, it has a few monsters in it and an orb with actions associated with three different doors.
Oh wait, I was doing something dumb without thinking about it. It works fine.

Note to Schurcool: Anything you see that is like "MAYQBuACcAdAAg"--that is base64-encoded data.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
09-24-2003 at 11:20 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: Re: universal DROD level standard? (0)  
Schik wrote:
What's the problem with the decompress? Attached is a decompressed, very simple hold - one level, one room, it has a few monsters in it and an orb with actions associated with three different doors.

did u forget to attach the file? :P looks that way. ;) hehe.

ps. what do u guys think about the Zodiac? no comments at all? :~)

edit: never mind, although that's an unusual place to put an attached file. :eyes

now, if i can only figure out how to decode the base64-encoded data. :) /me heads off to google.

[Edited by shurcooL on 09-25-2003 at 12:32 AM]

____________________________
Thanks,
shurcooL
09-25-2003 at 12:29 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5458
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
You can use the base-64 decoding routines in BackEndLib/Decode.cpp (or was it called Encode?).
09-25-2003 at 12:43 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
mrimer wrote:
You can use the base-64 decoding routines in BackEndLib/Decode.cpp (or was it called Encode?).
I don't see either one in BackEndLib. But I do see it Base64.cpp in DRODLib1.5. I've found a pretty good online php script to simplify the process though. :)

Ok, now all that's left is a standard 'blueprint' for creating/reading all hold XML files. Thanks to Schik's sample, I figured out the simple things, such as Monsters, Orbs, Scrolls, and so on. But I still have no clue what the rest of the things are, like GID_OriginalNameMessage, GID_PlayerID, LastUpdated, LevelID (how is this used?), HoldID, RoomID, and so on. In order for this to work, I'm going to need 101% detail on the level format, as well as some things on how it's loaded (come on, if this weren't your own code, would pszOSquares make any sense to you; it's not that I can't eventually figure everything out just by looking at the source code, it's that I'd prefer to not waste too much time on this, and get right to the important things).

So if someone who knows the level format inside out would like to offer me some help understanding it, as it is quite a complicated format (and there's no way I can figure out every single detail from the tiny sample; also, there are things I would like to talk about regarding cross-platform compatibility), I would really appreciate it.

My MSN Messenger is shurcooL@hotmail.com, ICQ = 136139838, and AIM is shurcool41. Please add me to whatever's more convinient for you. I'm always on on all three, thanks to Trillian.

Thanks in advance,
shurcooL (still alive and kicking :), only thing that's changed is I've grown up and started using capitals :P)

____________________________
Thanks,
shurcooL
11-10-2003 at 03:09 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
shurcooL wrote:
Ok, now all that's left is a standard 'blueprint' for creating/reading all hold XML files. Thanks to Schik's sample, I figured out the simple things, such as Monsters, Orbs, Scrolls, and so on. But I still have no clue what the rest of the things are, like GID_OriginalNameMessage, GID_PlayerID, LastUpdated, LevelID (how is this used?), HoldID, RoomID, and so on.
Whenever you see a field name ending in "ID", it is either a primary key or a foreign key. If the field name begins the same way as the table name it is in, (i.e. "HoldID" field in the "Holds" table) then this is a primary key, and serves to uniquely identify the record inside of the database. Otherwise, the field is a foreign key, meaning that it references a record in another table. So in the "Demos" table, you find a "SavedGameID" foreign key. It is used to associate one "SavedGames" record with one "Demos" record.

If field name is prefixed with "GID_" then values from this field along with any other fields in the table prefixed with "GID_" will together uniquely identify a record across *ALL* installations of DROD.
In order for this to work, I'm going to need 101% detail on the level format,
No, no, no. We don't have time for this! :) You just gotta do some detective work and ask specific questions when you get stuck. This is the nature of volunteer open source projects. If we were all on the payroll at a giant corportation, it might be different.

I don't want to discourage you. Just tell me exactly what you need to know (with a little buffer of figuring-it-out-yourself) and I will do my best to give it to you.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
11-10-2003 at 05:40 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
All right, fair enough.

I might not do it in the exact same XML format, there are still lots of factos I have to consider (how will 10x10 tiles look on a 3.8" screen, and so on). Also, there are some major design differences between the PC and the Palm versions. For example, the PC version saves the room you're in, and which rooms you've already cleared out. Palm games, due to the nature of mobile app etiquette, need to be able to instantaneously save the current game state and quit. So I still have some planning to do.

So let me get this straight. Save games, demos, and the levels themselves, all go into the hold XML files? What other dynamic information is stored there, and what isn't, if any? By dynamic I mean anything that's changing (for example, save games, or control settings), as opposed to, say, sounds, which are never modified.

Also, seeing how I've been away for quite some time, could you please briefly tell me what's currently going on? What are you now working on, etc.?

Sorry to bother you so much.

PS. Thanks for the fast reply.

____________________________
Thanks,
shurcooL
11-10-2003 at 06:09 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
shurcooL wrote:
So let me get this straight. Save games, demos, and the levels themselves, all go into the hold XML files?
Yes, but probably not how you are thinking. Demos that are marked by a hold author to be included in the show sequence (Click "demo" button from title screen) are included in the hold XML file, but other demos aren't. This is to allow a hold author to distribute some demos with his hold that will play from the title screen. Every demo record always has a saved game record associated with it, so any saved game records found in a hold XML file will belong to demos that go in the show sequence.
What other dynamic information is stored there, and what isn't, if any? By dynamic I mean anything that's changing (for example, save games, or control settings), as opposed to, say, sounds, which are never modified.
I don't think any dynamic information as you describe it is stored in the hold xml file.
Also, seeing how I've been away for quite some time, could you please briefly tell me what's currently going on? What are you now working on, etc.?
Well, we released DROD:AE on Windows and Linux. Check out the News board for more details about that. There's some work being done on the next release. I'm purposively not saying much about it at this point, mainly because I don't want to be a silly hype-monster. This stage of the project is in closed development to help us make some money when we release. All the source will be made available simultaneously with the product release.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
11-10-2003 at 06:46 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
levelthirteen
Level: Master Delver
Rank Points: 109
Registered: 02-20-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
wrote:
You should look at Mike's export format. It's a completely self-contained XML description of the data. He's defined a format for exporting room/level/hold, player settings, and demos. It's zip-compressed for safe and efficient transfer. There's working source code for it now.
-Erik
How is the squares attribrute in *.hold files generated? (e.g. Squares='AgEAGwACAQAcAAEEAAEKAAEBAAIBACAAAgEA(and about 6000 more )AeAA=='>
)
How is the Commands attribrute in *.demo files generated? (e.g. Commands='CGEHJAceBwMHAwcDBwMHAwcD(and about 500 more)'/> )
And why *pBuf = ~*pBuf; //flip all bits?
thanks
____________________________
I'm trying to create demos for some of the "Longest Room" entries; anyone got an easier plan then creating win.demo files from scratch?
11-18-2003 at 05:40 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
levelthirteen wrote:
How is the squares attribrute in *.hold files generated? (e.g. Squares='AgEAGwACAQAcAAEEAAEKAAEBAAIBACAAAgEA(and about 6000 more )AeAA=='>
That's a base-64 encoding of a format describing the contents of a square. In dbrooms.cpp of the drodlib project you'll find code that defines the format of the squares. It's not a plaintext format, but it is not hard to understand once you look at the code for it.
How is the Commands attribrute in *.demo files generated? (e.g. Commands='CGEHJAceBwMHAwcDBwMHAwcD(and about 500 more)'/> )
See DbCommands.cpp for the format. CDbSavedGame::UpdateNew() contains the calling code that gets the commands in one buffer ready for storage. Again, the data is converted to base-64 when it is stored in the XML file.
And why *pBuf = ~*pBuf; //flip all bits?
thanks
I'm not sure which place you're talking about here, but we use this technique to make protected files difficult to use outside of DROD.
I'm trying to create demos for some of the "Longest Room" entries; anyone got an easier plan then creating win.demo files from scratch?
Maybe. Could you describe what you're doing more?

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
11-18-2003 at 07:14 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
levelthirteen
Level: Master Delver
Rank Points: 109
Registered: 02-20-2003
IP: Logged

File: preDemoShort.demo (3 KB)
Downloaded 148 times.
License: Other
From: Unspecified
icon Re: universal DROD level standard? (0)  
ErikH2000 wrote:
See DbCommands.cpp for the format.
-Erik
A demo of Snake Spiral, starting on the 586183th move.
11-22-2003 at 08:08 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
levelthirteen wrote:
A demo of Snake Spiral, starting on the 586183th move.
Okay, I get what you're trying to do.

If you can do some C++ coding, the easiest thing is code like this:

CCueEvents CueEvents;
CDb db;
CCurrentGame *pCurrentGame = GetSavedCurrentGame(SAVED_GAME_ID, CueEvents, true);
//How to get SAVED_GAME_ID - While playing DROD, walk into
//your new room. this will create a saved game. Open up
//drod1_6.dat with kitviewer and find the the ID value of the
//last saved game row.

//Record a demo where player moves west three times.
pCurrentGame->BeginDemoRecording(L"LevelThirteen's Demo" ) ;
pCurrentGame->ProcessCommand(CMD_W);
pCurrentGame->ProcessCommand(CMD_W);
pCurrentGame->ProcessCommand(CMD_W);
pCurrentGame->EndDemoRecording();

delete pCurrentGame;

To get all the includes and project setup stuff right, see DRODUtil for examples. I think this is much easier than writing a standalone program that writes out in the export format.

-Erik

[Edited by ErikH2000 on 11-22-2003 at 06:18 PM GMT]

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
11-22-2003 at 06:12 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
DiMono
Level: Smitemaster
Avatar
Rank Points: 1184
Registered: 09-13-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
First of all, that palm device looks cool, and if it does 320x480 you should be able to get a 38x32 screen on there with little trouble, other than perhaps visibility. I don't want to think about how small the squares will be on a screen smaller than that of a GB Advance. If I ever get a palm device, I'll find one that's compatible with your DROD port.

On a note related to porting, and it might be worthwhile to split this to another thread, has anyone thought about porting it directly to java, to make it platform independant? I've got a java course coming up next term, and a small army of java books on my bookshelves, so if this is happening I'd probably be willing to help, time allowing.

____________________________
Deploy the... I think it's a yellow button... it's usually flashing... it makes the engines go... WHOOSH!
12-14-2003 at 08:19 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: DROD on Java (0)  
DiMono wrote:
On a note related to porting, and it might be worthwhile to split this to another thread, has anyone thought about porting it directly to java, to make it platform independant?
With Java we could get DROD to run on other platforms without porting work, but it would run slower, and more and more we are finding that we need the speed.*** So for the Caravel project at least, I prefer our current approach of using cross-platform libraries and doing some porting work for each platform.
I've got a java course coming up next term, and a small army of java books on my bookshelves, so if this is happening I'd probably be willing to help, time allowing.
You know, I wish somebody would make a DROD variant. It is cool to see DROD on other platforms, but there is a lot of room for a different kind of game that has some of the same elements. DROD with 4-way scrolling. DROD with line-of-sight lighting. DROD with lasers and deflectors. DROD with multiple stories in one level. Multi-player DROD.

I guess my feeling is that a C++ to Java port is really a rewrite not a trivial port, so a lot of effort will be involved. You would produce results somewhat redundant with the Caravel version, and probably not as good because of performance issues. That doesn't step on my toes or anything, but why not invest the same time into making something really new?

-Erik

*** It doesn't seem like speed is so important for a game like DROD, but game logic calculations and screen updates have to be made with each keypress, and ideally we allow around 60 commands/sec for the times when the player is zipping along holding down the key. Restoring games involves silently playing back all of the commands in a game, and there are already some places where you will need to wait several seconds for the restore to perform. So speed is important.

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
12-14-2003 at 09:29 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
DiMono
Level: Smitemaster
Avatar
Rank Points: 1184
Registered: 09-13-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
Erik said:
You know, I wish somebody would make a DROD variant. It is cool to see DROD on other platforms, but there is a lot of room for a different kind of game that has some of the same elements. DROD with 4-way scrolling. DROD with line-of-sight lighting. DROD with lasers and deflectors. DROD with multiple stories in one level. Multi-player DROD.
Well, isn't DROD basically a graphical roguelike anyway? Coolest redesign I can think of would be to have the entire level as one room that scrolls as Beethro walks, but this would be REALLY difficult to design levels for, for the obvious reason.

I've been planning to make some little puzzle game for quite some time now, maybe I'll kick around DROD mechanics and see what I come up with.

____________________________
Deploy the... I think it's a yellow button... it's usually flashing... it makes the engines go... WHOOSH!
12-15-2003 at 08:12 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
shurcooL
Level: Delver
Rank Points: 40
Registered: 04-26-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
DiMono wrote:
First of all, that palm device looks cool, and if it does 320x480 you should be able to get a 38x32 screen on there with little trouble, other than perhaps visibility. I don't want to think about how small the squares will be on a screen smaller than that of a GB Advance. If I ever get a palm device, I'll find one that's compatible with your DROD port.

Actually, the visibility isn't all that bad, according to a guy I asked to test it. The screen on the Zodiac is actually quite large. It's 3.8" (diagonal), as opposed to GBA SP's measly 2.9".

In order to fit the standard 38x32 rooms, I'd have to sqish the tiles from 14x14 pixels down to 10x10. To get an idea of what it'll look like, here's a scaled down picture. Keep in mind this'll be on a 3.8" screen, and that the tiles will be either redone or fixed up (I just quickly resize the original picture in Photoshop).



This is how it'd look if the tiles weren't downsampled (kept the original 14x14). This way, I can have rooms up to 32x22 tiles big, if I were to leave no space for a HUD (IE. place everything on top of the level instead, like they do in FPS games; although this would create unnecessary view-blocking problems).

http://members.rogers.com/shurcool/Zodiac_DROD_original_size.jpg

ErikH2000 wrote:
You know, I wish somebody would make a DROD variant. It is cool to see DROD on other platforms, but there is a lot of room for a different kind of game that has some of the same elements. DROD with 4-way scrolling. DROD with line-of-sight lighting. DROD with lasers and deflectors. DROD with multiple stories in one level. Multi-player DROD.

I'm really intrigued by that idea and wanna do something new. I might as well try it. Have you heard of a game called Nethack? It's an RPG of some sort, originally ASCII-based (now they made graphical extensions), and it encorporates line-of-sight quite nicely. When you enter a room, it gradually reveals tiles as you go in. Something like this may work in DROD, or it may not. The levels will need to be made specifically with this in mind.

Multiplayer? Sounds like a great idea (especially since Zodiac comes equipped with Bluetooth, enabling up to 8 devices to interconnect), but not without things to consider. How will the turn-based-movement thing work? Will one have to wait for the other player(s) to make their move, or will each move independantly? The levels, once again, will have to be made for more than one palyer.

In the end, these new concepts may work out to enhance the old DROD gameplay, but incorporating them will take a fair bit amount of time and resources. So I'll think about this once I get closer to completion. As of now, I'm still waiting for them to resolve international shipping (it's US-only ATM) so I can get the device. So I'm working on my other little PC game, with a quite unique gameplay, and not without its fair share of gameplay-design problems/uncertainties.

Trust me, nothing's worse than a lack of imagination when you're trying to make (vs. port) a new kind game. :( :?

____________________________
Thanks,
shurcooL
12-31-2003 at 06:59 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2810
Registered: 02-04-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
shurcooL wrote:
In order to fit the standard 38x32 rooms, I'd have to sqish the tiles from 14x14 pixels down to 10x10. To get an idea of what it'll look like, here's a scaled down picture.
It looks okay. The small text doesn't bother me, but who knows how it will look on the screen. Personally, I'd keep 14x14 and have less squares in the room.
I'm really intrigued by that idea and wanna do something new. I might as well try it. Have you heard of a game called Nethack?
Sure, I know Nethack. It would be an interesting challenge to write a dungeon generator that sets up tactical problems for Beethro to solve. If you moved away from pre-designed puzzles, you could introduce many more power-ups into the game that so far have been avoided--i.e. giving Beethro a sword that is two squares long.

BTW, there is one guy here (Eytan Zweig) who wrote a variant of Angband (Eyangband), which you might know is quite similar to Nethack.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
Decent Apps - open source tools for writing and deploying privacy-focused LLM-based web apps.
12-31-2003 at 07:12 PM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
DiMono
Level: Smitemaster
Avatar
Rank Points: 1184
Registered: 09-13-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
If you dig around online for a short while, you'll run across a game called ADOM, which is short for Ancient Domains, I think. It's a roguelike that uses line of sight, and implements it pretty well. If it's open-source, you might be able to borrow some code.

____________________________
Deploy the... I think it's a yellow button... it's usually flashing... it makes the engines go... WHOOSH!
12-31-2003 at 08:08 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
jdyer
Level: Smiter
Rank Points: 331
Registered: 03-19-2003
IP: Logged
icon Re: universal DROD level standard? (0)  
DiMono wrote:
If you dig around online for a short while, you'll run across a game called ADOM, which is short for Ancient Domains, I think. It's a roguelike that uses line of sight, and implements it pretty well. If it's open-source, you might be able to borrow some code.

It isn't. The author wants to keep the secrets in the game secret, rather than have people write FAQs based on cribbing directly off the source code. (That's one reason I haven't got terribly deep into Nethack.)

However, the author did right a mini-roguelike called QHack with source available that may include the line-of-sight source, so take a look.
02-19-2004 at 06:07 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : Development : universal DROD level standard?
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.9
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.