TWiki home TWiki > Team5 > ProjectTwo (r1.1 vs. r1.31) TWiki webs:
Main | TWiki | Know | Sandbox
Team5 . { Changes | Index | Search | Go }
 <<O>>  Difference Topic ProjectTwo (r1.31 - 02 Nov 2004 - MacMason)
Added:
>
>

Final versions of the Final Report ("Final final report"?) and User's Guide are up (pdf & TeX?). -- MacMason - 02 Nov 2004

Added:
>
>

%META:FILEATTACHMENT{name="final_report_final.pdf" attr="" comment="Final Report (pdf)" date="1099429865" path="D:\Documents and Settings\jmason\Desktop\final_report_final.pdf" size="51924" user="MacMason" version="1.1"}% %META:FILEATTACHMENT{name="final_report_final.tex" attr="" comment="Final Report (TeX?)" date="1099429901" path="D:\Documents and Settings\jmason\Desktop\final_report_final.tex" size="3181" user="MacMason" version="1.1"}% %META:FILEATTACHMENT{name="users_guide_final.pdf" attr="" comment="User's Guide (pdf)" date="1099429919" path="D:\Documents and Settings\jmason\Desktop\users_guide_final.pdf" size="54118" user="MacMason" version="1.1"}% %META:FILEATTACHMENT{name="users_guide_final.tex" attr="" comment="User's Guide (TeX?)" date="1099429957" path="D:\Documents and Settings\jmason\Desktop\users_guide_final.tex" size="2783" user="MacMason" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.30 - 02 Nov 2004 - BrianYoung)
Added:
>
>

%META:FILEATTACHMENT{name="tests.zip" attr="" comment="Test vault - collision cases, stress test" date="1099428488" path="tests.zip" size="2532" user="BrianYoung" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.29 - 02 Nov 2004 - MacMason)
Added:
>
>

A rough draft of the Final Report (again, in .pdf and .tex) is attached. -- MacMason - 02 Nov 2004

Added:
>
>

%META:FILEATTACHMENT{name="final_report.pdf" attr="" comment="Final Report Rough Draft (pdf)" date="1099424320" path="D:\Documents and Settings\jmason\Desktop\final_report.pdf" size="54098" user="MacMason" version="1.1"}% %META:FILEATTACHMENT{name="final_report.tex" attr="" comment="Final Report Rough Draft (TeX?)" date="1099424343" path="D:\Documents and Settings\jmason\Desktop\final_report.tex" size="2880" user="MacMason" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.28 - 01 Nov 2004 - MacMason)
Added:
>
>

I've attached rough draft (in .pdf and .tex) of the User's Guide. People should give it a once-over. -- MacMason - 01 Nov 2004

Added:
>
>

%META:FILEATTACHMENT{name="users_guide.pdf" attr="" comment="User's Guide Rough Draft (pdf)" date="1099294101" path="users_guide.pdf" size="47864" user="MacMason" version="1.1"}% %META:FILEATTACHMENT{name="users_guide.tex" attr="" comment="User's Guide Rough Draft (TeX?)" date="1099294140" path="users_guide.tex" size="2710" user="MacMason" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.27 - 31 Oct 2004 - JasonArold)
Added:
>
>

%META:FILEATTACHMENT{name="UMLdiagram.jpg" attr="" comment="UML diagram for final" date="1099259946" path="C:\CS121\proj2\documentation\UML diagram.jpg" size="181805" user="JasonArold" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.26 - 31 Oct 2004 - BrianYoung)
Added:
>
>

GolfWorld? is implemented as a singleton now. GolfBall? is not - in the theoretical version 2, we would have a different ball for each player. CollisionDetector? is also not, since it has no member data anyway. Also, I committed a .zip to CVS, and will upload it here, with a folder containing our final build and all necessary data files.

-- BrianYoung - 30 Oct 2004

Added:
>
>

%META:FILEATTACHMENT{name="MinotaurGolf.zip" attr="" comment="Final build and all data" date="1099188111" path="Minotaur Golf.zip" size="540137" user="BrianYoung" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.25 - 30 Oct 2004 - JasonArold)
Added:
>
>

%META:FILEATTACHMENT{name="MinotaurGolf.ppt" attr="" comment="Final Presentation ppt" date="1099175623" path="H:\CS121\proj2\presentation\Minotaur Golf.ppt" size="377344" user="JasonArold" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.24 - 22 Oct 2004 - JasonArold)
Added:
>
>

Textures are in. Be sure to load the .bmp files into the folder with the .exe, otherwise god will hate you. there's also an updated goblin model with a few teeny tiny tweeks, so plop that in there as well.

A current 'bug' is the hole. I've textured right on over it. Sorry bout that. I'll fix that sometime this weekend.

Ball and Club models aren't on the page yet, so I won't be doing anything with those until they are so I can see how she implemented them. Nice work on the stuff from last night, by the way. I was so happy to come in and see... well... a working mini golf game! -- JasonArold - 22 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.23 - 22 Oct 2004 - JasonArold)
Added:
>
>

Well, the project is due in one week. We've got the hole to work, we got the cones set up right, and we got invisible walls set up. Our work plan is as follows:

Jason: Work on textures and the golf paddle/ball visualizations. Finish up any visual tweaks Brian: Finish physics and implement ball-hitting functions and gameplay Mac: Work with sounds/music, and the 'powerbar' visual and implementation.

all in all, it's looking pretty great. Good work, team! -- JasonArold - 22 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.22 - 20 Oct 2004 - JasonArold)
Added:
>
>

Lots of changes for me in the last 24 hours! -Camera is now functional (mostly). some builds don't have the camera working, but if you hit "build" once or twice more, the camera works. I'll look into this. -Implemented texturing (roughly). Haven't tested it, but the code compiles. -Updated the course given by mac and brian last night to make it more on scale with the ball. Only problem now is getting the hole to work. How did you guys do it last night? Also, the two cones don't make the ball do what it should. Basically, any velocity shoves the ball into the air. -Added shiny red bumpers around the entire course (you have NO IDEA how long that took). -Added three planes to denote the 'game world. -Added 2 Goblin statues near the ramp

What I need next is -the hole to work -the cones not to act weird (ball should 'roll' over them, ideally) -invisible walls to keep the ball in the course (I'll do this later, it should only take about a half hour).

-- JasonArold - 20 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.21 - 19 Oct 2004 - JasonArold)
Added:
>
>

BIG CHANGES! Very important! Firstly, Brian: you need to talk to me about our changes to world.cpp and golf.cpp. It won't let me merge. :-( Second: I've added implementation for ghosts that follow the ball around! right now, there are 4 shiny, beautiful little white ghosts that follow the ball around in crazy circles, rotating and spinning. It's really a sight to see! The downside is that you might not be able to get this to work until brian and I merge stuff. but it works well on mine (you should TOTALLY take a look). So, add in the 4 Model files (MilkModel?.h/cpp, and Model.h/cpp) and move the skulltest.m3sd (I think that's the extension...) into the location of your .exe. Brian, since you were working on that 'hole' thing, I also want to talk to you about building the final golf course so I can get working on a few other things.

Textures and Cameras are on the way. Z said they'd be on the web page, but that probably won't happen till later this week. -- JasonArold - 19 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.20 - 15 Oct 2004 - BrianYoung)
Added:
>
>

%META:FILEATTACHMENT{name="Prototype2stuff.pdf" attr="" comment="The required paperwork" date="1097860884" path="Prototype2stuff.pdf" size="41386" user="BrianYoung" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.19 - 14 Oct 2004 - JasonArold)
Added:
>
>

Created several test cases, including the "crazy ball in the box" case. Also made tranparency work. Also, digitized diagrams and posted them to Wiki.

-- JasonArold - 14 Oct 2004

Added:
>
>

%META:FILEATTACHMENT{name="Week2workchart.gif" attr="" comment="Work Chart for week 2" date="1097786865" path="H:\CS121\proj2\Web Files\Week 2 work chart.gif" size="2422" user="JasonArold" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.18 - 14 Oct 2004 - BrianYoung)
Added:
>
>

%META:FILEATTACHMENT{name="Prototype2.exe" attr="" comment="Requires config.txt" date="1097785229" path="Prototype2.exe" size="372736" user="BrianYoung" version="1.1"}% %META:FILEATTACHMENT{name="coneworld.txt" attr="" comment="World with spiky thing and hat" date="1097785258" path="coneworld.txt" size="798" user="BrianYoung" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.17 - 14 Oct 2004 - JasonArold)
Added:
>
>

%META:FILEATTACHMENT{name="ClassDiagram.gif" attr="" comment="Class Diagram as of Oct 14" date="1097781918" path="H:\CS121\proj2\Web Files\Class Diagram.gif" size="7768" user="JasonArold" version="1.1"}%


 <<O>>  Difference Topic ProjectTwo (r1.16 - 12 Oct 2004 - BrianYoung)
Added:
>
>

Ball now spins and bounces approximately correctly; at least, it rolls down a hill properly; at least, more properly than it has earlier.

-- BrianYoung - 12 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.15 - 11 Oct 2004 - MacMason)
Added:
>
>

Added a config file parser; it will let us define an arbitrary number of triangles and set the ball's start position and velocity without hours and hours of typing.

See also: I could have done this in four lines in python. C++ => very bad with text handling, and I feel the need to complain about it.

-- MacMason - 11 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.14 - 09 Oct 2004 - JasonArold)
Added:
>
>

Ok don't be angry. I added initial camera stuff, so make sure you update. You'll notice a new class, the CCamera class, in addition to a TON of other tweaks to get it to work. Fortunately, I didn't comment very well.

One thing you'll notice is that I started using the windows.h header, as it provides some functionality necessary for smooth camera movement (and I think we'd have to end up using it later anyways).

About the camera... two things. First, it doesn't work well. Things move, but there's some disconnect between my code and that of the tutorials that makes it not work well. We have strafing and rotation, but they're not at all near 'correct.' Secondly, mouselook is currently the default. So, if you run the .exe, you may notice that you have to ctrl-alt-del to get out of it. This will be the case until (a) you fix it or (b) I fix it tomorrow morning. Sorry, it's sort of a nasty side effect.

Anyways, I'll get working on stuff. I may switch our interface around from a standard glut one to a flashy windows one, and that might make things work correctly (I think it has to do with box dimensions...). Also, that would let me import textures, and I want to import textures.

-- JasonArold - 09 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.13 - 08 Oct 2004 - JasonArold)
Added:
>
>

Brian and I were working tonight. I implemented lighting (ambient, diffuse, and specular). I also worked on fog effects and textures. Fog didn't look so hot without more triangles, and textures caused things to crash, so I'll visit with prof Z about those. Anyways, I'll keep tweeking stuff this weekend, hopefully adding some camera movement via the mouse and point-lights rather than diffuse ones.

-- JasonArold - 08 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.12 - 08 Oct 2004 - BrianYoung)
Added:
>
>

I've narrowed the problems I've been having in standardization down to glGetFloatv not working. It should load the current OpenGL? transformation matrix into the parameter we give it; right now it leaves the parameter happily alone.

Problem solved, stupidity averted. I updated alphaCollide to check all edges and vertices; I'm going to clean up the collidor files now, and then try to get true normal collisions working. Meanwhile, Jason has some dead sexy graphics effects in the works.

Brian


 <<O>>  Difference Topic ProjectTwo (r1.11 - 07 Oct 2004 - MacMason)
Added:
>
>

So, during class, we've decided the following:

  • Triangles should be a class, not a struct.
  • Triangles should store:
    • Their vertices
    • Their standard form
    • The matrix to transform themselves from non-standard to standard.
    • The standard forms of their edges
    • The transformation from non-standard to standard for each of the edges
    • Color / texture / whatever

The triangle constructor should take in three vertices and compute all of these member variables from that.

-- MacMason - 07 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.10 - 07 Oct 2004 - BrianYoung)
Added:
>
>

After stealing some matrixmultiply and transformation code from the assignment website (insert evil laugh here) I should have the triangles set so they not only store theire spatial vertices vn, they also store their standardized vertices sn. Collide should work with those instead - I thought I changed it to do so but it's not behaving nicely. I'll be back to this in tht "morning"..

Brian


 <<O>>  Difference Topic ProjectTwo (r1.9 - 07 Oct 2004 - MacMason)
Added:
>
>

We changed a bunch of stuff; the Wiki just ate my typing. At the moment, the ball manages to have velocity even when we tell it not to. See also the comment in the collider to figure out how we're making our "take a triangle as input" code take a line or a vertex.

-- MacMason - 07 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.8 - 07 Oct 2004 - BrianYoung)
Added:
>
>

GolfBall? and GolfWorld? classes are now split into their own files. Also, I added a global normal(Triangle t) function that will return the normal vector to a given triangle. I'll be back in the LAC at 11; from there I'll try to get triangle standard-orientation stuff working.

Brian


 <<O>>  Difference Topic ProjectTwo (r1.7 - 06 Oct 2004 - JasonArold)
Added:
>
>

I've added in my code for vertex collision, and I'd LOVE to have you guys look over it. Here are some of the problems I ran into: * The web page said I needed the triangle normal in my collision, and when writing it I assumed a triangle object would have something like... triangle.normal[0] or something like that. Anywho, it may not be needed. I'll look into it and see if I can work around it, but I'd still like you guys to look it over (my code is very well documented, you shouldn't have too many questions about what I'm doing with my code). * I couldn't get it to compile. I loaded stuff into a project in NET and I get a handful of errors (many are about GolfBall? in the collidor class not being an identifier). Anyways, I'll work on this a bit and let you know if I get anywhere, but there were a few other errors I couldn't fix as well, so I'm unable to test the code at the moment.

Also, I'm heading to work on interface stuff, which won't really be able to happen until I can get things compiling.

-- JasonArold - 06 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.6 - 06 Oct 2004 - MacMason)
Changed:
<
<

Brian

>
>

--Brian

So, I've gone through the CollisionDetector? stuff to make it fit with current variable names and whatnot. The next step here is to implement the alphaStep function Brian wants; that should be relatively straightforward, as the three collision algorithms (edge, face, and vertex) return the alpha values; we just run all the possible cases and return the smallest alpha. The normal one will be a bit different; (for one thing, we'll need to implement calculating the normal vectors) and then get it to return that. The best way to do this is probably to have the functions that are already written return (alpha, normal) pairs and then have the normalCollide just use the same results as the alphaCollide so we don't check everything twice.

Now, however, I am going to sleep. I'm going to be really busy tomorrow, hopefully not forever, with PLs homework; LSD after midnight and Thursday morning is always a possibility.

MacMason - 06 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.5 - 06 Oct 2004 - BrianYoung)
Added:
>
>

GolfWorld? and GolfBall? classes are done. World is stored as global _world; ball is stored as _world._ball. CollisionDetector? should have an alphaCollide function that takes a ball and a triangle and returns the float betewen zero and one when they will collide; and a normalCollide function that takes the same and returns the normal that they'll collide with. After that, uncommenting the code in timeStep should make it work nice and happy (and removing the _ball.move(1) at the end).

I can answer questions. I have an algorithms test, thoguh, aso I may not get much coding time in. I'm in a big hurry.

Brian


 <<O>>  Difference Topic ProjectTwo (r1.4 - 05 Oct 2004 - BrianYoung)
Changed:
<
<

-- BrianYoung - 05 Oct 2004 (let me know if I'm coming off as bossy)

>
>

-- BrianYoung - 04 Oct 2004 (let me know if I'm coming off as bossy)

Added:
>
>

Fixed the destructor bug; found that the vector was storing copies of our Triangles after all. Also implemented the world timer, and a world pause. Current state of project - white ball on green background, press space to make the ball start or stop moving.

Also, in golf.cpp there is commented code for timeStep that just needs alphaCollide and normalCollide implemented, and will be ready to go. Next up - make the ball feel gravity!

-- BrianYoung - 05 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.3 - 05 Oct 2004 - BrianYoung)
Added:
>
>

Well, because I don't know how C++ vectors work, there's a bug in the world destructor. This note is mainly here for my reference so I can find it later. I also massaged the files to make dependencies work, and added return false to all the undone collision detections so we could at least get a build.

Instead of just boolean collision detection functions, do we want two sets: alphaCollide to return the time at which the collision will take place (1.0 being never) and normalCollide to return the normal vector it could occur with? Then in our timestep function, we call alphaCollide on all the triangles, decide which will collide first, then normalCollide on just that one.

-- BrianYoung - 05 Oct 2004 (let me know if I'm coming off as bossy)


 <<O>>  Difference Topic ProjectTwo (r1.2 - 02 Oct 2004 - BrianYoung)
Added:
>
>

Divided work for basic stuff, and discussed how actual classes are divided.

  • The environment, or GolfWorld? class. Has data structures for triangles and the ball.
  • The CollisionDetector? class. Has functions that accept triangles and the ball, return any data we need from collisions, and what-have-you.
  • The ball as its own class, with CollisionDetector? as a friend. The collision detector can then manipulate the ball's velocity and stuff.

-- BrianYoung - 02 Oct 2004


 <<O>>  Difference Topic ProjectTwo (r1.1 - 02 Oct 2004 - BrianYoung)
Added:
>
>

%META:TOPICINFO{author="BrianYoung" date="1096680695" format="1.0" version="1.1"}% %META:TOPICPARENT{name="WebHome"}% Beginning preliminary work on the project. I've initialized the CVS repository with project/solution files; geometry.cpp/.h are in and added; openGL.cpp is also in CVS but is not included in the project.

-- BrianYoung - 02 Oct 2004


Topic ProjectTwo . { View | Diffs | r1.31 | > | r1.30 | > | r1.29 | More }
Revision r1.1 - 02 Oct 2004 - 01:31 GMT - BrianYoung
Revision r1.31 - 02 Nov 2004 - 21:17 GMT - MacMason
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback.