Wednesday, September 29, 2010

Weekly Progress (Sept. 29)

This week, I started working on some rough 3d models to use in the game. The monster has been implemented into the prototype posted earlier. I'll continue working on other models as needed (and on my own).
For some reason, I cannot post my drawings on this blog. Instead, I have put them up on a website where I put some of my artwork occasionally. Have a look.
www. storm-artists. net/ view/ 98021
www. storm-artists. net/ view/ 98022
Comments?

Weekly Progress - Rob

This week I worked on putting together a low poly model that would represent the players animated, instrument playing avatars or potential zombie monsters as part of our first-playable prototype.

Weekly Progress

Over the weekend, Unity 3 was released. We had been hoping for this to happen before we started working on this project, because of a few advantages that it would bring us. I looked into the new features that Unity 3 brings, and tried to figure out what might help us and where. Among other things, improvements were made to the debugging and the audio engine, both of which are pretty important to our project.

This week we were also tasked with an initial prototype of the game in order to allow us to test out some of our game ideas and aid us in our decision making process. I spent a good deal of time, and managed to come up with a 'first playable version' of sorts. There is placeholder art everywhere, but the simplest mechanics are down.

The player has 5 cubes at the bottom of the screen, which represent his current 5 instrumentalists. Their instruments are labeled below them. Each one has 4 patterns which they can play (which are the same rhythms across all instruments). The one labeled "Pattern 0" is empty, representing the instrument not playing anything. The user can click on each of the patterns and the instrumentalist will start playing it.

As soon as the game starts, monsters (Joey's Chordcat model) spawn at the white cube in the back. They rush towards the player. If a monster touches the white plane in front of the player, that monster dies and the player loses 1 health (shown at the top). If the players health reaches zero they "lose". For now monsters keep coming, mostly for testing purposes. The player can click a button in the top left to reset the monsters and their health.

To stop the monsters, the player must select patterns for their instruments. Whenever one of the Bass Drums play a note, the monsters are slowed to half their movement speed for 1 second. Whenever one of the Snare Drums play a note, all the monsters take 1 damage. Whenever the Synthesizer plays a note, the monsters take 2 damage. Each monster has 10 health, and a new monster is spawned every half second.

The prototype can be played Here

Weekly Progress


As we still haven't been able to really iron out the details of the game, we've decided to go ahead and make a prototype before doing the tech design docs. So far we have a couple of blocks representing the player's instrumentalists aranged on a plane and a spherical monster that moves towards them. A simple UI with buttons under the instrumentalists allows the player to toggle patterns of notes with some simple sound clips. I'm currently working on implementing a system to damage the monsters when a note is played. Unfortunately as we already discussed at the beginning of the term, the issue of the two of us tech guys working on the Unity project individually seems like it could be problematic. However, I'm sure we'll be able to figure it out.

Monday, September 27, 2010

MQP Meeting 9/23 Notes

Here are the notes from our weekly meeting with Professors Rosenstock and Finkel. Sorry for it taking a while for me to put these up.



  • We went over both mine and Joey's concept art and discussed what we liked, possibly alterations, and ultimately what art direction/style we would want to take (what feeling we want to get from it)
  • Professor Rosenstock brought up the possibility of having to complete other challenges such as creating weather or breaking down walls in addition to fighting monsters
  • Kyle brought up some software that is able to analyze a given piece of music and is able to report back on things such as temp, key, but nothing as far as being able to judge creativity (perhaps it doesn't even matter)
  • We presented and discussed our most flushed out design concept and focused on what things we might still be missing or hadn't thought of yet; these include potential background tracks, looping, the point of view, and potentially fixing sequences on the fly
  • Professor Finkel suggested we try to put together a first playable version so we can judge how everything looks on screen, if we like how it works, and to get a basic sense of the battle mode game mechanic
  • We also discussed Brian's idea that a person can compose a song, which is then turned into a monster, and in order to defeat the monster a player must compose something similar to the original composition which created the monster to begin with
  • We discussed potential GUI ideas, how to address not durations (MIDI in Unity), possible in game instrument limitations, having preset compositions for instruments, and having specific art assets to correspond with specific musical sequences
  • Kyle described his Task Objects & Actions agenda item
  • NEXT MILESTONE: creating low-level, placeholder art assets as well as basic GUI elements in order to put together a playable, interactive demo

Wednesday, September 22, 2010

Concept Art

We've come to an agreement that we want to implement monsters attacking from a distance and using music to fight them off. Because of this, I drew up some concept art of the monsters this week. Unfortunately, I've been trying to upload some pictures and failing to do so due to technical difficulties. Somehow, I will get the pictures I scanned up here (and maybe rescan them for better quality) at some point.

The pictures I drew come in two different styles:
A.) Monsters made of symbols you would find in sheet music with odd markings on their bodies. They are supposed to be more monstrous.
B.) Monsters that look like cartoony versions of creatures we see in real life. Their bodies are adorned with various symbols from sheet music.

According to the milestones, it looks like I have to start on models this week. So, which direction do we go in?

Weekly Progress


This week we worked on possible designs for the user interface, while at the same time continuing to flesh out the concept. We came up with a lot of good ideas, and it's prooving difficult to chose which ones to go with. The UI design will depend a lot on certain design decisions; for example, wether we aim for more of a compositional tool or focus on real-time performance aspects. Because we have still not settled on just one idea, figuring out what the UI will look like is tough, so I decided to try a more technical approach. I created a quick list of task objects and task actions which fit to the general ideas that we seem to be leaning towards.

Task Objects:

1. Instrument
  • Unit(s)
  • ??
2. Pattern
  • Notes
  • Units/Instruments
  • ??
3. Monster
  • Type/Weakness
  • Spead?
  • ??
4. ???

Task Actions:

1. Compose
Objects:
  • Instrument(s)
  • Pattern(s)

Actions:

  • Create patterns by selecting instruments and notes for them to play
2. Perform
Objects:
  • Pattern(s)
  • Monster(s)
Actions:
  • Select patterns to perform to appease/weaken monsters
  • Create good sounding music
3. ???

One of the things me and Dylan also looked into was a possible metric or algorithm for scoring "good" music. We came up with some possible ideas for scoring how well the user is able to follow certain criteria, but it is still difficult to score creativity which might break the rules but still sound good. This is something we will certainly have to keep in mind throughout this project.

Weekly Progress 9/22 - Rob

This week we had the milestones of concept art as well as a fleshed out design document. Individually I've focused more on creating concept art for potential monsters rather than broad artistic styles because I think it's more important to figure out the GUI and the visual mechanics of gameplay, which Dylan has already had some great ideas about; once those kinds of things have been set in stone it's easy to adapt it to whatever artistic style we eventually choose.

I've also put together a rough concept/design document that I'll be able to bring to the meeting. We feel like we have a solid basis for the game and so I think it's important to be able to write it up so we have something on paper that we can always refer to.

Weekly Progress

This week I spent a lot of time doing a lot of design work. I brainstormed a bunch of different ideas for our concept, which I brought up and talked about during our group meetings Monday and Tuesday to help bring our concept along. It is better defined than it was before and we've narrowed it quite a bit. We are still unsure about whether we want to take it in the performance or composition direction, so I've helped develop ideas in each.

For the milestones this week, we had Interaction/GUI Designs due, so I came up with a few different GUIs we could use. I drew up some simple examples and explained them during our meeting. I came up with a few different things for the composition interface and the 'performance'/game interface.

I also spent time working with Kyle on the problem posed by Prof. Finkel on Thursday. We were trying to come up with an algorithm to "score" music, especially on its creativity, but decided it's probably too complicated of a problem for this project. We have some ideas for how we can score music based on a few preset 'goals', but as far as how creatively or how well the music accomplishes this, we can't find an easy way to do it. It seems much easier to just ask other users.

Also during this week, I prototyped a fairly simple matrix/step sequencer in the Unity WebPlayer. I wrote a post (with a link to a playable version) on it, which is available here. It demonstrates some of the basic composition functionality and that it's possible with Unity.

Monday, September 20, 2010

Game Concept Thoughts

After attending the meeting last Thursday (9/16) and hearing the potential issues for creating the game, I came up with a couple ideas that might help. I don’t mean to try and influence the game design much, but perhaps you guys can take these ideas to brainstorm and take the game in whichever direction you want to take it. My thoughts are as follows:

I liked the idea that players would fight off monsters with music. However, it would be difficult for the computer to tell whether the player is fighting correctly. It would be possible for the computer to award points for harmonically correct notes, but there are many different musical modes which would sound good but be scored low because they are “more creative.” My proposal is to have each monster associated with a pre-composed song. Players who fight a monster have to somehow recreate that song using the instruments in their band and improvising as needed. Basically, everyone who fights monster X will end up with something sounding similar to song X. This will give the player something interactive to do while playing/rating songs, and make the game worthwhile to play for people with no musical talent. For people who can compose, however, they can go into the composition mode, create a song, and then click a button to turn it into a monster that other people can fight. Hopefully this makes sense; I can elaborate on it if need be.

Friday, September 17, 2010

Bigger Unity Sequencer Example

I just spent another hour or so and expanded the Unity Web Player Sequencer example to something more along the lines of what I was originally aiming for. I grabbed some sounds from FL Studio and added a 4 pitch synth and a kick. I also added a tempo slider to allow users to dynamically alter the tempo. This more accurately demonstrates what we were talking about where we could "stack" instruments where some have more pitches than others.

Aesthetically/Graphically it could be organized a little better so the different instruments are separated a bit so the synth seems more like one group, but this was a quick example.

You can try it out yourself here.

Unity Sequencer Example

This morning I decided it'd be a good idea to demonstrate a sequencer in Unity. After all our talk in our meeting yesterday about different interfaces and sequencers, I thought it'd be a good idea to at least prototype a sequencer and prove it could work in the web player. I had been aiming for something along the lines of demonstrating different instruments having different setups inside it (a drum on one line, a guitar with 6, etc).

Currently, after about an hour to an hour and a half of work, I have a working demo of a single tracked, single noted step sequencer that runs in the web player. Basically, there are 16 buttons, each representing a tick of some sort (whether they're beats, half beats, etc isn't really defined). An X is put on the one that represents the current tick. The X moves across the row of buttons and plays a click when it hits a button which is 'enabled' or 'toggled on'. Once it gets to the end, it repeats. This X moves at a constant speed across the buttons.

This example is available for anyone to try here.

Thursday, September 16, 2010

MQP Meeting 9/16 Notes

Here are the notes from our weekly meeting with Professors Rosenstock and Finkel.


  • This was our first meeting at our new meeting time and location (4:00pm / FL 141)
  • Spent time getting Professor Finkel up to speed on current progress; this included introductions, MQP related jobs, nature of the contract, previous research, and future milestones
  • We went over the Team Contract and eventually signed it
  • We continued to discuss and flush out the multiplayer component of the game
  • Joey discussed his idea of using user composed music to fight monsters; this included monsters feeding on/causing disharmonies, playing correct harmonies would fight off the monsters
  • This discussion evolved into a game mode where each monster provided the player with a pool of "musical resources" or restrictions which would serve as the framework for which they composed in
  • A further evolution involved creating varied compositions out of battle, and then once in battle the monster would alter or disrupt what the player has composed, causing the player to have to adapt in real time
  • We also discussed a potential format where playing certain notes or a in a certain style would attract audience members
  • Professor Rosenstock brought up the topic of Performance vs. Composition; Rosenstock was concerned a computer would serve as a poor judge of creativity
  • Professor Finkel elaborated that, if humans can't even come to a consensus about what is good music, then an AI would have even more difficulty
  • We discussed possible methods of scoring, whether they be in-game based on the structure of the composition, or whether by other people
  • This is an important decision because it directly influences the direction of the tech team (AI system vs. social networking platform)
  • Professor Finkel suggested the tech team to try and come up with a design of a potential algorithm or method to implement a computer scoring system (may be impossible)
  • We debated the nature of Creativity vs. making "good" sounding compositions
  • Professor Finkel made an intriguing point that people today vastly prefer classical music over contemporary music, so what players would probably prefer would be more traditional styles, which would conceivably be easier to score
  • Finkel referenced the game ElectroPlankton (http://en.wikipedia.org/wiki/ElectroPlankton)
  • The tech team briefly discussed possible Unity limitations; these included: the use of dropbox over SVN, the use of the web player has limitations in terms of how many and how fast assets can be loaded during the beginning, there is no video playback or streaming within Unity, the web player limits how much can be saved on a local machine, and debugging in the web player is cumbersome
  • A potential limitation is the number of sounds Unity can support (simultaneously?)
  • NEXT MILESTONE: putting together a art concept document (mock up of interface, concept art of monsters as well as the in-game world, text description of overall art style), putting on paper the concept document once the multiplayer mode has been finalized, and Professor Finkel's suggestion for the tech team

Wednesday, September 15, 2010

Weekly Progress 9/15 - Rob

This week we determined a separate meeting time for Team Members outside of our weekly meetings with Professor Rosenstock. I've also made it through approximately 75% of the 3rd Person Platformer Tutorial and so far I'm really enjoying Unity. The workflow is very flexible, and though it sometimes seems like there are a lot of things to keep track of once you are in the swing of things it's easy to get used to. I've also put together our Team Contract which we will be able to sign tomorrow. As a group, the only thing left concerning the concept document is deciding on the specific design of the multiplayer mode of the game.

Possible Game Concept

Some of the other guys here, like Dylan, have already listed out brainstorming ideas for the Battle Mode of our game. However, before we can really get to work on a battle mode, we really need to nail down our single-player version (or "composition mode") first. I did bring up this idea I had for a single-player mode at the meeting, though I didn't go into as much detail as I would've liked to then.

The basic story would be that you assume the role of a traveling musician wandering a world where villages are frequently attacked by monsters (maybe called "Cacos"). The only surefire way to drive off these Cacos is by making music.

The player begins his journey with a very simple instrument, like a stick. The Cacos dwelling in the first village the player encounters are not that threatening; simply beating your stick in a rhythm will vanquish them. However, the player cannot fight off the more powerful Cacos alone. He must join forces with other musicians with other instruments that have the power or unique qualities to fend off these beasts. For example, a guitar that stuns enemies, or a bass that shakes the earth.

However, the key to effectively and quickly vanquishing the Cacos is making music. You can't just bang the stick any old way and expect it to work, or simply let your hand strum out of control on the guitar; the Cacos thrive on the absence of harmony. Subjected to harmonious music, they withdraw, pass out, or even disappear. Keep a relative rhythm! Play notes that sound good! And pay attention to what your buddies do! If all of you together play a song that sounds good, the damage you do to the Cacos multiplies quickly. Messing up once in a while is fine, but if the band isn't playing together for a while, then the angry Cacos will jump on the chance to strike during a moment of weakness. The drummer may control the tempo of the song, but he must also be supported by his friends playing the right notes and at the right moments. The band that plays together stays... alive.

Through your adventures, you'll be able to acquire some useful tools that you can use to defend the villages from Caco attacks more effectively. New instruments and upgrades gradually become available for you to use and master (i.e. drum kits, guitars with more strings, keyboards). You may also find tablets that list out different measures that you and your band can play, making it easier to see what notes or beats you should be playing next. By combining the measure tablets in effective ways, you can create full songs that may be able to drive off any Caco outbreak. Hey, if you don't know what you want to play, stick with what you know.

So, there's my basic idea. Of course, terms like "village", "attack", or "Caco" can be modified, but the idea would still be the same: a troupe of musicians traveling around the world making music to make the world a better place. Any thoughts? Comments? Criticisms?

Weekly Progress

We've scheduled a new meeting time to meet with Prof. Finkel who has decided to come aboard. We've also decided to meet by ourselves weekly. I've made more progress on the 3D platformer tutorial. Unity seems like it will be easy to work in, especially for the artists. It may be a bit unusual for the tech people though; dragging and dropping scripts onto objects is kind of weird.

A lot of my time has been taken up by an IMGD 3XXX project. I hope we decide to stick with regular input devices for the Music Game as working with hardware can really be frustrating! :\

Weekly Progress

Besides attending the weekly meeting we had outside of our normal thursday meetings, I've made some other progress in other areas.

Firstly, I came up with a list of all limitations I could find on Unity. I made a list of them and ranked their relevance in a document, and made a post about it (Available here).

I also came up with some Ideas for the battle and laid out a couple of our thoughts. Notes on this are available here. Another thing I ran into along these lines was a web API by EchoNest that can "analyze" music in a few different ways, most of which may be too abstract for scoring, but definitely at least worth looking into. (Links are available in the notes link above).

In addition, I have worked out the advisor situation, and have figured/planned out a meeting time for the whole group.

Tuesday, September 14, 2010

Unity Limitations

We've been looking around at what the different limitations of Unity are. We're probably stuck using the free indie license, which puts some more limitations on it. We're also intending on making this a "Web Player" game, so that restricts us a little bit further.

So this week we aimed to figure out all of these limitations of Unity, and how they may affect us. Here is a link to a running list of all the limitations we've come up with, each shown with a importance or relevance to our project.

Monday, September 13, 2010

MQP Meeting 9/9 Notes

Heres a summary of what we discussed in our weekly meeting with Professor Rosenstock on 9/9



  • Team Roles have been set
  • Need to hammer out the details of the 'contract', member expectations, responsibilities, communication, task lists, etc.
  • Discussed the use of the Google Calendar and possible future changes, such as the breakdown of more broad tasks into smaller, more manageable ones which are then assigned to team members and listed on the calendar.
  • Possible agenda item for next meeting: Brian's role, notably during A-term when there is a lot of preparatory work.
  • Dylan expressed concern over using SVN, suggested the use of Dropbox
  • Possibility of talking to Derrick Barth (IMGD Lab guy) about the potential use of the Pro version of Unity.
  • discussed possible UI elements such as visual performance confirmation while composing, scaling game complexity, note restrictions, etc.
  • Discussed possible new meeting times to reconcile with Professor Finkel.
  • Discussed utilizing Google Groups as an email alias.
  • MOVING FORWARD: we discussed potential variations on multiplayer game modes as well as addressing the next set of milestones.

Wednesday, September 8, 2010

Not Much To Say

Not much to say but I've been following the "3rd Person Platformer" tutorial for Unity and so far it's looking like it will be a pretty good engine to work with. I've also volunteered to be the group's Agenda Maker and also help with documenting.

What I've Done (Sept. 8)

This week I have volunteered for the position of Project Documentor. I've also been reading up on some of the music composition interfaces that Prof. Rosenstock recommended, specifically the Roland TR-808 and a work of music software that simulates it: ReBirth. Here are some links for more information.

ReBirth Museum
Two music demos from hollowsun.com

Weekly Progress - Rob

I've taken on the roles of Note Taker and External Relations. I've read through the Unity Basics documentation, however I haven't been able to finish the "3rd Person Platformer" tutorial because of family commitments which took up my extended weekend. I've also looked into a variety of composition interfaces including some of the ones Professor Rosenstock listed as well as other programs such as FL Studio, Reason, and Finale. I'll be able to provide pictures and examples during our next meeting.

Weekly Progress

This week we were assigned to work through the Unity tutorials/Documentation and research Musical Composition interfaces. In addition to these two things, I also got together this blog, our Google Calendar, filled in with an initial set of Milestones I arranged for the term.

I also talked to other Professors about co-advising. I met with Prof. Finkel tried to work through times with him, though no final decision has been made as I'm still awaiting responses on what times work for everybody.

I also looked into some other things for group management/collaboration (including Google Groups/Dropbox) which I may push people to use as we progress through the term if they seem like they would be useful.

Lastly, I did some work coming up with a few other limitations with Unity that we may have, though this is more for next weeks discussions.

First set of Milestones

Here is the initial proposition of milestones for the first term of our project:
September 9th:
Complete unity development tutorials/gain experience with Unity platform
Research existing music composition interfaces

September 16th:
Elaborate on Concept Document to flesh out the details of the game
Research limitations of Unity, web player

September 23rd:
Design game GUI/interaction
Create Concept Art/Design Documents

September 30th:
Write Tech Design doc for each tech aspect
Create low poly character model/rig that can be customized for each character

October 7th:
Initial prototype progress (Art Due?)

October 14th:
Create core art/animation/GUI/audio assets
Build Functional Prototype of game Composition mode
This will also be maintained and kept up to date on our Google Calendar if it changes.

Sunday, September 5, 2010

Original Concept Document

Here's a link to our original concept document. This will probably change drastically as we work through the design process, but here it is to start:

Original Concept Document

Friday, September 3, 2010

Blog Created!

Hello!

This is to be the blog to document progress for the Music Game MQP at WPI in the 2010-2011 school year. We will be posting information and media about the progress of the project as we work through it. You can look forward to images, videos, and possibly prototypes being hosted here, and can follow our progress!