Jump to content
Double Fine Action Forums

DF Oliver

Double Fine
  • Content Count

  • Joined

  • Last visited

About DF Oliver

  • Rank
    Lord of Action Posts


  • URL
  • Location
    San Francisco
  • Occupation
    Code Monkey

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. ThunderPeel is correct. Even though the animations were authored as vector graphics they were baked into pixel-based sprites. The scaling works since we draw the game into a (large) offscreen texture that can then be re-scaled to the required resolution.
  2. Hi fellow tentacle-friends... or tentaclers... I had the pleasure and honor to work on all of Tim's adventure game remasters and I have to say I absolutely love bringing these old classics back. As a programmer I find it fascinating to dig through the original source. In a way I feel like a "code archaeologist" because I can see how game technology has changed over the years. I'd argue that this knowledge also helped us when working on Broken Age. Anyway I wanted to answer a few of the unanswered questions. :-) Will a version of Maniac Mansion be included with the special edition of the game similar to how it was originally included? If so i assume it won’t be a remastered remake all its own, but could it be a scummvm compatible copy such as dos v2 or the commodore 64 version? - Permafry_42, Alfred J Yep. We included the EGA version of MM. Will the classic Verb System still be used in the Special Edition? - tob_edison Will the game crop out the verb/inventory bar for a 16:9 presentation? - Monkey Mania We wanted to give you guys the choice, so you can play both the remastered as well as the original version with and without the verb-bar. I'm biased of course, but I think the programming team did an amazing job adding a retro-looking verb coin interface to the original version. Are there gonna be a hint system of some description for new players? - RMJ Nope. All the puzzles all the fun! ;-) Someone should ask Oliver something super technical so we can all sit back in awe wondering what he is talking about. - matthansen Hmm... a bit vague Mr. Matt Hansen. :-P With DotT we had the advantage that we could build on top of the technology developed for the 'special edition' versions of Monkey Island (internally we called the 'remonkeyed' versions at LucasArts). Since I wrote a lot of that code myself while working at LucasArts it felt a bit like coming home. We did update a bunch of our art pipeline tools to make it easier for the artists and animators to create the updated graphics. Of course there was still a lot of other stuff to do. Making the old SCUMM engine run on 64 bit machines took a bit of work. Matt already posted some information about how the audio was remastered, so please check that out too. One thing that always amazed me when working on the remastered versions is that some of the techniques used back then are surprisingly hard to recreate with today's tech. The best example is the palette animation. Back in day games could often only use 256 colors due to memory and performance constraints. So pixels of an sprite would be represented by a single byte (value range 0 to 255) which contained the index of the color to use. The actual color (represented by RGB values) were stored in a (color) palette. One nice side effect of this indirection is that the colors in the palette could be changed over time, so when a sprite is drawn it would look different. This was often used for ambient animations like water or fire (Palette color animation example). These days we don't have these limitations anymore and therefore pixels are represented by RGB values directly, which means that we can use way more colors (24bit: 16777216 vs. 8bit: 256). This makes it much more complicated to create these color animations though, because there are more colors that would need to be changed over time and it's not trivial to animation only a sub-section of the image (if blue is changed over time then all blue pixels in the sprite will be affected). This technique was used a lot in DotT. For example the spinning spiral in the beginning of the game is done using a palette animation. We ended up re-creating the effect by rendering fullscreen sprites created by an animator. In Monkey Island special editions we often used shader and particle effects to represent these effects. You programmers out there are probably now thinking: "Couldn't you use a color look-up texture?" You are absolutely right of course. We found however that it's pretty hard to author sprites this way and one of our main goals was to make the artist workflow as intuitive as possible. Having said that we are using a similar technique in one of our upcoming games. I won't say which one though! :-P Anywho... this is all I have time for today. Let me know if you guys have other (perhaps more specific) technical questions. Oliver.
  3. That is a good question. Almost everyone in the studio is sing P4V. I'm just old and unwilling to change. I really like P4Win and never got used to V. :-)
  4. Now, Oliver probably knows a lot better than me, so take this with a grain of salt. I have no idea why they can't just bundle an rdelta (or xdelta) payload with the standard software used for those. (Create one of the original and updated install directories.) The programs are GPL, so very easy to get a hold of. I've used that myself with fairly nooby customers. Define "fairly nooby." Was that thousands of people whom you can't support personally and who have a "I paid for this, I want to click on something and have it work" attitude? Because I'm pretty sure that's what you're dealing with here. Not thousands. As I said, Oliver probably knows better. Nooby as in highly educated people in non-computer fields (as highly educated people usually are the least skilled/knowledgeable in things outside their speciality). Saying what sort of people risks giving away [software company I work for], which they are not okay with as they worry someone would take it as official opinion. I haven't heard of any reported problems from the customers, but if it was a small number I doubt they'd pass it on to my department (as tech support is separate from development, and hates us, but hey, it's mutual.)Edit - Although the double click and it works, is how it goes. It would only fail if they made a change to a patched file separate from the patcher (such as a crack, or unofficial mod). I know the DFA / doc period is over, but maybe if we're lucky Oliver will make us a post about it. =] Hi guys. Thanks for the pointers towards binary diff libraries. That is certainly something we should look at. To make things more interesting a potential solution has to work across all three PC platforms. Especially OSX makes this possible because of the App Bundle code-signature. I'm not saying it's not possible, but we'll have to take all of these things into consideration. As far as the episode goes the main problem during that meeting was the extreme time pressure of the (original) plan. We were working day and night to fix bugs, so it would have been incredibly difficult to find time to investigate binary diff tools. I'm definitely glad that we had more time to fix more bugs before the discs were made.
  5. Hi naninho205. Sorry you lost game progress because of this. You definitely raise a good point. The reason why both Broken Age and Grim store their save games next to the executable is because of the cross-platform cloud saves. We are using Steam's 'auto cloud' feature, which means that Steam takes care of syncing files on all three PC platforms. I like you suggestion to use the Steam user ID as a folder name as it seems like the best solution for this scenario. Oliver.
  6. Sorry for the late reply. I'm not hugely familiar with the details of the original software rasterizer and Brandon would probably be the best person to answer these kind of questions. I did, however, have a look at the code and it looks like all of this is data driven. The light data structure has falloff values that were authored by the artists. In addition to that there are also data driven attenuation values for each camera, which get's multiplied in. In other words both the light sources as well as the cameras seem to influence this behavior and so there are most likely custom values set up for the different scenes / camera angles. Sorry I can't be more specific and I hope that helps at least a little bit.
  7. This confused me, I thought it was broken! How utterly pointless! Yeah I wish GDC would just make all the talks available for free. For what it's worth my slides on GitHub contain the annotation of what I was saying while showing the slides...
  8. Unfortunately this isn't trivial to achieve for multiple reasons and because of that there are currently no plans to support this. Sorry you guys. :-(
  9. Yeah that would be the reason for the error message. The thing is that the game actually works on a lot of systems with OpenGL 2 (although we can't guarantee it), but unfortunately we can't support OpenGL 1 since there are a lot of game-play critical parts that require shaders. Even though it might not look like it, but the game is actually a full 3D game we just make it look 2D. I'm sorry we won't be able to help you in this case. :-(
  10. Good point. I should have mentioned that I used XInput emulation...
  11. Hi FullGrim. That is strange, because I tested it (again) just now and it seems to work fine. I had problems installing the driver at first, so you might want to double check that this is correct. Following these instructions worked for me: http://www.motioninjoy.com/help/sixaxis-dualshock-3-connecting-usb I also find it helpful to verify that the controller works using 'Set up USB game controllers' in Windows as it shows you whether or not the OS is recognizing he input. Good luck! Oliver.
  12. Hi dude. I'm sorry you weren't able to get Broken Age working yet. This could be a simple driver problem, so please check the troubleshooting forum: http://www.doublefine.com/forums/viewthread/12859/ If none of the suggested fixes work then please run the game with '--log' (as described in the forum) and send us the log. Oliver.
  13. I don't think so, but I should double check with the production team since they provided me with this number.
  • Create New...