Dovyman

Members
  • Content count

    453
  • Joined

  • Last visited

Community Reputation

277 Neutral

About Dovyman

  • Rank
    Member
  1. Age of Conan (Lots of Screenshots)

    Summer is here and I need some cool game to fill the void .. but I'm not sure my laptop will handle AoC. I don't suppose anybody on here bought the Collectors Edition and has a spare buddy key? All else fails I might just pick up Guild Wars again..
  2. Speed Seduction(Or: How to be a creep)

    Theres actually a show on VH1 right now called "The Pickup Artist", where the guy (Mystery) from Neil Strauss' "The Game" teaches a bunch of guys who can't get women his pickup methods. He's more slick than that Speed Seduction stuff, but it's interesting to watch when he shows them how it's done, because he really can pick up anybody.
  3. Should I make the switch?

    I recently tried switching from Windows XP to Ubuntu, and I had half success. Basically I switched both at work and at home. At work it has been a GREAT change, I find it much much easier to develop under Linux than Windows for what I am doing. I do somewhat lament the lack of any good C++ IDE under Linux (suggestions?). I didn't like KDevelop, and Eclipse with C++ has this issue where the autocomplete is way to slow to live with, and thats a deal killer for me. Thankfully most of my development is with Ruby, so I'm perfectly content with the command line. At home the switch didn't work out as well, I kept my system dual boot so I could go back to Windows to play games when I wanted (good idea). I ended up having a lot of issues getting Ubuntu to work correctly that I didn't have at work - my desktop decorator/enhancer Beryl (which I love at work) breaks often on my laptop. I also seem to encounter this problem where the whole system becomes near unresponsive for periods of time. I guess this is just related to my specific setup, but it does go to show that while Linux is good when it works, it still can be less supportive than Windows in certain environments. Overall though, I would make your system dual boot and try and live in your linux distro of choice for a week or two and then make up your mind.
  4. On interesting web 2.0 research

    We have a fairly strong research team at Endeca, and as part of that we occasionally have speakers on various topics. Last week we had a PhD student from MIT (David Huynh) give a talk on reusing data on the web - it was really very interesting. I would encourage anybody interested in web 2.0 to take a look at some of the stuff the SIMILE team at MIT has been working on: Exhibit - makes it very easy for non-programmers to take data in a variety of formats and publish it to the web in useful ways Potluck - Doesn't seem to be available for use yet, but as this screencast shows how you can take any number of Exhibit applications from anywhere on the web and create a mashup on the fly Sifter - Plugin for Firefox that can add modify websites in place to add faceted browsing.
  5. Final Year CS Project

    If you are going to go the project route, I'd look to see if your school/industry partners/local businesses have any opportunities of interest (though the chances these relate to gaming may be smaller than if you were willing to do other things). Also if you can, I would advocate a team project, it will probably be more beneficial and it will look good on your resume. That said, I wouldn't count out a research component - like capn_midnight mentioned it doesn't rule out doing development, and (at least in my mind) its more interesting! You might look in the annals of his journal to get an idea of what such a project is like - IIRC he wrote quite a bit on it.
  6. Ahh VMWare

    I'm working on a fairly interesting problem at work right now, so I thought I would share. Your input is, as always, quite welcome! See previous post for more overview of exactly what I'm doing, but basically we're developing a distributed test system to cut down on test turnaround. Given that we're farming this work out to developers machines when they are not around, we are using virtual machines to ensure both a) consistency of environment and b) ability to test arbitrary platforms. The issue here is that a VM isn't a small thing, the final ones that will be in use will take up space in the 10's of gigabytes, so the cost is high to transfer these around and also to store them (we currently test on something like 9-10 platforms). The criteria for where to put them are in my mind the following: a) redundancy, if one of the locations the VM is available is offline, it should be available elsewhere. b) transfer capacity, if we need to distribute multiple VM's at the same time, we shouldn't incur too much of a performance hit to do so. My initial solution to this was to have the client machines themselves store the VM's for distribution. After all, they need to have VM's anyways to actually run the tests, so they ought to be able to redistribute those same VMs. This meets the criteria, several systems will be running tests on each platform, and if we need 3 copies of the same VM, we can grab each copy from a different machine. The problem becomes the "churn" of the platform configuration. Since these are developers machines, its possible something might happen and various machines go offline at different times - how does the system reconfigure itself to handle the loss of these machines? As an example, lets suppose by chance all the machines that go offline were running platform X. Our capacity for running tests on X is now severely reduced, do we copy VM's for X to other machines that were previously running some other platform? The cost for doing this is quite high, especially if there is any kind of ripple effect. And then when the previously disabled machines come back online, how does the system revert to the old configuration? At the moment I'm letting this brew in the back of my head - I don't know exactly what the best solution is. Basically I think a good solution will end up revolving around an idea of minimum and optimal capacity - if some machines go offline we can accept running at lower capacity temporarily, but if too many are lost then it is worth the cost to transfer some VM's around. Anyhow, typing that out gave me a better handle on the issue I think.
  7. Where's a good place to host a web blog?

    I'd second the plug for the GDNet+ journals. One big advantage is that your blog immediately gets exposure to other developers, something that you can't really say for anywhere else I know of.
  8. On being an intern

    I haven't posted in a while, and I can pretty much say that Libertas is staying inactive for the moment - I haven't the time or the inclination (though I have picked up some other non-game projects) I started my internship at Endeca Technologies about two weeks ago, and I think I've settled in enough that I can make decent comments on my experiences so far. First of all, although you may not have heard of Endeca specifically, if you ever shopped online at Walmart, Newegg, Overstock.com, Barnes & Noble, Home Depot, and others I won't list here, you've used an Endeca powered website. Basically Endeca provides search technology that customers, like those above, can build their websites on top of. Specifically, what we call "guided navigation" is one of the key features of the Endeca software. Personally I think you can see this the best at Newegg, but essentially as you move through the page you are building up a query, and along with the actual query results, the Endeca software gives "refinements" that suggest the most promising ways to narrow your search. I could go on, and on, but suffice it to say both external facing and corporate internal sites have done some really exciting stuff with our software, and theres a lot more (secret) stuff in the works. Anyhow, my specific project actually has little to do with the search side of the business. The team I'm on is developing a grid computing system to live on a group of new high-end computers we're getting in the office. The system can run any group of commands in parallel, but the first specific need for this system is to speed up our building and testing. We support somewhere in the neighborhood of a dozen platforms, the code for which needs to be built and tested very frequently. My end of the project is to write the client application that will live on the grid machines. It's a fairly interesting project, the client is responsible for determining the state of the computer, updating anything if neccesary, and when the computer falls below a certain usage level, spawning a VM and picking up a task or tasks from the grid. To make things a little more exciting for myself, I've chose to go about this using a combination of Ruby and C/C++ when necessary. So far it's been an enlightening experience, and I'm excited for what the rest of the summer has in store. At work I switched to using solely Ubuntu on my machine, since the client I'm writing will live in a linux environment. So far I've found it very productive, and I've actually switched at home as well (though I keep a XP partition so I can play games). I've found it an interesting experience, expect another post in the near future that fully fleshes out my joys and difficulties in switching to Ubuntu from XP - for anyone interested in trying the same or with good advice for some of the issues I've confronted.
  9. Generative art

    Wow those are pretty cool! I would love to have the second (zoomed out version) one as my wallpaper if you could 1600x1200-ize it for me :)
  10. And it was Bittersweet.

    Quote:Original post by d000hg Quote:Original post by Dovyman I spent a large amount of my last summer trying to track down a bug in code that shouldn't ever have needed debugging, since the customer assured us that it was "production quality" (apparently that means different things to different people) and all we needed to do was rubber stamp it.Expecting "production quality" to mean "bug free" makes you the naive one. You have to understand that this software was meant to control an internal bus on an aircraft; the reason we were hired in the first place was certify the software as safe for flight, a distinction that is no small matter when it controls safety-critical systems. So while we didn't expect to receive bug-free software, we did have a reasonable right to expect that someone who submitted software for approval of that kind wouldn't have major bugs like this one, which arose during a fairly routine use case, and ought to have been caught in any reasonable internal testing.
  11. And it was Bittersweet.

    I spent a large amount of my last summer trying to track down a bug in code that shouldn't ever have needed debugging, since the customer assured us that it was "production quality" (apparently that means different things to different people) and all we needed to do was rubber stamp it. What made this particularly difficult was there was really no good way to approach debugging it, because the software was made to run on an embedded device, so the best we could do was to output debugging messages. Not only that, but the software was actually just making low-level calls to get an on-board chip to do certain things - so to debug it not only did I have to learn how the software worked, but how the chip worked so I could see when you twiddled bit X what was supposed to happen. On top of all that, this error would only occur once in about ten runs or so, which for this device meant about once every 15 minutes if you sat there and reset it continuously. Eventually we tracked it down to of all things an uninitialized variable in the code we had be given by the customer. Along the way we discovered that the software was so broken that we couldn't possibly conclude it was safe, and after I left they hired us to do a complete rewrite. Although it wasn't a great experience for me, I can conclude it was a lot worse for the customer, who must have loss quite a lot of money both developing the original software, and paying us to figure out that it was worthless.
  12. Internships!

    I'm working at Endeca Technologies in Cambridge, MA. Long story short, our software is fairly large and is supported on roughly a dozen platforms, which makes running nightly builds/tests time consuming. My team is writing a grid computing system that will harvest the spare cycles from the more powerful office computers to run tests and give developers faster feedback. The specific piece I'm working on is the client application - it should be an interesting project :)
  13. Pirates!

    OK so I succeeded in making something of a demo level. It's not that full featured because you have no way to know where anything is, nor do you get any kind of introduction to the level. I did however start implementing some simple AI that I've dubbed "static shooters". Basically they are guns that don't move around and will rotate to follow the player, shooting when the player gets within a specified distance. It turned out to be more difficult than I thought, because I had to add some features that would let guns fire from on top of other collidable objects without damaging them (as in the gun on top of the station in the above picture). Now when each bullet fires, the sprite object that represents the particle carries with it a) the name of its weapon b) an array of sprite names that are "safe" from it. This way the collision method never even gets executed if the particle is being checked against a "safe" object. Currently the gun platforms aren't very smart, if you fly fast enough they can't catch up. Fortunately if you have a bunch of them fairly near to the object they are meant to protect, it actually is fairly difficult to avoid them. This officially concludes the 4 weeks of my final project, and I'd say that what I have is pretty good for the time I had. I plan to continue working on it, but I may be more slow over the coming weeks because next week is the last week of classes, then the following weekend/week is final exams, and then I have to drive back to Massachusetts and get settled in my apartment in Boston.
  14. Behold, a crappy HUD

    This morning I woke up, skipped both my morning classes and just studied hardcore in the library for my linear algebra test in the afternoon. I think I did OK, the computational questions were easy, but I know my answers on the proof questions weren't entirely correct. I'm hoping for the best, I did about as well as possible. After that I came home and started working on the project, which I've given the (not necessarily permanent) name Libertas. Anyhow I fixed up a bunch of dangling bugs: problems with assets not getting removed on screen transitions, exception that gets thrown when you exit, etc. I also fixed up the collygon collision a bit - due to some floating point error in the engine bouncing doesn't really work quite right. With a little finesse I've got it working, though currently it just inverts your velocity vector instead of realistically bouncing you. Thats not too hard a fix, but its lower down on the priority list. Screenshots: Control Scheme I never really intended the initial AWSD control scheme to be permanent, but I hadn't come up with any great ideas for a new control scheme. I think I want to make it mouse based, the ships heading will follow the cursor, left click will fire, and the keyboard will still control the throttle. I think this will make it easier to steer. Also I'm considering dumbing down the physics, maybe make the ship decelerate slowly anytime you aren't using your thrusters. AI? So up until now the only ship in the game was the player, but really thats boring. So I'd like to implement some kind of simple enemy ship AI soon. Realistically, it probably won't happen this week. I'm going to stick to some simple scripted stuff for the demo mission, and maybe throw in some stationary weapons platforms that will shoot at you. One of the biggest issues with the enemy AI is how to make them move, the player continues moving in the same direction once they get going, regardless of how they turn (unless they reapply thrusters). If I use this scheme with the AI ships, it could be difficult to make the ship move around accurately, but if I don't, it will seem like the ships are moving unnaturally compared to the player. Demo Level Without getting too ambitious, I've got a basic idea in my head what the demo level will consist of. You'll start out launching out of a friendly station on the map, and get some text cues that introduce you to the controls and direct you to kill some dummy satellites. Being realistic, I probably will only get about that much done, but in the future I want to evolve the mission to let you raid a small pirate base. Really the biggest obstacle is generating the art, I've managed to not do a terrible job so far, but it is time consuming. HUD I implemented a basic HUD today, the players shield and HP are displayed bottom center, and then a list of the equipped weapons is bottom right (similar to Freelancer). Right now theres nothing in the game to damage the player, and no way to change the weapons, but everything is set up so that the HUD updates itself to reflect the current player status. My next goal is to add a basic object selection system (cycle through nearby stations, nearby ships), and have it point you towards what you have selected. Without a minimap this is going to be key for a map of any size. A minimap will come eventually, but one step at a time. Bedtime!
  15. Pickles

    I haven't written an update in a little while, but really theres not much to comment on - well maybe there is: School/Work This next week is the last full week of classes, then theres a week before final exams. But damnitall I've got a linear algebra exam on Monday, so I'm spending most of my weekend going through all the material so I can cross my fingers and hope for the best on Monday. On the work front, I signed/sent the lease for my apartment in Cambridge. My other 4 intern-roommates include 1 other guy from UIUC and 3 from CMU, hopefully it will be a good combo. Progress This week was particularly busy, which didn't leave much time for development. This was compounded by a string of bugs with FRB, the engine I'm using. Thankfully the guy who develops it is extremely nice and helpful, and helped me sort out my problems over AIM and sent me bug fixes. Anyhow now all the data in the game is loaded from XML. Basically theres a pre-set directory structure that contains all the data on game assets (ships, weapons, maps, players) and it is all loaded when the game starts, and then referenced when needed. Also I changed up the collision; FRB supports arbitrary bounding shapes, so I reworked things to use this. Unfortunately one of the bugs is that I can't get bounce collision with this method, at least not without some still-to-be-done messing around. Level Design? This coming week is the last week of the project (at least for grade purposes) so I want to put out something pretty cool using what I've got so far. I didn't get as far down my feature list as I had hoped, and I won't really have much time to work on it until after my exam Monday. I started making a simple level, bu then I discovered I hadn't really thought through the gameplay very much. I had no idea what kind of objects to put in the game world - or what exactly to have the player do. I modelled the mechanics originally after Cosmic Rift - but that is an online game and it isn't story-based - so I need to do some rethinking. I'd like to come up with one cool level that shows off everything that I've managed to put together thus far. I'll throw another update up this week sometime, with screenshots. If I manage to get a decent level working I might put out a demo as well; I've gotten more used to Inkscape, and even though I suck at art I've started making all the assets myself.