Results 1 to 5 of 5

Thread: Just finishing up an open source game of Asteroids for Ether Dream

  1. #1
    Join Date
    Apr 2012
    Location
    Atlanta, Georgia, US
    Posts
    37

    Default Just finishing up an open source game of Asteroids for Ether Dream

    Hey everybody! I'm sorry I haven't posted any updates since soliciting your help for building/purchasing a laser projector. Long story short, I bought a 30K projector built by Chad and Jacob's Ether Dream DAC. Both of them have been amazing in the help that they've given to me. I can't thank them enough.

    So, here's my first application for the Ether Dream: Laser Asteroids. I've been programming it for a 48-hour "game jam" competition held by my university, and technically the event isn't quite over yet. (And the game needs a lot of polish.)

    I'd like to see if this game will run on other projectors. Obviously you'll need to have an Ether Dream. Be aware that since I'm new to this, I'm not sure if it's putting too much work on the galvos. This is my first real project I'm programming on the laser projector, so it's not as sophisticated as some of the stuff I want to get into (leveraging OpenGL/CUDA, Canny/Sobel algorithms, etc.)

    I'd love comments/critiques. Any patches will graciously be accepted after tonight.

    Oh, and the game is MIT-licensed. I wanted to put it out there so people could have fun with it if they wanted. Cheers, everyone!

    Edit: and here's a video.
    Last edited by echelon; 10-03-2012 at 22:20. Reason: added a video
    lasers.iobrand.io • bt at brand dot io • echelon at github (has some laser projector codes in Python and Rust)

  2. #2
    Join Date
    Jun 2009
    Location
    The Woods, CA, USA
    Posts
    534

    Default

    Doh no python installed on laser machine, Do have a ps3 controller....Guess I should build up a VM with it. Huge thanks for building this. New stuff in the open source world of lasers is a huge help to get others started. My only requests is get mame going with Ether Dream, and I'll take a VLC viz plugin. =)

  3. #3
    Join Date
    May 2009
    Location
    UCSB
    Posts
    715

    Default

    Very cool, may have to rip my dac out of the laser etcher to give it a try (or leave it in the laser etcher and give it a try, I suppose that would work too...) !warn

    Out of curiosity, is there a reason you chose to use interface to the dac directly as opposed to using the EZAudDac.dll interface? The one advantage that I see for the python script (or using tcp/ip directly for that matter) would be that it should run under linux just fine, but it also means that it can't be used with any other dacs, which is a bit of a downer. The reason that I ask is I have been writing some software for the etherdream, and chose to use the dll file. This was mainly because it was nice to be able to use the audio out for debugging instead of lugging the dac around, and I am worried 12 bits won't be enough resolution down the road, although it would be nice to be able to play around with it under linux...

  4. #4
    Join Date
    Apr 2012
    Location
    Atlanta, Georgia, US
    Posts
    37

    Default

    Quote Originally Posted by krazer View Post
    Out of curiosity, is there a reason you chose to use interface to the dac directly as opposed to using the EZAudDac.dll interface? The one advantage that I see for the python script (or using tcp/ip directly for that matter) would be that it should run under linux just fine, but it also means that it can't be used with any other dacs, which is a bit of a downer. The reason that I ask is I have been writing some software for the etherdream, and chose to use the dll file. This was mainly because it was nice to be able to use the audio out for debugging instead of lugging the dac around, and I am worried 12 bits won't be enough resolution down the road, although it would be nice to be able to play around with it under linux...
    You nailed it. I pretty much only run Linux systems. I wasn't even aware that there was a linked library target for Windows, but I'll have to check it out.

    Is there some resolution limitation associated with directly controlling it via Python that you wouldn't experience with the audio out? I'm very uninformed about this, and I'd love to learn more before I proceed with writing more programs.

    In the coming weeks I'll try to drive some additional efficiency out of the program so that I can draw more onscreen. I definitely need to add a scoring system, and as of yet I haven't implemented alien ships or fragmenting asteroids. I still think it was a fun "first experience" programming the projector.

    A colleague of mine took a video and supposedly uploaded it to Youtube. As soon as I find it or get the link, I'll post it.
    lasers.iobrand.io • bt at brand dot io • echelon at github (has some laser projector codes in Python and Rust)

  5. #5
    Join Date
    Apr 2012
    Location
    Atlanta, Georgia, US
    Posts
    37

    Default

    Sorry for bumping this, but I wanted to add a video another student took about a month back. (Warning--there is a bit of language in it. He's totally foul mouthed. :P)

    http://www.youtube.com/watch?v=zd7A6TEthPQ

    Also, it's important that I note: I'm aware that the projector is hitting windows and a walkway, but the walkway is damaged/closed off and nobody is in that old building at that late hour. These things stated, for safety reasons I'll err on the side of caution and not do that again. I'm coding a view frustum that adjusts everything in scene to a single, well-defined rectangular region.

    As far as my progress goes, I'm starting to write a new engine in Mozilla Rust (which is sweet) and I should have some much more advanced games and technical demos in a month or two.

    Exams and group projects willing, expect Tetris soon.
    lasers.iobrand.io • bt at brand dot io • echelon at github (has some laser projector codes in Python and Rust)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •