overhead DM

Discuss your creative projects: game development, writing, film making or any thing else, fantasy related or otherwise! Talk about art you like, display your own artwork or stories, or offer help and insight.
Forum rules
Please read the Forum rules and policies before posting.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

any feedback is good.. we're resolving issues one at a time.. were doing 2x2 squares at the moments.. visibility is working(ish) imported DM graphics for objects directly.. doing monsters at an angle for the moment.. it's off of perspective but sort of works
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

Image
User avatar
Gambit37
Should eat more pies
Posts: 13714
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Re: overhead DM

Post by Gambit37 »

That is super great :-) I think you're on to something. Continue. :-D
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

I can only agree with gambit. :D
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Re: overhead DM

Post by zoom »

envision final game: how will it play

player controls up to four champions or one champion per player?

what will change if more characters are being played in terms of:
(ressources, multiplayer, Gui/controls, story)
---------------------------------------------------------------

what is it players do?
feeling wanted to convey, pace and scope of game


faithfulness to dm
what must be in it, what can be left out (why)
edit:(darkness/illumination or wounds?)
what can be altered, what must be altered (why)



extent of interaction with the dungeon
(impact of multiplayer setup)

interact:
pick up, place, throw,(talk?),
open close toggle:
pressure plates, doors. buttons, keys and keyholes
read wall text,

inventory:
item_management, equip, identify. organize stuff(find and search/ use)
eat food/drink, potion usage,


move:
walk/run/jump/stairs/pits/fake walls/teleporter/knocked back,
load?

combat:
attack, defend, heal, boost, retreat, evade/skip/sneak by
cast spell, use potions,
spells and spell effects, casting..
How do you aim? where is button to attack monster, ranged weapns?
<controls>


resource management:
Stamina, Mana, Health, hit immaterials, consumables, poison
//>> better modify??


AI


then: Gameplay issues
center world on character?
show one room(Zelda) vs show part of level(gauntlet)

___>seems you agreed on 2 by 2 squares !
is less distracting, player can concentrate on one room. there are no edges of maps
-------------------------------------------------------------

looking good so far :)
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

http://www.beipmu.com/PonyExpress21.png

stairs now work, hero's health and such are read in, objects have a weight/mass .. inventory along the bottom.. progress m'lads.. progress..

I imagine Ryan can answer some of the above better.. but suffice it to say, the only issues I've seen as being worth concerning ourselves with are the puzzles that involve spinners.. since the idea was to give the illusion that the player was still traveling forward.. and then not realizing that something had gone wrong untill they discover they've been walking a good long while and thing has changed.. as well as those puzzles that involve again an element where the player doesn't know they've moved.. like the invisible telelporter room where you were to travel clockwise.. we'd see we've been transported since we can see more map. and we can see if we get rotated and really it doesn't matter since the map itself is not rotated.. So those puzzles need to be addressed..

My thought was a series of teleporters that teleport you on to a switch which has 3 states.. changing the orientation of the teleporters each time you cross it.. and since they are invisible,, you need ot be cautious about where you go.. throwing or putting down items in front of you as you go.. to see where they vanish. :) Just an idea to replace the spinner puzzle.. as for the other one.. the map needs to appear for all purposes the same room.. so having a door way and the same items would be key to confusing someone.. but I don't know how well that can be done..

I leave it to you folks to think about such things :)
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

Due to the different perspective top-down vs. 1st person, some DM puzzles may not be easily re-producible, in this version, but other puzzles that are not easily produced in the 1st person perspective of DM also may be easily done in this version, so there may be some give and take here.

For example, in DM and all it's 1st person style clones, it's not easy to create interactions with non-hostile NPC characters, whereas with your top-down engine, you should be able to handle that quite easily with the scripting language and so invisible spinner/teleporter type puzzles may not work well in your version, but for example, a "find item ____ for the NPC" type of side quest could work quite well in this version. As could having an NPC you need to talk to to get important clues as to what to do next, with the possibility for a list of different responses you can give to an NPC, each of which will result in a different outcome. A more ambitious approach could even be to allow the player to give more open ended messages to an NPC by entering text with the engine being given a set of keywords by the dungeon designer that it looks for to determine the NPC's response.

So while doors may close for some DM classic puzzle types that rely on the 1st person view, doors can be opened for other puzzle types that were difficult if not impossible to do in a classic DM type environment.

So perhaps the best approach may not be to replicate everything from DM, but rather as much as possible, and create something new to replace that which doesn't work in your engine. So you have the monsters, items, world, and class system of DM, combined with the in-game story building and interactive elements of many newer games. All set in the world of DM.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

Dungeon master could have that sort of activity inside a 1st person experience.. in fact I'm reasonable certain that if someone has not already done it, they could by simply creating a text event linked to a switch in front of the character, Which could be an alternate wall decoration and a switch that was a next button to to more talking (the switch activating a telelporter or a change of decoration if possible) . Then making it something like the zokathra switch where you place the item on it and things change.. So the NPC asks for an item.. you go collect it.. "give" it to him and he opens passage, or teleports in some goods you want.. etc etc. All done within the current engine. DMII had elements similar to this with the shopkeeper..

It's simply a matter of deciding how to work within the engines limitations. Other than that, there is no limitaiton to the first person format that prevents NPC interaction :) Just the code the engine has at it's disposal. Which in this case, PE will have plenty of possibilities.. However I'm sure one of the other clone creators could accomodate such a design element if there was enough interest :)
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Re: overhead DM

Post by zoom »

cows, what's "PE"?

I think SU has valid points.
Compare it to driving in a car yourself, (DM)
or playing with a carrerra racing toy..(overhead dm)

I mean you can just go for it and see what comes out
.. you got to have some vision of what the game
should feel and play like. why overhead? :) ;)

I mean you have your game base. expand from that.
encumbrance rules: want to have that?
there's couple of ways :
inventory space ( limit it, can carry only 10 items)
load ( restrict carriying capacity by strength value suck stamina)
no encumbrance, like in monkey island

what does encumbrance do?
if it is there like in dm with load value/ weight

helps prevent players from hoarding potions( balance fights)
maybe exciting, close calls in fights(if party is slower fight gets harder;
difficulty of retrieving a heavy artifact out of spider lair- achievement)

more realistic( not necessarily a good thing)
problem to overcome( incentive for player to get more Strength)
counteracts better gear/ breaks spiral
( can player afford to wear heavy stuff; is heavy stuff worth it?)
tedious or annoying since it slows the party down; if too much
do you want more depth like that? tends to complicate things

well, more or less you iterate on that and do that for every game mechanic.

encumbrance influences food, recovery of resource points ( uses up Stamina).

what if you just leave encumbrance out? miss out on/ gets dull there: etc
how do you tell/ note the player about encumbrance


uh well, i cant help it :0
without encumbrance/load , the game would be faster/ more fluent

( player just collects stuff, without thinking... thus inventory gets crowded, like in MMO's)
Ryan

Re: overhead DM

Post by Ryan »

PE = PonyExpress, it's the name of the codebase. "Overhead DM" is just a dataset used by it. I also have an "Ultima 4" dataset it uses. Cowsmo likes to turn every project I work on into something DM related :)

The good news is that almost every idea suggested could be modified after the fact, since all DM specific behavior is done through scripts. Right now there are not many scripts, just the ones for 'PressurePlate_OnStep', 'Teleporter_OnStep', 'Pit_OnStep', 'Stairs_OnStep', 'Move' (handles player movement), 'Get' (handles picking up items, this is where the encumbrance/load stuff went). There's also a couple other script defined functions for updating the player's stats through time.

Another neat aspect is you can update these functions while playing, so it's very easy to try new things on the fly. You can also change the graphics while playing. And it's multiplayer, so any number of people can connect at the same time. The only drawback to changing scripts at runtime is if the script fails, your game data can be left in a weird state. For example.. I had bugs in my door script where if you stepped on/off the pressure plate the right way the door would get stuck open. To fix it I had to set valid door properties through a command. So it's not without drawbacks.

So half of the work I've been doing is parsing dungeon.dat and mapping it into PE, the other half is improving PE to implement the missing features. It's been fun so far, so we'll see how far we get!

-Ryan
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

cowsmanaut wrote:Dungeon master could have that sort of activity inside a 1st person experience.. in fact I'm reasonable certain that if someone has not already done it, they could by simply creating a text event linked to a switch in front of the character, Which could be an alternate wall decoration and a switch that was a next button to to more talking (the switch activating a telelporter or a change of decoration if possible) . Then making it something like the zokathra switch where you place the item on it and things change.. So the NPC asks for an item.. you go collect it.. "give" it to him and he opens passage, or teleports in some goods you want.. etc etc. All done within the current engine. DMII had elements similar to this with the shopkeeper..

It's simply a matter of deciding how to work within the engines limitations. Other than that, there is no limitaiton to the first person format that prevents NPC interaction :) Just the code the engine has at it's disposal. Which in this case, PE will have plenty of possibilities.. However I'm sure one of the other clone creators could accomodate such a design element if there was enough interest :)
I didn't mean that it's impossible, just that it takes a lot of work-arounds to force it into the existing game mechanics in both the original game and the clones. So having access to scripting languages should streamline setting up and debugging complex sets of events. DM clones like RTC also tend to have limitations in the mechanics items like Relays when it comes to condition testing, as each relay can only test one condition at a time, so it's not possible to say, test if "character A" has a falchion in his/her possession, AND has health greater then 150, OR has stamina greater then 200. Not that it can't be done, but it is rather finicky to set it up and difficult to debug, or for someone else to understand what is going on with it, because it can be tricky to follow the path of relays to understand what's actually going on, and which relay does what, when and under what conditions. Whereas with a standard scripting language, you can accomplish that whole set of tests with a single line of code using an if-then-else type statement.

EG:

Code: Select all

if (CharacterA.inventory('falchion')=TRUE AND CharacterA.Health()>100 OR CharacterA.Stamina()>200)
**Do something**
else
**Do something else**
...
Where the CharacterA.____() is a function and the 'falchion' identifies the name of the item you want to find out if "CharacterA"'s inventory has in it. Of course, in a DM clone engine that's still under development could have a relay-type item that is capable of making more then just 1 comparison as is the case in RTC.

So basically, the scripting used in this engine allows for more versatility, and more streamlined development of some puzzle types that are not easily done in the "classic DM" clones, but are easy to do with the scripting language in this engine.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

Well, again.. these conditions only apply to those who accept them ;)

example : You wish to make it so the player must have an apple, pear, and orange to complete the "quest"

3 triggers sit in the same location each looking for their own distinct item. When they are activated by those items, they spawn a teleporter in another hidden location. Those teleporters each chain to eachother causing an item (let's say a rock) to teleport on a path to a final switch. A teleports to B, which telelports to C and then to the end switch. The player could even come back several times and not have all items, and all it would do is potentially teleport the rock towards the switch but only once all 3 have been taken there can it reach the end goal. Thus activating whatever you wanted.. like opening a door, or teleporting them a special sword.. etc..

In the case of an OR statement.. the above still applies.. however at the end goal, there are added switches which the rock also activates. An alternate teleporter will teleport OUT the rock from that path breaking that system. So if the player had the choice of bringing him an apple, pear and, an orange to open door A.. or a rock, bounder, and gem to open door B.. then once one goal was completed, the other path would be closed off forever..

There are always ways around a limitation within DM.. ;) So yes, you're right.. it's not always easy to do.. and work arounds are needed.. but never say "can't" ;)
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

By the way..

<----- Devils Advocate.. :)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Re: overhead DM

Post by Paul Stevens »

You wish to make it so the player must have an apple, pear, and orange to complete the "quest"
The simple 'AND' actuator of DM makes this
particular example pretty easy and straight-forward
and allows the three to be presented one-at-a-time
or all-at-once, depending on the designer's needs.
And the fruit can be consumed in the process if
desired.

But I agree that a scripting language built into
an ACTUATOR (or RELAY or whatever)
is a very nice addition. A simple, Forth-like
scripting language is trivial to implement in almost
any environment.
User avatar
Sophia
Concise and Honest
Posts: 4239
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: overhead DM

Post by Sophia »

Seriously Unserious wrote:So basically, the scripting used in this engine allows for more versatility, and more streamlined development of some puzzle types that are not easily done in the "classic DM" clones, but are easy to do with the scripting language in this engine.
I don't want to derail this thread, but I would be remiss to not point out that DSB is an extremely traditional (first person, 2d graphics, etc.) DM clone but it has had Lua scripting integrated forever.
User avatar
Gambit37
Should eat more pies
Posts: 13714
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Re: overhead DM

Post by Gambit37 »

^^^ And how! It's awesome :-)
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

cowsmanaut wrote:Well, again.. these conditions only apply to those who accept them ;)

...

There are always ways around a limitation within DM.. ;) So yes, you're right.. it's not always easy to do.. and work arounds are needed.. but never say "can't" ;)
If you re-read my post from above yours you will see that I didn't say "it can't be cone" without a scripting language, I said it makes things overly complex to do, and to debug when it doesn't work as expected, of for a 3rd party to duplicate.
I don't want to derail this thread, but I would be remiss to not point out that DSB is an extremely traditional (first person, 2d graphics, etc.) DM clone but it has had Lua scripting integrated forever.
That is a very compelling reason for me to migrate over to that in future projects. Of course, there would be a bit of a learning curve for me to get used to Lua scripting (if I could use javascript, or PHP there would be very little learning curve for me as I've already learned them) but since I have studied several programing languages and most modern languages have many similarities, this shouldn't be too difficult for me. That said, I still do prefer working in GUI editors where I can see what I'm doing as a graphical representation, which does make the process simpler, so ESB does make the switch over to DSB more attractive.

Still, there is still many good reasons to have a top-down version of dungeon master, including that some RPG gamers prefer that sort of game, and having such an engine adapted for the DM world would allow them to enjoy the world of DM as much as those of us who love the 3D, 1st person view of the classic DM engine.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

Note the end of the part you've quoted " so yes, you're right.." I read what you said. I also noted that you said "so it's not possible to say, ... " and went on to describe something that can in fact be done in a contrived way.. but done all the same. It was an interesting problem, to which I had an immediate idea for. I love problem solving, and debates.. My career is deeply steeped in both... and often towards artistic issues, and issues of story etc. So when presented with a "can't" "not possible" etc.. I tend to think the issue through to the end before agreeing.. even if it's just a bad example of a truism. Dm certainly has things it can not do... or at least that I'm not yet aware of. I'm uncertain if an issue of calculating the correct weight for puzzle purposes is even possible.. or as presented to me by Ryan, the potential to create arbitrary text based on your weight.. like a scale would.. ("you currently weigh ###" ) and I'm sure there are a number of other potential puzzle types it can't address either.. However the fact that there are so many cool potential work arounds, excites me. I was just about to describe something DM couldn't do.. only to just think of a way to do it.. and that's the sort of thing that keeps happening to me :)

So, I'll share my brain explosion anyway.. I was going to say that we couldn't do a follow me NPC.. but we can. In the same way they made tiny spiders attack actors in Arachniphobia the movie. They put hairspray down to make a path the spider had to run.. when they came near the hairspray areas they were repelled so they keep running the path.. here we can create invisible monster blockers.. and switches to mimic this. Dialogue can be presented as wall text which could be altered by switch pushes. or by a timed teleporter chain which landed an object from one trigger to the next changing the text that way within a specifc timing and then release a monster which is set to always be afraid of the player.. since the blockers are up it has no choice but to run away from the player... and eventually to an end point where it can be trapped.. If the monster is likely to backtrack, you can also prevent that by placing monster activated switches which activate more monster blockers behind him so he can't back track.. it's convoluted and all.. but it would likely work :)
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

I've actually experimented with the NPC monster follows party scenario in RTC and the system I came up with is having a set of triggers operated by the party, with the "constant weight" parameter set, that activates a monster attractor where I want the monster to stand. This draws the NPC that's supposed to follow the party to eg, the space immediately behind the party. Of course, at this point the party can't backtrack while being followed by the NPC, you you would need to be careful about targeting the triggers when the party is in a dead end. With some additional work you can set it up so that the monsters will back up if the party does need to backtrack but this is really a discussion for the RTC Editing forum anyways.

Anyways, I was just pointing out that in this top-down view with the scripting language available, it makes it much easier and less complicated to design complex puzzles, cut scenes and events then the convoluted methods often required by an engine like say RTC, which requires a lot of complex, hard to follow workarounds.

Some puzzles/events are impossible, simply because of the shear numbers of objects it would require to implement, which would overflow and crash the RTC engine as well, which, with a different engine would be done by a few simple commands.For example a follow party command to get an NPC monster to follow the party, which requires at least 2 objects per tile for the entire distance that the monster will be following the party in RTC. If there are any other events that you might need the "follower" to respond to that it wouldn't be able to while the monster attractor is active, such as being attacked by a hostile monster, then you would need additional objects to temporarily free the follower up to respond to it. Thus, over a long enough distance, and with enough side events to handle this event could easily overflow the RTC engine with too many objects, causing a crash.

So basically what I was pointing out back when I first started down this is that this engine and the top-down view for DM that you and Ryan are working on is great for developing adventures set in the DM world and using the DM rules that are very different from the classic dungeon crawler style adventures of the 1st person versions. Adventures that work very well on Ryan's engine, but would not work so good on any of the 1st person view DM/DM Clone engines currently available. Likewise, the classic style DM dungeon crawler adventures may not work well on Ryan's engine, so that may be why you struggled with re-creating the original DM dungeon in this engine, and you may have an easier time of it designing a completely new adventure that is specifically designed to take advantage of strengths Ryan's engine rather then trying to force a Ryan's engine to do something it is unsuited to.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

It's actually mainly Ryan developing that tool. I just threw a few images his way, and put up most of the posts here. I'm interested in seeing how it goes.. but my initial comment was that those puzzles which can be handled well in a close up view (first person) break in overhead.. However I think very few things that can be done in the typical overhead game, can't exist and work in first person view. So it's a matter of people being to see more of the picture rather than being "in the dark" so to speak :)

Any puzzles using spinners for the player are likely to not work because of the nature of their use.. (ie you can't tell you've just spun) .. In a game like Grimlock, you could tell you've spun since there is animation to the turn.. so it's not specifically an issue with first person.. but the method used to portray it. Anyway.. if some industrious individual wanted to adapt those puzzles that would be problematic in a DM overhead.. then Ryan can parse the dungeon.dat and have a playable dungeon. Which was where this was all going initially :)

I'm unlikely to make those map changes myself.. I typcally dream up ideas for dungeons but don't implement them. I've never used the mapping tools despite having drawn up many many puzzles on graph paper.. not sure why.. but I just haven't bothered. I do images from time to time.. and the moment I get busy (which is pretty much at least once a week.. even when I think I'm off) it get's droppped and without enough motivators (read as people riding my ass to get it done.. or paying me money) I don't get them finished. Collective projects are what keep me going.. regular feedback (even if i don't agree it's still great) and ideas i can feed off of. Haven't had a lot of that here unless the project is very unique.. Also, unless it's paying me money these days.. those jobs that do pay take over.. So this little thing is great because I'm waiting on the need to do more work on my android game.. and the images take a matter of a few minutes to make each.. ;) So I'll probably pop up something new here and there.. however, Ryan really can use the influence of others.. different tile sets, sounds.. maps.. ideas.. don't expect me to have all the fun.. feel free to kick in.
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

I'd love to help with this project.

Any tangible help I do give would likely have to be in the area of programming though. Graphics are not among my strengths.
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Re: overhead DM

Post by cowsmanaut »

well, creation of maps was one of the areas.. programming is not needed.. he's spent years with his code.. He's got that part under control :) Scripting on the other hand..
Ryan

Re: overhead DM

Post by Ryan »

Do you count creating the DM logic as programming? The server side code is all under control, the main challenge has been creating the game logic code (aka DM in this case). Cowsmo and I keep going in circles on some issues, like how to handle wall mounted items (keyholes, switches, alcoves), so design solutions would be very useful. Once it's far enough along someone else would probably be better at creating content (maps, scripts, game specific logic).

So yeah, we've been mostly idea limited. I'd be happy to start a conversation on how it all works if there was something you wanted to create using it (or how you'd create DM in it).
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

If I were to create DM in your engine, the way I'd go about it would be to create a completely new game that follows the storyline of the original series, and the original characters, starting with DM, and then CSB, but using completely new dungeons that take full advantage of your engine, UI and scripting capabilities.

BTW what kind of scripting language do you use for your engine? I'm most familiar with javascript and PHP, but also know some perl as well.
Ryan

Re: overhead DM

Post by Ryan »

It's similar to Javascript, but it has strong types. The scripts are all pretty small for most things, but I can post some working script code later if you'd like. For DM it just has some simple handlers for doors & movement so far.
Ryan

Re: overhead DM

Post by Ryan »

Here we go, here's some sample code for a couple functions that are partly implemented for ODM:

Code: Select all

// Function to get an item on the map, called in the context of the player
// getting an item. (x,y) is the location on the map to get from
void Get(int x, int y)
{
  // Look for the topmost object on the map we're trying to get
  object objectID=Me().MapLook(x, y);
  if(objectID==object(-1)) // -1 is the invalid object
    return;

  // If the object is more than 1 square away, it's too far to get.
  if(abs(Me().X()-x)+abs(Me().Y()-y)>1)
  {
    Me().Tell("Too far away, get closer");
    return;
  }

  // This will fail on invalid objects (like map decorations or ourselves)
  if(!Me().Pickup(objectID))
      Me().Tell("You can't pick up " + objectID.Name());
  else
  {
    Me()->Load+=objectID->Mass;
    UpdateLoad(Me());
  }
}

// Update the load display for the player objectID
void UpdateLoad(object objectID)
{
  int load=objectID->Load;
  string loadString=ToString(load/10)+"."+ToString(load%10)+" kg";
  objectID.Stat_Update_String(Load~stat, loadString);
 }
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

That looks sort of like a cross between Java and Javascript, both of which are languages I'm familiar with, so I should be able to help by contributing some scripts to handle events and stuff like that.
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Re: overhead DM

Post by Bit »

That's C++ :P
Ryan

Re: overhead DM

Post by Ryan »

Me using C++ all the time probably influences the language design a bit... but it's definitely not actual C++.

I've been figuring out actuators recently, as they're what makes DM really be DM. The DM encyclopaedia is very useful, but it still takes a lot of trial and error to piece it all together. The problem with this code is it's all done in the dungeon.dat importer code which builds the initial world.

Probably best to chat somewhere else if you had ideas for stuff you'd want to try in it, just be warned that it's still at an early phase so I am still making breaking changes to the file formats :) But you would certainly be able to influence the design.
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: overhead DM

Post by Seriously Unserious »

As I've studied c++ at college I can definitely see some resemblance, but I can also see that it's not c++ at the same time.

@Ryan: I agree that this isn't the best place to start any sort of design discussions. I believe there is a forum on this board for design discussions, that would be more appropriate, or we could agree on another place to discuss anything like that. If you need any help with anything, be it contributing ideas, suggestions, implementing a function, or testing code just let me know, and I'll be happy to help you as much as I can. I am taking some college classes right now which, of course, have to come 1st but I do have enough spare time to contribute to your project.

Another area that I'd love to contribute to with your engine would be in developing games on it. The main thing I'd need is a good set of ready made graphics as that's the 1 area that I don't like about game design is painting the graphics. What I'd love to do is develop anything from new games set in the dungeon master world to completely original game worlds.
Post Reply