Ambrosia Garden Archive
    • Log from 03/08/02 #coldstone Q&A; session with Dee


      This is the transcript of the log from the Q&A; session held with Dee Brown, designer of the Coldstone Game Engine on the #Coldstone IRC channel. The transcript has been edited for a smoother flow of dialogue, clarity, and blatant typos that stuck out at me screaming, "Fix me!" I have also removed the time stamps for easier reading.

      If anyone would like an e-copy of the log(either edited as posted or the complete unedited log) send me an email requesting this and I will send you the copy of your request. My email address is in the "email button" above.

      On behalf of all the participants I would like to extend a big thank you to Andrew Welch for setting up the Q&A; session, and to Dee Brown for taking the time to come and answer our questions. We greatly appreciate it.

      (I've broken the transcript down to 2 parts so that it will post -- the board would not let me post it as 1 message)

      == Log of #Coldstone from Thursday 07 March 2002 ==
      == <Dee> is Dee Brown, designer of the Coldstone Game Engine ==
      == <Moki> is Andrew Welch, el presidente of Ambrosia Software, INC ==

      Moki sets topic to: We'll keep the chat informal as long as choas doesn't take over

      <stray> Dee i have a genral question Dee: or Andrew: can you tell us how well the CGE is selling? or if you dont want to be exact are you pleased with sales?
      <Dee> I can't tell you that, sorry
      <stray> or if you dont want to be exact are you pleased with sales?
      <Andiyar> oh well. how about a general indicator.... good, great, excellent?
      <Dee> good so far

      <steve> ok, dee: how many copies sold for windows in relation to mac?
      <Dee> Coldstone is only available for mac
      <steve> oh, just the games are cross-platform?
      <Dee> yes
      <Dee> (for now)

      <RyanP> A Coldstone related question. Is there any way to change the map interface in-game?
      <Dee> yes -- but not in a direct, clean way. I'm writting an article on custom interface that covers this.
      <Dee> You can create your very own interface system if you'd like using the technique described in this article.
      <Dee> (i.e. graphical health bars, animated interface elements, etc.)
      <Dee> Many things are possible to the experienced Coldstone user that may not look possible at first.
      <RyanP> The answer doesn't have anything to do with having an animation follow the character around, does it?
      <Dee> Ryan: No

      <steve> dee: how long took the development of coldstone overall?
      <Dee> steve: 3 years and a half since the very first line of code

      <gladlad> Coldstone question: I haven't been able to get Coldstone to render in 'True Colors'. Every time I switch it, it switches back to... not true colors. What's up?
      <Dee> What do you mean? In the preferences dialog of Coldstone?
      <gladlad> Wait- game options. : )
      <Dee> OK, you set the game options to render in true colors but when you start the game in fullscreen, it switches back to 16bit?
      <gladlad> Not even starting the game, just whenever you go back to the game options screen while editing, it reverts.
      <Dee> I'll roll this in the next update :).

      <Cogger> I'm not sure how to assign keys to defs (like displaying the spell menu or casting a spell.) How do you employ "keydown"s?
      <Dee> You must first define the event to launch for a key
      <Dee> (if you want to display the spell dialog, use an "Engine call")
      <Dee> and then, go to the game options, under the keydown panel and click the "+" button
      <Cogger> I created defs for spell choices and casting spells.
      <Dee> did you try to put an Engine call that show up the spell dialog?
      <Dee> Don't forget that spells won't show up in the spell dialog unless you gave them to the player first
      <Cogger> I think so. I want to assign specific keys to casts spells like the 'c' key to cast.
      <Dee> either by using a "spell wizard" action or a spell selection dialog
      <Dee> OK, so just follow the above method and/or refer to page 76 of the manual

      <RyanP> What would affect the speed of gameplay more, (i.e. slow it down) many very small stamps, or a few very large ones?
      <Dee> a few large one might be faster

      <Stark> Ok, question from Cafall who couldn't be here:
      <Stark> (Cafall) 1) Is it possible to change an NPC's animation using an event?
      <Stark> (and if so, how)
      <Dee> Unfortunately, not directly. When we had to do such a thing in PoG, we used different version of the same NPC that all had different animations
      <Dee> (kill the current NPC, add our new NPC with the new animation)

      <Stark> (Cafall) 2) Would it be possible for me to make a PoG plug-in with my own spells in it, and then for the Conjurer or Ranger class (Trinity) to learn them?
      <Dee> You could very well create a plugin with your own spells and use the spell wizard action to give it to the player (and check the player class before using a conditional)

      <AirSoarer> Do you need to have any knowledge of programming to be able to take advantage of all of coldstones features?
      <Dee> no

      <sloth> is there a way to use the 360 degree animations for movement rather than the 8-way?
      <sloth> (to create a smoother turning affect)
      <Dee> It would work but wouldn't create the effect you think of
      <Dee> But that was the intent from the start with 360 animations. I might put it in a future update
      <Dee> (to create things like boats)

      <gladlad> Would there ever be a way to have more than two 'meters', (i.e. health and magic)? Perhaps with the customizable screen thing you were just talking about?
      <Dee> Yes. As I said earlier, I'm writting an article on custom map interface that covers this.
      <Dee> and many other cool features that can be done by "writing" his own interface system.

      <Cogger> I made a town and added characters. I believe I programmed
      <Cogger> it correctly to have the characters speak with the player, but it didn't work.
      <Cogger> I tried again later and it worked several times.
      <Cogger> Now, I can't speak with the characters again. Did I use up too much memory building the town?
      <Dee> it could be a memory problem -- Coldstone may not be able to load the dialog background picture
      <Dee> you could try to increase the memory and you would be fix in a couple of seconds 😉
      <Dee> other than that, verify the "Contact" event link (see the map panel in the NPC editor)

      <Bladetooth> Party system?
      <hector> well, Party system is an uneccessary evil
      <Dee> Not for the current version

      <Bladetooth> Custom combat engine?
      <Dee> you could do some sort of custom engine (like FF) by using wisely the event system
      <Bladetooth> By łsome sort˛, do you mean that it probably wouldnšt be very efficient?
      <Dee> not really. I mean that you may be able to create other sorts of combat system but that there is no clean or direct way to do it with the actual version of Coldstone.

      <sanko> as far as wish list features go, how about an undo feature in the map editor?
      <Dee> yes!
      <Dee> An undo feature.
      <Dee> That is in my personal wish list, don't worry ;).

      <celchu> Dee, can you store a player's stats and then recall them at a later tim? i.e. So that a player can switch from one character to another?
      <Stark> Globals most likely for each stat...
      <Dee> yes, you could take care of it yourself by storing them in globals

      <RyanP> I heard an update of Coldstone was to be released. Will this include any added features, or just an update for OS X?
      <Dee> Mainly an update for OSX but there is some very minor features added
      <Dee> such as
      <Dee> tag values support in many more actions (like the Map Position)

      <gladlad> Is there any way to make noncontrollable, friendly NPC's that follow you and attack things, like the hired hands in Diablo II?
      <Dee> gladlad: not yet
      <Dee> Parties are one of the first thing I want to add in the next major version of Coldstone
      <Dee> Actually, Coldstone actually supports different alignments/teams in its AI system -- it just doesn't use it, yet.
      <celchu> And can we access them in the editor?
      <Dee> celchu: no, this is no way of taking advantage of this system for now. Internally, the player is part of team 1, the passive NPCs of team 0 (neutral) and the others, of team -1. But the code is there to handle more team and fighting between monster groups.

      <Stark> Dee, when you release the update, will you attempt to release a new manual including the updates, or just a readme file detailing the new features?

      <Bladetooth> Any chance Coldstone ver 2 will have Quartz graphics as an option? I know it breaks with Classic and PC, but I would like to do stuff like full .jpg for maps and so on, instead of tiles, and have it done natively, exc..
      <moki> Blade: QuickDraw is every bit as "native" as Quartz is -- are there special features of Quartz that you want to see taken advantage of?
      <Bladetooth> Scaling, rotation, and so on...
      <Bladetooth> Native anti-aliasing of graphics against the background is an easy one.
      <moki> QuickDraw will do scaling just fine -- as for rotation, noted. But realize it does not require Quartz to do that necessarily
      <Bladetooth> Quickdraw will scale things, but I donšt think it approximates łin between˛ pixels very well.
      <Bladetooth> Besides, Quartz lets you use higher density art natively, so you never have fudged pixels.
      <moki> Blade: QuickDraw does as well
      <Bladetooth> Thatšs what all the floating point ops for the graphics does.
      <Bladetooth> I dun think so, Moki. I am pretty sure that QuickDraw has to fudge pixels alot more.
      <moki> I guess the main point is that it would be more helpful to ask for a feature (such as scaling/rotation) and mention what you'd use it for, than to ask for "Quartz"
      <Bladetooth> I am rather sure it would run alot faster under OS X that way, but I could easily be wrong.
      <moki> I understand what you want, Bladetooth -- but saying "I want Quartz" isn't helpful. And no, Quartz is not any faster than using QuickDraw under OS X -- in fact, it is slower for many things
      <Dee> Bladetooth: It's not on my priority list. The goal of Coldstone so far is to use generic data formats so that clean cross-platform compilation can be achieved

      <stray> Dee will Beenox producing anymore CGE games with different graphics that would than be released to us? (the graphics)
      <Dee> I can't confirm anything... but it's a possibility.

      <Stark> So Dee, are you more or less confirming that you will be working on a Coldstone 2.0? And will this be an "update" for Coldstone 1.0, or a standalone new application for sale? Or are we still hypothesizing over a 2.0 release?
      <Dee> As for Coldstone 2.0, I'm not confirming anything. Let's just say that I'm very enthousiast about it.

      End part I of the transcript

      ------------------
      "Good...Bad...I'm the one with the gun. Kaboom!"
      -- Ash, Army of Darkness

    • ==========
      Begin part II of the transcript

      <stray> Andrew: What Ambrosia's policy on posting games to the files section? first are there size limits (one user has a 77meg file on hotline) and second will there be copyright limits? (prof X has a Friday the 13th based game) will those be put up?
      <moki> stray: unfortunately, the uploading capabilities of the web browser interface are not up to a file that size
      <moki> also having us be the host for a monstrous file like that might not be very fair either -- as it is, we pay $2,250 a month in bandwidth 🙂
      <moki> If the game is really good, though, you might want to have the author get in touch with us about possibly publishing it for them
      <Stark> Moki - so do you have any general guidelines about CGE uploads?
      <Stark> Ie, only addons for the engine specifically, or small games made by it, whatever?
      <moki> Stark: just that they not be copyrighted material (other than copyrighted by yourself 🙂
      <moki> we'd love to see people posting their games up there

      <sanko> this was discussed a while ago on the web board, but I never saw a direct answer. How do pictures/movies work in the dialog boxes?
      <Dee> sanko: there is some issue with dialog pictures and movies in the current release of Coldstone. The good news is that it's all fixed in the update.

      <Stark> Bledfast!Stark@ Dee - Is there any chance for a public release of globals for POG and/or trinity, or would you be able to possibly provide a need to know list if a person were to mail beenox?
      <Dee> Stark: yes

      <stray> Did you see or play the side scrolling shooter StarField?
      <Dee> yes!

      <Lungfish> hi, i've got a question about ammo
      <Dee> fire it
      <Lungfish> i set up a global to keep track of ammo for a basic tank game
      <Lungfish> question is: how do i keep the player from attacking if ammo is <0?
      <Dee> lungfish: does the "player" (or tank or whatever) has a weapon equipped?
      <Lungfish> yes
      <Lungfish> i made a weapon item called bullet
      <Lungfish> made a map graphic and range attack animation
      <Lungfish> added a global gb_Player_Bullets
      <Dee> ok. Open this item in the editor and click on the "Links" panel.
      <Dee> Then, click on "Attack" in the list
      <Dee> and click the condition to define that it need that global higher than 0 to attack
      <Lungfish> i only see the options Hit, Miss, etc.
      <Lungfish> no attack option
      <Dee> oops, looks like the manual I have here is out of date (or perhaps it's an error in the final manual)
      <Dee> it's the "Hit"
      <Dee> it should do the trick

      <gladlad> Can you have either real or (somehow) faked parallax-scrolling in Coldstone?
      <Dee> gladlad: you could probably fake it rather easily by using an animation in a background layer
      <Dee> gladlad: yes but you could make it move only when the player moves also
      <Bladetooth> Can you cycle animation based on movement?
      <gladlad> Would it be an event trigger?
      <Dee> You could take the actual camera position and store it in globals (see &&CameraX; tag values). If there are different then the last one, kill and launch the background stamps with an offset (that you could keep in another global). Then increment this offset.

      <Lungfish> is it possible to kludge iso map movement by changing the ratio of movement tile w:h?
      <Dee> Lungfish: no
      <Dee> However, you could define much smaller access areas (like 8x8). You could be more precise that way and fake a good iso perspective.

      <RyanP> When you trigger an event by stepping on it, can it check something constantly, or only once, when it is triggered?
      <Dee> Ryan: only once...
      <Dee> BUT
      <RyanP> Drum roll...
      <Dee> it could launch an animation with blank (i.e. white) pictures that would do nothing but loop with one frame that would constantly fire a given event.
      <Bladetooth> badoom-ching!
      <Dee> that way, you would have what you want
      <Dee> (like "coding" yourself a custom timer)
      <Lungfish> couldn't you also tell an event to call itself (depending on a condition, of course)?
      <Dee> sure, use an "Engine call" event and select it
      <RyanP> But it wouldn't quit when you got off the space.
      <Dee> Ryan: the event just has to log the player coordinates when started, before launching the anim. The anim then check if the player coordinates have changed. If so, it kills itself

      <sloth> is there anyway to script the AI to change in response to conditionals(ie attack until HP<10 then run)?
      <Dee> sloth: that is not currently possible but that could be faken using event to replace the NPC with another copy of himself but with an AI set to "coward"

      <Bladetooth> Is there going to be any internet/network code? Maybe using Applešs cross-platform Open Play?
      <Dee> Bladetooth: no

      <stray> dee is that (blank animation) the count down timer in Cosmic mem?
      <Dee> yes
      <Dee> Cosmic mem use that "timer" technique, yes

      <RyanP> Wait a sec, you can't have an animation on a main location, right?
      <Dee> Ryan: no.
      <Dee> Cosmic memory uses map for its flat boards
      <RyanP> Is that a yes, no, or a no, you can't? 🙂
      <Dee> Ryan: no, you can't in main locations
      <Dee> but you could achieve the same effect as a main location with a map and a player picture set to a white sprite
      <Dee> Main locations are the simple way. Maps are the future :).

      ------------------
      "Good...Bad...I'm the one with the gun. Kaboom!"
      -- Ash, Army of Darkness

    • ===========
      Begin part III of the transcript

      <gladlad> Okay: Wish item: Vehicles that can accept your character's 'standing' or 'sitting' pictures so you can just go sit in a bunch of different things without having to redraw your character for each one.
      <Stark> gladlad - Couldn't you just make the directional sprites for your vehicle and use them?
      <Stark> I mean you would need sitting sprites anyhow, else the engine wouldn't know how to draw the character
      <Dee> glad: you could already fake something
      <gladlad> You don't have to draw your character into the vehicle sprite?
      <Dee> glad: yes

      <Cogger> Wish item: character drawn with items he's using and wearing.
      <Dee> Cogger: it's another thing you could do but you would have to have a different animation for your character for each type of weapon

      <RyanP> One thing I wish you could do, is have several maps load up at the same time and stay loaded, so you wouldn't have loading times at inopportune moments.

      <Stark> A suggestion Dee: stamps that have access built into them
      <Stark> Ie, build a stamp on a map editor, choose access(blocked/clear) and then place it on a map and have it utilized
      <Dee> it's already there 🙂
      <Dee> Ever wondered what that collision sphere was for in the animation editor :)?
      <Dee> Manual page 69
      <Dee> just create an animation and define a collsion sphere (use the fields below the viewer)
      <Dee> You can also hold "Shift" I believe and click directly into the viewer to define it visually
      <Dee> I'm not sure if animations placed directly in the map editor will consider their collision sphere though. I'm pretty sure you must add them with the stamp control action.
      <Dee> It would be something to be aware of
      <Dee> but I could include it in a later release
      <Dee> I mean update
      <Stark> So if I take a stamp and place it into an existing POG map, I can use the collusion sphere to make access changes, so I don't need to use 1000 change map cell calls, correct?
      <Dee> that's what we did for Trinity

      <Bladetooth> Is there anything in Coldstone that would allow you to have a manipulatable device in the upper left corner, a-la a compass or a pocket watch in the upper-right?
      <Bladetooth> With buttons and such?
      <Dee> that is something that would be covered by my custom interface article
      <Bladetooth> You are going to publish articles about how to do things in Coldstone?
      <Dee> That's my intention

      <Bladetooth> Is there any way to rotate the ground underneath the character instead of the other way around?
      <Dee> no.
      <Bladetooth> Any chance of it in a later rev?
      <Dee> No.
      <Dee> Unless...
      <Dee> There one big thing I'd like to change in Coldstone 2.0...
      <Dee> in the renderer...
      <Dee> 3D Acceleration
      <Dee> But that would be for a major version like 2.0
      <Bladetooth> 3D is a good thing, but complicated.
      <Dee> Well, I'm originally a 3D guy
      <Dee> Everything will still have 2D look
      <Dee> but making it 3D optimized will make it faster and will allow awesome visual effects
      <Dee> (such as rotation and other cool stuff)

      <Bladetooth> Sticking to requests that are reasonable, can Coldstone do the background map in a single .jpg?
      <Dee> yes
      <Stark> Be careful on its size though. I found a big background mat really ate at my resources
      <stray> thats mem intensive
      <Dee> Yes, you might want to seperate your big jpg in several smaller jpg and put them all together in the map editor

      <sanko> Regarding the upcoming interface howto, how does adding the extra graphical goodies affect performance?
      <Dee> not very much. It's not much more than adding stamps to the map.

      <RyanP> How can you tell exactly how much memory your games uses?
      <Dee> by setting it high and then openning the finder info and looking at your game
      <Dee> or use a utility that will tell it to you

      <PCheese> Is there any way to make an NPC appear next to the player, because globals can't be used in the coordinates field when placing NPCs?
      <Dee> you will be able to use tag values in the coordinates fields in the next update

      <Lungfish> I'd like to be able to set a global to the value entered in the Ask Entry event if possible
      <Dee> you already can
      <Dee> Use the "GlobalEntry" tag value
      <Dee> it is set to the last value entered in the "Ask entry" dialog
      <Dee> That's how we did the learning tree in PoG
      <Lungfish> I don't see that listed among the other tags in the manual
      <Dee> ok, I'll check this and may roll it in the update if it's not there

      <gladlad> So, Dee, I have another question: what things are you most pleased about with Coldstone so far?
      <gladlad> Besides the fact that it's actually out and useable. 🙂
      <Dee> What I like the most about Coldstone is that you can preview your game very quickly
      <Dee> like editing a map, hitting the launch command and there you are
      <Dee> it's cute, simple and powerful. Coldstone 1.0 really is what I wanted it to be.
      <Dee> It sets very good and strong basis for an awesome 2.0 version.
      <Dee> Every journey has a first step doesn't it?

      <gladlad> Say, Dee- one more question: What's your favorite RPG of all time?
      <Dee> Fallout2!

      <Stark> Dee - any thoughts about doing this again?
      <Stark> after another month or so when developers have had more time to get into CGE
      <Dee> doing another Q&A; session?
      <Dee> yes, this makes sense to do another "official" in a month or so. Meanwhile, I'll try to come here a couple of times a week
      <Dee> (usually at the end of the afternoon -- EST time)
      <Stark> Excellent. We appreciate your willingness to do this

      17:18 Quits: Dee (Quit: )

      End log 03/08/02

      ------------------
      "Good...Bad...I'm the one with the gun. Kaboom!"
      -- Ash, Army of Darkness

    • Finally Dee e-mailed me with answers to 2 questions(well, 1 question and 1 comment) that were lost in the discussion mayhem and not addressed. I'm posting them here for completeness even though they were not a part of the actual transcript:

      <Stark> Dee, when you release the update, will you attempt to release a
      new manual including the updates, or just a readme file detailing the new
      features?

      This update probably won't have a manual update but will have a readme
      file detailing the modifications. The main thing that would be modified
      in a new version of the manual for now would be new screenshots of the
      different interfaces. I want the next rev of the manual to include more
      detailed info on topic such as dialog pictures and others.

      <RyanP> One thing I wish you could do, is have several maps load up at the
      same time and stay loaded, so you wouldn't have loading times at
      inopportune moments.

      You could fake it by dividing your map into several sections that you
      manually teleport from one to another when you reach the edge. That's
      the technique I would use if I was to create a town that you can go
      inside the buildings to be sure that the game doesn't always load when
      you enter/leave a house.

      ------------------
      "Good...Bad...I'm the one with the gun. Kaboom!"
      -- Ash, Army of Darkness

    • Thanks for taking the time to do this, Stark. And thank you to everyone who participated. The experience was rewarding; I look forward to the next session!