Panda Project/Blog

From MCIS Wiki

Jump to: navigation, search


23:35, 26 June 2008 (UTC)

Small note here just because I can't think of a better spot:

In addition to the somewhat hidden shortcut key of F9 for easyeclipse to run a script(which has probably saved hours worth of having to click through those damn menus), I wanted to write down the way to change the default colors to rid ourselves of the illegible gray comment colors:

Window>Preferences>Pydev

Make sure that you don't go into the subfields for Pydev, just the branch title. The box labeled "Apperance color options:" allows you to change the color.

No matter what it seems like, no other settings will change the color of Pydev files.

15:39, 16 June 2008 (UTC)

Well, I've got a bit done on the particles, but I can't seem to get it to render pictures on the particles. I modified the particle.py to accept x,y and z coordinates and to return a reference to the particle-emitter-thing to allow movement and whatnot.

I'm still unsure how of much more I need to do on this, so I'll probably poke around the demos and see if anything needs cleaning up or commenting.

00:53, 14 June 2008 (UTC)

I seem to have the script reader working fine now and the music player seems to do a fairly good job of playing when I hit play. It also seems to have a few tricks to help track the song as it's playing, when it stops and how many times it loops.

I'm not 100% sure how much more I need to do on this, so I'll probably give the particles a whack next.

18:47, 9 June 2008 (MDT)

I took the weekend off to spend time with my family, but I got some work done today. I'll be working here and there on it while not working on my internship.

I've managed to cobble together a working script reader function. It isn't 100% yet and it's missing the stuff for multiple poses at the same time, but I've got the basics working.

This week, I'll finish the script-reader and see if I can get started on music-based scripts.

--Kendric Evans

13:57, 6 June 2008 (MDT)

We're moving forward, that's for sure. It doesn't always seem like we're making progress, but we're getting important things done and reducing the number of bugs on a daily basis.

Things are going to get a bit hectic when both Prof. Peterson and I are out of town until the weekend before the camp, but we should be able to get it under control.

We have pose-file saving and loading, with multiple poses, working. We also have pose interpolation working. Next up for me is scripts to take pose-files and scripts that describe a progression of poses over time and convert them into a dictionary of interpolants. Once I've finished(or have to take a break due to frustration) with that, I'll see if Panda plays sounds in a predictable timing fashion and if we can play scripts of interpolations in time with music. Then, assuming I'm still sane, I'll move on to the particles. Thus far, particles have been an unrelenting failure as they refuse to be consistent. I'll see if I can corral them into playing nice, but we'll see when we get there.

It's going to be an interesting/busy couple of weeks.

--Kendric Evans

11:49, 4 June 2008 (MDT)

Yesterday, we worked on the poser for much of the day. I didn't finish it, but I handed it off to Prof. Peterson and I'd bet he's finished already.

Late last night, I worked on the Sizer and I think I got everything we need. It's got all the sliders, keys to operate it(q and a, right now), Rectangles on the left, right, floor, and at the middle point(z=0). I added some onscreen text to make it easier to use this morning, so It should be in working-order now.

11:07, 3 June 2008 (MDT)

I got the generated terrain up and running yesterday with a lot of help from Peterson. I also happen to understand(almost) how the terrain generation stuff works.

The terrain generation, as it works right now, has two functions: one for one-dimensional equations and the other for two-dimensional equations. You give both of them both size, number of vertices, the function for determining z(f(x) or f(x,y)) and the texture you want on the terrain. On the one-dimensional function, it also prompts for whether or not to tile the terrain for each generated section or to scale the thing over the entire length.

Since I couldn't think of anything else to do this morning, I just tested it a bit more and gave it some default values.

--Kendric Evans

23:41, 29 May 2008 (MDT)

I fiddled with the DynamicGeometry.py and DynamicTerrain.py and I've got them pretty well figured out. DynamicGeometry had a few typos which were surely causing problems somewhere(it was on the order of (p1, p1, p2) when that last 2 should have been another 1, but it was copied and pasted in four locations) and it works fine now. I have a fair understanding of how it does it. I don't really understand the why of some of the details, but I understand how to use them. I went through and tried to add some comments for clarity.

I also went through the DynamicTerrain and found that the only major issue was that the name of the file was misspelled. Other than that, it seems to work fine and I've added it into the import list in Panda.py. I'm not sure if we need it, since we already have a roller coaster demo, but this one builds it from scratch and that might be worth something.

--Kendric Evans

21:04, 29 May 2008 (MDT)

After talking a lot today, we determined that the poser code was pretty much worthless and we're starting over on it. We also tracked done a bug in the world.py that messed with the mouse data.

This evening, I've been looking for a good midi library and I've determined that there isn't any built-in midi support. I have found a few, and I'll be testing them to see if they're any good.

Later, I'll see about the old geometry code we have lying around and seeing what I can figure out.

--Kendric Evans

15:54, 28 May 2008 (MDT)

I added the poser.py to the demos in the repository and I'm still a little unsure of how useful it will be. I'm somewhat concerned that since I didn't have the forethought to write it with the reactive library that it will need more work to get it off the ground that it was worth. We'll see, I suppose.

Other than that, I've not really got a lot done yet, it's been a slow week apparently. --Kendric Evans

15:27, 27 May 2008 (MDT)

The most that I've achieved this weekend was discovering the hotkey in easy-eclipse for running a file as a regular python script: F9.

It's always interesting what you'll learn through getting frustrated with something not working the way you want it to.

I've also found some minor(read: stupid) bugs in my posing code and I think I've got it pretty well under control. I've just got to read through and ensure that it has a readable and logical layout, but it should be working properly before much longer. I just hope it works well with Prof. Peterson's code.

--Kendric Evans

11:22, 23 May 2008 (MDT)

After feeling as if my brain was going to explode yesterday, I've at least managed to get some simple work done so far:

  • I've found a couple of jointed Actor models that may be useful for the camp, I think a more in-depth search would find many more useful models, jointed and non-jointed
  • I've got blender to play nice with panda(mostly, at least as textures are concerned.) and by following the how-to that I tossed up, You Can Too! It should work for anyone with the requisite versions of all the software involved.

I'm still working on the posing stuff and making the joints work properly. I'm also going to go through and test the examples to make sure they work.

--Kendric Evans

21:11, 20 May 2008 (MDT)

Though I think I could get a vague understanding of the math needed, We've decided to focus more on the software than on torturing me. To that end, I've been working a little on extracting useful code from the samples that ship with panda. I have found out how they rotate the ball in the ball-maze sample:

   prevRot = LRotationf(self.ball.getQuat())
   axis = UP.cross(self.ballV)
   newRot = LRotationf(axis, 45.5 * dt * self.ballV.length()) 
   #dt is the distance travelled for each clocktick
   self.ball.setQuat(prevRot * newRot)

It does, in fact, use those quaternion-things.

I was also informed that there were new versions of both Blender and Panda. Hopefully, these updates will alleviate some of the issues we've had with them?

Lastly: I've found a large supply of models. They are all in zip form, though, so testing them to see if they are any good will take some time. I have, however, found a bagpipe already.

--Kendric Evans

17:32, 16 May 2008 (MDT)

On Wednesday, Professor Peterson gave me a book, Physics for Game Developers, and told me to find out what math we want to work with and what math would be too strange/unpleasant/confusing. I was also instructed to see how much code I could decipher and translate into python for use with Panda. After two days of attempting to read this book, it's becoming a significantly harder read than I was expecting. I am ashamed to say that I do not have the math skills to figure out half of what the writer is talking about, but I'll keep trying. I'll see what I can glean from it, but I'm becoming somewhat disenchanted with it, as it continually makes my brain hurt.

Perhaps I should have taken more math and physics in the last few semesters...

--Kendric Evans 17:32, 16 May 2008 (MDT)

09:18, 15 May 2008 (MDT)

I only managed to find and install those two IDEs yesterday, as a lot were shareware or free trials, and I didn't think that was really necessary. After reading my posting, Professor Peterson directed me towards Easy Eclipse. Upon some basic testing of it, it seems to work just fine for panda. The only fiddly work lies in setting the correct python.exe, but this should be trivial if the only python installed is the one included in panda.

--Kendric Evans

18:49, 14 May 2008 (MDT)

Many issues with this semester have caused this to slow down considerably, but We're picking things back up again. I've started searching for a good IDE again and I've found a few so far:

  • SPE (Stani's Python Editor)
    • Surprisingly hard to find an easy installer
    • Requires additional software before it can be installed
    • I've back-burnered this because of the myriad of complicated versions, compatibility and required python-related software. If everything else turns out to be unhelpful, I'll come back and give this one a shot but until then, I think it's just too fiddly to install.
  • Eclipse with PyDev
    • This requires that you install eclipse then install the plugin from http://www.fabioz.com/pydev/updates
    • It then asks you to select a python.exe, which is readily located in the python directory
    • Has a nagware popup prompting to register for it.

--Kendric Evans

23:04, 17 March 2008 (MDT)

I've now got the model-poser with six sliders for x,y,z,h,p,r and one for rotation around the character. It's also got a textbox to type the name of the joint in, but I'll be replacing that as I think I have figured out how to list all of the joints(at least as long as they share a common parent. I used "spine" and as long as every model has a "spine" joint that everything else has in it's parent-chain, it'll list it just fine). It also has a text box for file name and a save button. I'll be working on a loader tomorrow or the next day as time/work permits. it shouldn't be too hard now, as I have it saving a pretty simple output of data:

jointName (x,y,z) (h,p,r)

--Kendric Evans

13:25, 14 March 2008 (MDT)

Not much done this week, sadly. I've been looking for a good IDE and I'm considering eric as a possible candidate right now. Several Panda users report it to be useful and powerful. I've yet to figure out how to make it like panda, but it seems to be the best bet. It might be a little bit daunting, but I think it could do the trick. Go ahead and try it out, I found a nifty installer that installs all the various little bits that you need: Eric Installer

I've also uploaded a small Panda+Blender page to keep track of the little tricks necessary to ensure compatibility between panda and blender.


-- 21:08, 14 March 2008 (MDT) -- edit

I nearly forgot that you need the python installer before you install eric. Oops! Here it is


-- 23:13, 14 March 2008 (MDT) -- edit

I've got eric working fine now, I believe it should work for our purposes with only a minimal amount of modifications. The only troublesome setting is having to manually set the python interpreter that eric uses to that which panda has built in(as it has been modified automatically by panda to include all the stuff), but this only needs to be done once because the preferences are (very) persistent. Once you install panda25, then the eric-kit, just load it up and enter the preferences and set the alternate interpreter in the debugger settings for python. If we pick this IDE, I'll go through a write up a basic tutorial for the wiki here, but I won't take the time until we decide. Instead, I'll be looking at other potential IDEs.

--Kendric Evans

09:54, 10 March 2008 (MDT)

Prof. Peterson has been requiring Blogs in his classes lately and I've been convinced of their usefulness as a tool for keeping track of a project. Because of this, I've decided to start a blog for the Panda Project.


-- 10:29, 10 March 2008 (MDT) -- edit

I've worked out some of the details on the blender-to-Panda interaction. It seems like we'll be able to get it to work, but I've left my work on the wrong computer - so I can't do anything else until this evening. I have got models exporting with skeletal structures that are accessible via panda and I've got it reading from/writing to a file. I'll have it more ironed out by the end of the week, hopefully. I'll also have more up here and on the basic blender page as well.


-- 12:58, 10 March 2008 (MDT) -- edit I've uploaded a zip file of what I've done so far here. It's very messy and not too documented yet, but I'm working on it. Also, in case it's disappeared or become lost to the internet, here is the chicken exporter. I'll be working with this more in future, especially documenting it..

--Kendric Evans

Personal tools