network feature in any oncoming clones?

Lesser known clone projects or isolated news items about rare or unusual clones.
Forum rules
Please read the Forum rules and policies before posting.
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

network feature in any oncoming clones?

Post by zoom »

I would like to ask what the plans for "networks" in
some of the clone projects are . (if any exist..)

would be fun to play a network dm ..at least I think it
could be cool and should maybe given a try.
(there is one clone for some weird machine -that's very old btw- that had a split screen
http://dmweb.free.fr/?q=node/803
Master of chaos)


ANy thoughts?? plans? worries?

ps. could be that dungeon master works just fine as a single player game..
User avatar
Gambit37
Should eat more pies
Posts: 13714
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Post by Gambit37 »

Kentaro had a proof of concept program working but I can't seem to find a link for it anymore...
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

I confirm it now, before anyone suggest it to me:

Dungeon Master 2.5 will not support multiplayer.

Reasons:
1) Hard to implement co-op and deathmatch in the setting of traditional non-multiplayer Dungeon Master.

2) Optimizing the network code will result in long long development time.

3) Graphic-wise - you'd need additional character images for each champion etc.

If I'd want to do a DM multiplayer, I'd rather try to port HG to windows.
Tom Hatfield
Ee Master
Posts: 688
Joined: Mon May 07, 2001 7:00 pm
Location: Indiana, USA
Contact:

Post by Tom Hatfield »

1. I think deathmatch (that's a Doom term) is silly in a setting like DM unless you're specifically pitting two sides against each other — which, by the way, could make for a fascinating dungeon design. The whole point of DM is co-op, which is mind-numbingly simple to implement from a conceptual standpoint. If everyone is going for the same goal, you only need one goal, right? Think Diablo II and you can't go wrong. Halo is another great example.

2. The term "optimizing" is relative and generally meaningless. You can optimize anything, but that doesn't mean you have to. If it works, don't mess with it. If it doesn't work, then obviously you need to fix it before you can think about optimizing it. What's hard about writing a network component is that it takes defensive programming to the extreme. It's like file I/O except you have to read/write a specific amount of data at any given time, the read/write can be delayed invariably, and your hard-drive can drop out at any time.

3. Graphic-wise, that's not necessarily true. Every player in Doom and Quake looked exactly the same except for the different colored outfits, and it looked just fine. Nobody cared because they were too busy playing a game. Of course you can have different images for each character, but it's only for flavor and therefore superfluous.

Nevertheless, I sympathize with your decision not to do any network programming. I made a couple brief attempts at learning Winsock, and it gets ugly. Even the simplest application looks messy once you start talking over a network. I wrote a program that operated as both client and server, using separate forms for each. I got as far as getting it to connect, and I gave up. It was just too complicated. And that was using a Winsock control, which is far easier than the DLL!

Anyway, I would love to do a multiplayer DM-style game (I can't say clone because it wouldn't function much like DM at all except in the cell-based movement and rendering, and we don't call Lands of Lore a clone), but as a practical matter, software development takes a long time, game development even longer, network game development longer still, and I haven't been able to get anything done in over three years. The last project I almost completed was far simpler than DM. I started over five times and never finished because my motivation dried up.

Mostly I talk about it just to dig up interest and find inspiration, but nobody really knows where inspiration comes from — it's a part of psychology that people still don't understand — so I may be running a fool's errand.

That's not to say DM-MP won't exist, but it will be eventual, and it may take a very long time. It's likely we'll give up hope long before it happens. And for the record, making a split-screen game is far easier than networking, if your GUI readily supports it. That's not to say it's easy per se, but we're talking bass fishing versus marlin fishing. I was planning to design my GUI such that split-screen would not only be feasible but simple. We'll see what happens.
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

1) I think that Masters of Chaos is pure DM Deathmatch (but I could be wrong). Plus. It also worked with Hired Guns. Coop DM would require specially modfied maps, cause there would be far too many 'choke-points' where the one party would seal off the second one.

2) When it comes to networks... I agree with all what you've said. It's very frustrating to get the net code simple and efficent. I don't think that all people use DSL nowadays, so DM-Multiplayer should be optimized for modem play. The question is... how to cut down the data being/sent recieved to make modem play enjoyable while maintaining all of the DM functions?

3) Again. Hired Guns. Besides... in Quake the introduction of various mods and later Quakeworld made people make their own skins. Shoot me, but people like eye-candy. Myself included.

I agree. Winsock is hell. I'll try exploring SDL_Net component capablitieis, but at this point I'm more interested in harnessing SDL graphic power rather than its other functions


The ONLY DM-themed game that would look great on multiplayer is... Hired Guns. Mostly because - it's simplistic AI, simplistic gameplay, simplistic controls. Everything is kept at simplicity and so - I think that a network would be possible...

BUT.... the mechanisms for HG are still unknown and it would take titanic work to make a network/Windows port.
User avatar
Sophia
Concise and Honest
Posts: 4239
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

I actually had some delusions of a mp DM, but, of course, there are just so many considerations. I've written a network game before, so Winsock doesn't bother me much, but the main obstacles I see are:

Keeping the games synchronized. This is the big one, of course, and the problem that plagues every network game. Going with a 'dumb' client might solve some of these problems, but then it requires much more data to be sent, and becomes a bit less tolerant of network latency or packet loss issues. The other way, of course, is to put them on the same random seed and have them pretty much in lock-step, but independent. The problem with that approach one loss of sync can be catastrophic. :) Something in between would have to be figured out, and the issue of where to make the compromise is always the big question...

Keeping the "DM feel."

What about other considerations, like a party with a light spell-- the DM renderer isn't really designed to show something brighter in the distance than close up.

Ugh. It feels like it'd almost have to be a completely different game. :)
Foz
Novice
Posts: 11
Joined: Thu Jan 11, 2007 9:47 am
Location: Manchester, UK
Contact:

Post by Foz »

That's because it *would* be a completely different game.

Out of curiosity though, if a DM clone was to implement multiplayer, just how would people envision it to work?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Probably as ecribed, either you would have two or more parties that could interract with each other as if the opposing force were a four group of friendly monsters (so you could attack them, or could walk along with them and play the same game) or you might end up being able to assign up to four people to play in the one party, in a co-op game

Or, as Suule has said, perhaps a hired guns idea where each party member is now on their own, takes up one tile, and you walk along the dungeon like that

I odn't think it would be a totally different game in feeling, it would just require a totally different core engine (one that could assign your views based on the illumination on a tile, not up the parties/global illumination as you get close to light sources
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

Well that's why I suggest porting HG, instead of bending DM to multi-player.

As for the lightning... DM2 partially used that idea you posted.
User avatar
Sophia
Concise and Honest
Posts: 4239
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Foz wrote:That's because it *would* be a completely different game.
No, it wouldn't. Well, it could be-- but then, as I stated before, it wouldn't have that "DM feel." And what's the point, then?
beowuuf wrote:(one that could assign your views based on the illumination on a tile, not up the parties/global illumination as you get close to light sources
More to the point, if it's to look at all realistic, the renderer would have to be able to handle something glowing in the distance-- the DM wallset isn't really designed for that.
User avatar
MadMunky
Adept
Posts: 212
Joined: Mon Sep 27, 1999 3:06 pm
Contact:

Post by MadMunky »

1 Word, Bloodwych

Learn from the best :)

Though all the mapping in bloodwych i think was designed for multiplayer, still the way they did it all is i think how it should be done if someone was going to do a multiplayer DM, just need to make extra points on the maps for players to get past each other.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

Sophia wrote:
What about other considerations, like a party with a light spell-- the DM renderer isn't really designed to show something brighter in the distance than close up.
hm. it could be really a hard work to do that with DM engine. BUT. It is not necessarly. Such a tremendous task to do for a minimal advantage. Each player could have his own light factor independently, due to his light sources/magic spells. So if you don`t have any torches etc. (=you`ve got a dark screen) and meet a player with the torches and light spells, you won`t see anything special (like light sources). Just another player in the darkness. I know it wouldn`t be very realistic. But we could name the torches "magical torches" (magical - gives the light only for a player that use it). The same for a magic spells, illumulets, fireballs, black flames etc. Every player cares about his own light. ;) The players wouldn`t even notice that. How would you know if another player wears 6 torches or not? How would you know if he uses a light spell or wears illumulet at the moment? If I was playing mpDM, I wouldn`t care about it. I would just assume that he`s got identical light factor as me.
BTW: is there any multiplayer game, where light factor changes in a non-independent way (I don`t remember how it was in HG and I don`t know how it was done in Master of Chaos - hight time to get an ST emulator!).
But then, the "darkness" spell in MP would affect only to the monsters (BTW: what is it for?? If you want a darkness, you just stop using the torches!).

As for the party`s bitmaps: the game could use only one bitmap (player`s bitmap). A party could be shown as an obvious, four-elemental monster (like a mummies or skeletons). One monster = one party member. So when a party contains of three members, it should be shown like three skeletons on one tile. One difference: if there`s only one member in a party, it could never be shown in a center of a tile (it`s not possible to put one party member in a center in DM; there are only NW, NE, SW and SW positions).
If the player uses "invicibility" spell, it should be invicible for the others.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

HG had no lightning levels.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

if you kept the limits of players per dungeon, handling multiplayer and designing for it might not be so bad. Keep it to say 4.. but the thing is you can go different ways. Keeping in mind that DM is a tile based game with a maximum of 4 facing directions and a map that is constant. as long as both players have the map locally you just need to send update information for things pressed and the facing of the player.. monsters and spells which can all be treated the same.. I think where it becomes an issue is fighting, as you need to transfer the data about the hit or not..

keep in mind I'm a coding moron so I think in terms of scripting. Something I may attept in this case is to give codes like
"p01 h-20" for player1 subtract 20 health. so if you know the first part always denotes what is affected and then read the second part as effect. your engine only needs to interpret the few characters sent to it. so I would think anyway.. but again.. I'm just a dumb artist.. but those are my thoughts.

also thinking in terms of just sending the amount of damage rather than the updated health.. it means you can have two people attacking at the same time as it's only sending what to add or subtract..

hmm.. but random thought here.. what happens if on player1's computer he slices to kill but on player two's computer he's drinking a potion of health? I suppose if it's just sending player -10 from one side and player +30 from the other side.. but the other player will go poof as a dustcloud but still be alive :P

if I make any sense at all..

anyway.. aside from my random thoughts... I always thought of "light magic" as a group spell to allow us to SEE in the dark.. as opposed to illuminating.. since all the monsters seem to find us well enough in pitch black.. :P So the fact you can not see them lit up far off doesn't really matter
Tom Hatfield
Ee Master
Posts: 688
Joined: Mon May 07, 2001 7:00 pm
Location: Indiana, USA
Contact:

Post by Tom Hatfield »

Ah, some fine points.
Coop DM would require specially modfied maps, cause there would be far too many 'choke-points' where the one party would seal off the second one.
Not necessarily. If a character takes up only a small portion of a tile (one quarter), then as a practical matter you could allow him to pass through up to three characters on any given tile. Working out the specific mechanics for this would be . . . interesting, let's say, but doable.

This would require some diagrams to visualize. I don't feel like mussing in Photoshop right now. Bottom line: when a player moves onto another player's tile, he occupies the first free quadrant closest to his present quadrant (so mages can stay in the back row if there are any back row slots free). Tile occupant retains precedence and will never be pushed out of his position; visitors must take the back seat until they leave the tile.

Players can change position if they're in agreement. Simply drag your icon to the desired spot, and the player there will be notified. He can then drag his own tile to your spot, and the switch is made. Or something like that. The specifics of how this mechanic is implemented are left to the designer's imagination.
The question is... how to cut down the data being/sent recieved to make modem play enjoyable while maintaining all of the DM functions?
Two words: relevant data. Send only what each client absolutely needs. One more word: compression. Both these practices are in wide-spread use and have become de facto for network programming. Again, we're left with the problem of implementing it.
Shoot me, but people like eye-candy.
Agreed. I'd definitely want to have separate bitmaps for each character. I was merely pointing out that it's avoidable.
Keeping the games synchronized.
Not an issue. Keeping computers in sync is the easy part. Doing it in a timely manner is where the problem lies. The lock-step approach you described is called a peer-to-peer mechanism, as you probably know. It's what the original Diablo used and in general is a really bad idea. (The sync problems in that game were horrendous.)
What about other considerations, like a party with a light spell--
Always a concern of mine, only because you'd need a relatively sophisticated lighting engine. In a true 3-D engine this is simply a matter of adding a couple more lights to the scene, but in two dimensions the algorithms become ugly. It falls in the same category as rendering more than three or four cells out, which is a DM limitation I'm forever eager to circumvent. I like being able to see.
Out of curiosity though, if a DM clone was to implement multiplayer, just how would people envision it to work?
We've discussed this before. The possibilities here are endless. This depends entirely on how you want your game played.

Purely cooperative: there's only one set of objectives, and everyone is striving to complete them at the same pace. One key for each locked door; when it's unlocked, the key disappears, and everyone can move through it. No matter who completes what objective, no one risks being left behind.

E.G., Most co-op games are like this. Halo was like this, plus it conveniently teleported you.

Loosely cooperative: there's one set of objectives, and an instanced copy of each item for every player. Only one player need find the key for a particular door, but if he/she decides to lock the door after moving through it (not possible in DM, but it is possible in DM2), other players will have to find the same key, most likely in the same spot. Instancing has been pretty popular in online games lately, but I think it detracts from the cooperative feel.

E.G., Serious Sam had instanced power-ups, which was really awesome, but otherwise was a purely cooperative game. Guild Wars is 100 percent instanced.

Loosely competitive: there are two or more sets of objectives, with each player or "team" of players competing to finish them all first. The objectives for each team are similar if not identical. Players may or may not interact within the dungeon itself, depending on how it's designed.

E.G., Think of two players running side-by-side copies of DM to see who can fuse Chaos fastest.

Purely competitive: same as above, but objectives contradict and possibly overlap each other. When one team completes an objective, this results in failure for the other team, and both teams move on to the next objective. Only the winning team scores loot, points, etc., for completing the objective, thus improving its standing in the game. Players may or may not interact in the dungeon itself, though in a purely competitive environment, interaction is the operative word.

E.G., This is the mode that most closely resembles good ol' deathmatch, though better examples are: CTF, Assault, Onslaught.

Of course there are other possibilities. These seem most pratical to me. Personally, I'd opt for a hybrid with pure co-op and pure competitive, with completely different dungeons for each mode.

E.G., I can't think of any pure examples for this type of hybrid. The closest I can come is No One Lives Forever 2, which had a single-player campaign and a co-op campaign that mirrored the SP levels but with very different objectives. It also had deathmatch, of course.

Cows and I seem to be on the same page regarding the relevant data set and sending only delta updates rather than absolute values (another standard in network programming).
your engine only needs to interpret the few characters sent to it.
When considering the size of your data for network latency issues, it's important that you don't send minuscule packets. They're more likely to get lost and slow your network down. I don't know what the minimum effective packet size is, and it changes with each system, but I think it's somewhere around 4000 bytes. Yes, you want to send deltas whenever possible, and compress them whenever possible, but you also want to cram as much data as possible into each and every packet, or you're suffocating your bandwidth.
hmm.. but random thought here..
You could implement a grace period before demise, where a "dying" player can drink a potion and heal himself before his ultimate demise. Thus if the server receives both messages within, say, one second, the player will end up with +10 health, thus being alive. In this case, how quickly you deal damage is as important as the amount you're dealing.

The zombie in Quake was like that, remember? You had to take it to -50 health within one-tenth of a second (one game tick), which could be done without rockets or grenades if two players were shooting it at the same time.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Lighting model:

You could keep the good old three steps ahead view, but each view is drawn both with the normal view and an independant additional lightning/darkening factor rather than a communal one.

So for example, where RTC simply draws the three views and then sticks a darkened/lightened channel over the top, the new engine would take each view, calculate the cumulative light level on that square, put the filterover the top and then draw it. The floor and ceiling would then become three strips that are independantly drawn. The black background bitmap would be lightened or darkened by the value of the fourth tile away (so you could tell there is some light source in the distance and an intensity but otherwise it's just a hazy blur to you, illunination in the distance isn't actually letting you see farther).

You'd have all the views drawn without the darkening built into the bitmaps as we have now, and instead of the light spells casting a global illumination, they cast local values on the tiles (100% spell value party tile, 80% all around, 40% say on adjacent tiles only from that). As RTC has now, there would be local point source too from torches, etc

The worst bit would, as far as I can see with unskilled eyes be working out if the illumination is blocked aroudn the party (wall in the way, door blocking, etc).
DSE
Lo Master
Posts: 364
Joined: Sat Mar 20, 2004 12:22 pm
Contact:

Post by DSE »

retracted
Last edited by DSE on Tue Jan 16, 2007 2:51 pm, edited 1 time in total.
User avatar
Parallax
DMwiki contributor
Posts: 424
Joined: Mon Aug 28, 2006 7:56 pm
Location: Back in New Jersey

Post by Parallax »

beowuuf wrote:Lighting model:
The worst bit would, as far as I can see with unskilled eyes be working out if the illumination is blocked aroudn the party (wall in the way, door blocking, etc).
I think one way of doing that would be to assign light levels from the source outward, with each illuminated tile lighting up the tiles adjacent to it only if it is open (i.e. not a wall, or a closed door etc...)

So for instance if there is a wall standing between you and a light source you would get whatever light found its way around the wall, but you would not benefit from direct illumination.

I'm not sure I'm clear. A picture is worth a thousand words...
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

I get what you mean - basically each tile projects a light number lower than itself (and I would assume highest numbers won so you avoid feedback). So if you were able to look directly into a room, then the light would say go L, L-1, L-2 as it stretched diretcly in. If there is a wall in the way, the ligth has to move around the pillar so takes a longerpath, hence degraded by the time it gels around But as with real life, you could still receive some illumination even if not directly in the path.
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

From what I'll be trying to implement in DM2.5 is the previously mentioned "lightning masks" for each tiles. With a 32-bit graphics it will be fairly easy to apply a solid black mask with diffrent alpha levels to simulate 'darkening' of the tiles.

It will be a long shot, but I plan to incorporate the same skinning engine RTC and CSBWin are using some time in the future. (This is "LOW" on my priority list)
Tom Hatfield
Ee Master
Posts: 688
Joined: Mon May 07, 2001 7:00 pm
Location: Indiana, USA
Contact:

Post by Tom Hatfield »

I don't think I'd bother with a mask, per se. I'd just adjust the color intensity of each tile based on its illumination. If you're using true 3-D and want to render quads (almost certainly viable even with the prototyping functions in Direct3D, however slow they may be, as you're not drawing very many quads; not sure what equivalent OpenGL or other libraries have), you can interpolate between the vertices for even more realistic lighting.

On the other hand, a light mask would give you bump effects if you wanted to render that in, which makes it a pretty good idea. The mask doesn't even have to be high resolution like the diffuse channel, because it's not as noticeable. (Most games, even modern ones, use bump channels one-half resolution of the diffuse texture.)

Now we talk about dynamic shadows. :) This can also be accomplished using static shadows masks since there are a limited number of directions the light can come from (thanks to the step technique). Plenty of room for neat interpolation tricks, too, though a basic step approach would be just fine for most people, I think. Of course you can also calculate shadows algorithmically. This was done rather successfully in Alien Shooter 2, a 2-D game, using only eight directional shadows for each object.

Well, I see we've stepped entirely away from the task of multiplayer. ;)
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

there is some theory based information on doing shadows in a 2D game for dynamic lighting on gamedev.net I think thats the site.. or maybe .com... anyway.. it's there.

I'd think doing the very very basic 3D engine would be most plausable result as your are still treating it like DM, you need less graphics, and you gain things like shadows and lighting almost for free in such a game.. anyone with a 3D card from even the 90s would be able to run your game at decent frame rates as you are doing next to nothing with it anyway..
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

Question: How basic?

And remember that DM have this wierd perspective problem...
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

I made a 3D render from the angle of DM long ago. back in 1999 actually.. and it worked out not bad for the most part.. seeing how it looked in true perspective as opposed to false perspective

but it wasn't that far off.. so yes, a basic 3D engine where you move from tile to tile same as dm, 90 degree turns, and just basic vertex light and simple texture maps. every wall is made of 2 triangles unless you have an alcove.. so I mean talk about low polygon counts
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

Ah OK. So prolly something that would run on Voodoo just fine I take. Keeping low poly count you say, with bitmaps for items/monsters? I suppose that can be done for standard dungeons. But when it comes to 'outside' this can really be a bother when it comes to Meshes. We should avoid 'Catacombs'* syndrome that make the outside levels look totally unrealistic

* I'm of course reffering to the SoftDisk EGA Wolf3d-like game.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

driving games just used cards for tree's and such.. since you only ever really saw them from the same angle.

as long as movement is limited in the same way DM currently does it.. then you can get away with textured trees just as you are seeing in Linflas' dungeon

this is really exactly like DM, just using a few faces to pull it off..
User avatar
Suule
On Master
Posts: 656
Joined: Tue Aug 09, 2005 11:42 pm
Location: Warsaw, Poland

Post by Suule »

I think we're talking about two diffrent things. I agree. Trees are a perfect example how to avoid using 3d polies, maintaing a HQ look.

But I was talking about the 'foliage walls' from DM2. Some of the vines 'stretch out' into the player's path making. I think it would be possible to overcome it by adding a few flat branch sprites that 'go from the wall' since in the 3D perspective we could adjust them so they'd be seen 'from the side, but not 'up front'.
Tom Hatfield
Ee Master
Posts: 688
Joined: Mon May 07, 2001 7:00 pm
Location: Indiana, USA
Contact:

Post by Tom Hatfield »

I wouldn't bother. You can use a 3-D API to render 2-D objects with all the benefits the API provides, in addition to whatever hardware acceleration you may get. The prototyping functions in Direct3D don't use batching and thus don't offer the raw performance benefits you get from using vertex buffers, but if you're drawing a small number of triangles, it really doesn't matter. I've done a couple hundred T&L quads (32-bit textures, some of them completely filling the screen) on an Athlon 550 MHz and TNT2 with noticeable slow-down, and the same program ran at full speed on a Pentium 1.3 GHz with a Geforce 2 GTS. My code was nowhere near optimal.

Is this the article you're talking about? I keep an edited copy of this myself. It's primarily for walls, but you can apply the concept to smaller entities. In a cell-based renderer like DM the rules change, and you have to work out the special cases, particularly with shadows being mapped across walls, but it is doable if you're willing to put forward the extra work, and a little bit of math.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

Yes that's the one, I figured sinec it's for a top view game initially the math would change, but some adventurous soul could figure it out based in their principle.

I think direct 3D in these cases should not be ignored as a usefull tool, since you can do the same old style, still get fast frame rates, true translucency, shading and lighting effects, etc all from the card. a simple voodoo card can do most of this stuff, and I doubt people now have much less than say a geforce 2 equivelent. so, as long as you stay away from pixel shaders you can still do things like bump mapping, environment mapping (for fake reflective survaces like water and metals), etc

and the thing is most of this is already documented fully with tonnes of example code so even the less skilled programmers can do it easily enough I would expect.

oh, also.. for simple creation of the more advanced shapes (columns and alcoves) there is www.milkshape3d.com which is a 20 buck program to make 3D objects with and has a link to several video tutorials.. it supports a wide variety of file formats for import and export too.. cheap.. easy..
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

Nice so far..
Then there is the possibility of forgetting network and other players and just taking enemy parties that are being controlled by the computer and have some more abilities then the normal monsters instead. (pick up stuff, open doors, heal,
standing in the way(banging into one another would act like walls for both the participants, so you get damage and them /their party as well; could be a means to get rid of disconnected enemy multiplayer parties as well...)
I think clone projects ultimately boil down to what you like versus what is doable..
Post Reply