Did we end up getting those pencils done? If someone could upload the final project, that’d be sweet. And the documentation.
I wanna finish off my archive of uni projects.
Happy holidays all
P.S. C++ is hard. :p
I’ve had a bit more of a play with the Minim library and I think I’ve improved it a bit more (Nick please jump in and let me know whether this is going in the direction you originally intended). The sound system now figures out the length of all of the samples as it loads them and uses this information so that a single creature will wait until one of it’s previous samples has finished before starting a new one of the same type. This is handled with a set of delay variables. In general, I think it allows one to hear what is going on much better, i.e., I can now tell when creatures are drinking or dying — but maybe I’m just getting more familiar with the sounds.
OK. So the first thing I’ve been looking into is the problem that Nick’s been having with getting the audio playing. What I’ve discovered is that Ess has more difficulties in this area than other libraries, in particular Minim. The attached code is a simple attempt to replace Ess with Minim and use the AudioSample class and the trigger() method to produce a true cacophony. I don’t know if what it produces is what you had in mind Nick, but in case it is I thought it would be of interest. (BTW: Please don’t think that just because I’m playing with the sound code, that I think it any less of an achievement, it’s just an area I can see some potentially simple solutions to outstanding problems.)
Pencil collision is all done. Shadows TOO!!
Jack, just needs images/roll animations now.
Apart from that, I think we’re all done. Unless people want to optimise their code (individual physics for each animal? maybe… anyone? :p)
Here’s the latest code (including Nick’s new sound stuff):
Jack, I’ve done all the collision stuff for the pencils and calculators now. But the graphics aren’t there.. what’d be sweet for the pencils, is if we could have a ‘roll’ animation which plays when roll = true. Play it and you’ll see what I mean.. you need a few (or 1 really big) creature to push it.
They fall off the edges, too
P.S, doesn’t work properly with the walkers yet. Chris, I think this is because the shiftTo() thing is acting weird? It seems that whenever I call it, the animal shakes around heaps, instead of simply translating across by x & y. Not just for pencils, for any other collision where I call it – usually structure.shiftTo(x,y).
Ok just some small changes to MorphemeBJ_soundUpdate. The change log is as follows.
- Fixed a bug in the sound set assignment code, located in the assign attributes section, which stopped any creatures from having the ‘Large Creature’ sound set being assigned to it. (simple error in values 6.0 should have been 0.6)
- Made some more tweaks and general improvements to the raw sound files.
I know you’ve still got some work to do to finish the code and get things into a state where you’d want other people to download and try it, but I just want to repeat what I said in my last comment/e-mail.
Together, you’ve done an amazing job and you should be proud of it. Once you’ve finished the code you should think about how you can promote it (and yourselves). I think you should definitely set up a web site to document the work you’ve done and then I think you should start by submitting a story for the Processing gallery. After you’ve done that, you might like to think about contacting other blogs/websites as well as traditional news services to tell them about what you’ve done.
Send me some material (e.g., good quality screenshots etc.) and I’ll try to get a piece in the next Archetype newsletter that goes out to people associated with the Faculty. As I mentioned, I’m going to be showing Jon McCormack your system in a couple of weeks when I attend a workshop on ecosystems.
Here (updated the AI in this one, and a few other things. New babies in training are shown in a bar graph up the top right):
As far as I know, we haven’t officially submitted yet, and the exhibition version was kinda buggy from that massive merge. After all this time, we might as well have something working properly.. It’d be a shame for it to be so buggy simply because we didn’t merge the code correctly (though we DID stay up all night attempting to do s0). Anyway, no longer under time pressure, I went through and cleaned it up a bit. All in all, it’s quite a bit better, but could be drastically better with just a few changes. I’ve tried to fix as much as I can, but there are some things I don’t quite understand. Here are the major changes: