Video Game Collective

buildscc | 13 Apr 2012 | | projects

Current Status

Preparations are being made to display several of our projects at the upcoming BUILDS open house.

Meetings are tentatively set for Wednesdays from 2-3.

Overview

The Video Game Collective is designed around a loose group of projects in game development that have been proposed by members. Some are personal projects or extensions of existing projects from academic coursework. Anyone looking to help or just learn more about game design and creation are welcome.

Interests

  • Java, C++, and C, and using OpenGL with these
  • Python, using Pygame
  • Blender
  • Game Design

Existing Projects

  • Untitled: A 2.5 steampunk platformer. Main weapon/tool is a gear yo-yo, used for solving puzzles to escape the underbelly of a giant mechanical city.
  • Cartographer: An exploration platformer based on an alternate 1800’s Lewis and Clark America.
  • Untitled: A rogue-like text adventure game in Python.
  • Ghost in the Gymnasium: A high school janitor must escape endless waves of monsters on the night before prom. Done using Pygame.

Members

Project Leader: Liam Wang

BUILDSbot: 12 Ounce

Chris Woodall | 22 Mar 2012 | | projects

BUILDSbot 12 Ounce is part of the overarching BUILDSbot project. The goal is to create a functional robot which can take commands from a USB serial connection (possibly move to a wireless connection eventually). The robot should also be capable of doing line following as its main function. USB connectivity is simply for testing and possibly to help simplify future wireless based communication schemes.

LAN-Tunes

buildscc | 08 Mar 2012 | | projects

Lan-Tunes is a collaborative multimedia server written in python by Allan Wirth that is licensed under the MIT License. You can see what we’ve been playing at http://www.last.fm/user/builds. Version 0.1 is planned for release by the end of March 2012. 0.1 Beta will be coming slightly before.

You can download the wrapper script here.

Contents

  • 1 Repository
  • 2 Bugs/TODO
  • 3 Creating a new plugin
    • 3.1 Frontend
    • 3.2 Backend

Repository

The bzr repository for Lan-Tunes can be found on Launchpad at http://launchpad.net/lan-tunes.

Bugs/TODO

To see the current bug list check the launchpad bug tracker at https://bugs.launchpad.net/lan-tunes.

Creating a new plugin

Creating new plugins for Lan-Tunes is easy. Plugins fall into two categories, frontends and backends. Backends plugins add new media types to display, whereas frontend plugins mostly either modify the playlist state or respond to changes in the playlist. For example, youtube is a backend plugin whereas last.fm is a frontend.

Frontend

Creating a new frontend plugin is easy. A frontend plugin is merely a module (or package, if the plugin requires multiple source files) that defines a class Plugin that subclasses FrontendPlugin (from src/frontendplugin.py). Plugin must have the same constructor signature as FrontendPlugin and must also call FrontendPlugin’s constructor. Frontend plugins are designed to run in their own thread, although they are not required to (for example, the lastfm plugin has no thread of its own).

Frontend plugins that require their own thread should override the functions run() and kill(). run() will be called in a separate thread, and calling kill from the main thread SHOULD cause run to return (and ideally join with it). Note: Because run will be in a separate thread, all calls to GUI methods must be made through the util.idle_add interface in order to avoid locking problems.

Frontend plugins can also connect to the methods of the playlistmanager object that they are passed in the constructor.

For an example of a simple, non-threaded plugin see src/frontends/lastfm/init.py.

For additional documentation see src/frontendplugin.py.

Backend

Backend plugins are slightly more complicated. Like a frontend plugin, a backend plugin is merely a module (or package) that defines a class Plugin that subclasses BackendPlugin (from src/backendplugin.py). Again, Plugin must have the same constructor signature as BackendPlugin and must call BackendPlugin’s constructor. Unlike frontend plugins, backend plugins do not explicitly have their own threads (although they can for playback).

The following methods of BackendPlugin must be overridden:

  • init(self, backends, conf) - Should passthrough to backendplugin.init. backends contains a dictionary of the names of the already loaded modules mapped to their Plugin.
  • get_widget(self) - Should return a gtk widget that will be used for url that have ‘video’: True in their metadata. Will be called in the gtk main loop. This method is REQUIRED unless get_metadata never sets the video field to true.
  • can_play(self, url) - Returns true if this backend can play a given url. This MIGHT be called OUTSIDE of the gtk main loop. This method is REQUIRED.
  • play(self, url) - Plays a url. This may be called outside the gtk main loop. Sometime after a call to play, the plugin MUST emit(“stopped”) in the gtk main loop (potentially using util.idle_add). This method is REQUIRED. This function MUST NOT BLOCK.
  • get_metadata(self, url) - Retrieves metadata for a url. This will be called OUTSIDE the main loop. This should return a dictionary containing at least the key ‘video’ which will determine if the the gui will use the widget while playing this url. It can (and should) also contain the keys ‘title’, and ‘duration’. Additionally ‘artist’ and ‘album’ are optional, but recommended if available. This function is expected to block for some indeterminate amount of time (ideally short). This method is REQUIRED.
  • set_volume(self, val) - This sets the volume of the backend. This will be called OUTSIDE of the main loop. val will be an integer between 0 (min volume) and 100 (max volume). This method is REQUIRED. Backend plugins MUST also define a variable DEPS that contains an iterable of names of plugins that this plugin depends upon.

For a simple example of a backend plugin see /src/backends/youtube/init.py. For an example of a plugin that wraps the core VLC plugin see /src/backends/xhamster/init.py.

For additional documentation see /src/backendplugin.py and /README.

Meeting Minutes for 2012-02-29

buildscc | 29 Feb 2012 | | meeting-minutes

02/29/2012

Kyle Brogle

  • So new officer elections will be held the week after spring break, so submit tickets!

John-Nicholas Furst / Dan Gastler

  • The door is back in gear so talk to John to get in the database for swipe access. If the door jams, text Dan Gastler (if you don’t have his number, ask him in person). If you want to hack on the door, talk to Dan or someone else on the project.

George Silvis

Just a short update on computers, they are set to sleep to save some power/ temperature/ etc.

Monica Gribouski

For multitouch: we have to spend some time coating the plexiglass (this weekend). Show up and help!

Dan Gastler

BUILDS portal project: potentially make more of them, or somehow standardize them, and get some sort of inter-hackerspace portal art going.

Allan Wirth

Lantunes is now more stable than ever! On the wiki there’s a good guide for how to hack/use lantunes.

George Silvis

If you’re interested in porting a VBA (virtual boy advance, gameboy (advance) emulator) to linux and mac OS, talk to monica, george or john.

Chris Woodall

BUILDS Bot! 12 Ounce now can follow lines, yielding a successful project. BUILDS bot is now one step closer to creating a Robot Overlord. The next meeting is tomorrow night (3/1/2012) at 8pm.

Allan Wirth

BUILDS coding bee is set to be held the weekend after break. We are still accepting language suggestions, so talk to George or Allan if you’re interested.

Chris Woodall

Stop by this sunday (at 4pm) to travel to Sprout at Davis Square to check out the BOSS lab (Boston Open Source Science Lab) (Map (Directions from 700 Commonwealth aka Warren Towers)

Artisan’s Asylum Hovercraft Competition

Monica Gribouski | 27 Feb 2012 | | news

BUILDS recently participated in the Artisan’s Asylum Hovercraft Design Challenge, which took place from Friday January 27th at 7:30pm to Sunday January 29th at 7:30pm. Upon arrival, teams were given kits containing two brush motors, two servo motors, a radio receiver and transmitter, a hunk of foam, and a plywood plank. After getting a basic rundown on how not to kill themselves with the variety of equipment available at Artisan’s Asylum, the teams got to work.

BUILDS entered two teams: Team McFly, containing Chris Woodall, Ian Felder, Alejandro Bancalari, and Marc Beneck; and The Cult of the Devouring Fan, containing Patrick Erlicher, Rusty Shomberg, Alex Whittemore, and Billy Gulotta. For both teams, Friday night was devoted to planning. The Cult of the Devouring Fan knocked out their designs and left early due to other obligations while McFly stayed up late cutting out the basic outline of the hoverboard in foam. With a double-thick foam base, McFly’s craft was far larger than any of the other teams’.

Saturday morning the members of McFly purchased more supplies and spent the day working. By the end of the day they were the only team with a completely functioning hovercraft, and therefore left early.

The Cult of the Devouring Fan wasn’t faring so well.

“We had really grand designs,” says Patrick Erlicher of their process. Unfortunately, the complex plans to combine lift and steering into one smooth mechanism weren’t possible with their situation: at any one time, they only had one working motor due to burnout of the other, and team members had other commitments and kept dropping in and out. By Sunday morning they were in rough shape: still attempting to optimize their craft but with no real functionality, team member Alex Whittemore was forced to bring in another motor. Things continued to go downhill: a member of the Cult was shipped off to the hospital after an incident with misjudged depth perception and the main fan of their craft, and by 7pm, the race just half an hour away, the craft still didn’t have enough torque to maneuver correctly.

McFly, comparatively, were taking the day easy. Confident about their early working craft from the day before, they arrived late and spent the day decorating their hovercraft. When it came to race time, they were pitted against the other larger crafts. As the race began one team didn’t take off, but McFly and the other craft floated down the track. Approaching the finish, the other craft’s motors burnt out and it crashed, blocking the path for McFly to get through. While fighting their way around it, McFly’s engines burnt out and the race was a scratch. They were able to replace their motor for the second race and was the only craft to take off, but unfortunately burnt out before the finish line again.

Meanwhile, the Cult of the Devouring Fan, running off chicken wings and prayers, decided to completely re-vamp their design half an hour before the race. They changed their propulsion system to push rather than pull air, remounting the rudder, and only tested this new design in the hallway en route to race. The only two crafts to lift off were the Cult’s newly christened “Brogle the Insatiable”, named after the BUILDS president, and Artisan’s Asylum’s own Magic Smoke. The Asylum’s team had a clever cooling method: to keep the motor from burning out, they put the body of the motor in a soda can full of ice cubes. It was a close race in that both crafts were definitely going to finish (many crafts had trouble taking off), but due to Brogle’s speed and the maneuverability it gained from being able to bounce itself out of corners meant that the Cult of the Devouring Fan came in first.

All teams that competed won one month free membership at Artisan’s Asylum, and Brogle the Insatiable remains on display as the winning craft for the next year. BUILDS was extremely impressed with the hospitality and facilities of Artisan’s Asylum and hopes to both compete and work with them again in the future.

Red Bull Flugtag

buildscc | 22 Feb 2012 | | projects

Overview

Red Bull Flugtag (German: flight day, airshow) is an event owned and operated by Red Bull in which competitors attempt to fly homemade human-powered flying machines. The flying machines are usually launched off a pier about 30 feet (9.1 m) high into the sea (or suitably sized reservoir of water). Most competitors enter for the entertainment value, and the flying machines rarely fly at all. (Stolen from Wikipedia!)

Pictures

Flugtag San Francisco 2003

Mailing List

flugtag-list@bu.edu

Documents

Meetings

Please submit your summer availability here: http://www.doodle.com/3rh9mttcmdnq2n2c

Flugtag Meeting Minutes 04-21

Members

(Add your name here)

  • John-Nicholas Furst (Project Leader)
  • David House (Project Leader)
  • Kyle Brogle (Project Leader)
  • Valerie Young (Project Leader)
  • Brian Hepler (Project Leader)
  • Chatham (Project Leader)
  • Samir Ahmed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25