http://cse125.ucsd.edu/cse125/2013/cse125g4/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=Group 4 - New pages [en]2024-03-28T16:01:34ZFrom Group 4MediaWiki 1.28.0http://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/ScreenshotsScreenshots2013-06-12T23:17:27Z<p>Admin: Created page with "File:final_1.png File:final_2.png File:final_3.png File:final_4.png File:final_5.png File:final_6.png File:final_7.png [[File:final_8..."</p>
<hr />
<div>[[File:final_1.png]]<br />
<br />
<br />
[[File:final_2.png]]<br />
<br />
<br />
[[File:final_3.png]]<br />
<br />
<br />
[[File:final_4.png]]<br />
<br />
<br />
[[File:final_5.png]]<br />
<br />
<br />
[[File:final_6.png]]<br />
<br />
<br />
[[File:final_7.png]]<br />
<br />
<br />
[[File:final_8.png]]<br />
<br />
<br />
[[File:final_9.png]]<br />
<br />
<br />
[[File:final_10.png]]<br />
<br />
<br />
<br />
<br />
[[File:final_11.png]]<br />
<br />
<br />
[[File:final_12.png]]<br />
<br />
<br />
[[File:final_13.png]]<br />
<br />
<br />
[[File:final_14.png]]<br />
<br />
<br />
[[File:final_15.png]]<br />
<br />
<br />
[[File:final_16.png]]<br />
<br />
<br />
[[File:final_17.png]]<br />
<br />
<br />
[[File:final_18.png]]<br />
<br />
<br />
[[File:final_19.png]]<br />
<br />
<br />
[[File:final_20.png]]<br />
<br />
<br />
<br />
<br />
[[File:final_21.png]]<br />
<br />
<br />
[[File:final_22.png]]<br />
<br />
<br />
[[File:final_23.png]]<br />
<br />
<br />
[[File:final_24.png]]<br />
<br />
<br />
[[File:final_25.png]]<br />
<br />
<br />
[[File:final_26.png]]<br />
<br />
<br />
[[File:final_27.png]]<br />
<br />
<br />
[[File:final_28.png]]<br />
<br />
<br />
[[File:final_29.png]]<br />
<br />
<br />
[[File:final_30.png]]<br />
<br />
<br />
<br />
<br />
[[File:final_31.png]]<br />
<br />
<br />
[[File:final_32.png]]<br />
<br />
<br />
[[File:final_33.png]]<br />
<br />
<br />
[[File:final_34.png]]<br />
<br />
<br />
[[File:final_35.png]]<br />
<br />
<br />
[[File:final_36.png]]<br />
<br />
<br />
[[File:final_37.png]]<br />
<br />
<br />
[[File:final_38.png]]<br />
<br />
<br />
[[File:final_39.png]]<br />
<br />
<br />
[[File:final_40.png]]<br />
<br />
<br />
<br />
<br />
[[File:final_41.png]]<br />
<br />
<br />
[[File:final_42.png]]<br />
<br />
<br />
[[File:final_43.png]]<br />
<br />
<br />
[[File:final_44.png]]<br />
<br />
<br />
[[File:final_45.png]]<br />
<br />
<br />
[[File:final_46.png]]<br />
<br />
<br />
[[File:final_47.png]]<br />
<br />
<br />
[[File:final_48.png]]<br />
<br />
<br />
[[File:final_49.png]]<br />
<br />
<br />
[[File:final_50.png]]</div>Adminhttp://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Final_ReviewFinal Review2013-06-12T20:56:49Z<p>Admin: /* Please post final screenshots of your game on your group pages for posterity. */</p>
<hr />
<div>== Section A ==<br />
<br />
=== Game concept: How and why did your game concept change from initial concept to what you implemented? ===<br />
<br />
Early on, we decided to concentrate on the main boss battle, thinking we would not have time for the mini-adventure (we were right).<br />
<br />
<br />
In general, we re-evaluated our player composition in the middle of the quarter and then again in the later half. We originally thought we would only have time for one power (aka the cyborg power) but we re-expanded the powers to allow for 4 players.<br />
<br />
<br />
With the player re-org and focus on the boss battle the boss became an amalgamation of simpler powers which could be foiled by simple tactics. Players still benefited from cooperation, but it was not necessary as we had originally planned. Initially, we wanted the players to feel overwhelmed by a single, massive beast that was all around the ship. However, our end product came across more as having many separate, smaller entities players had to defeat.<br />
<br />
<br />
Simpler powers for both the boss and the players meant that there was less synergy between the players, especially in creating opportunities for players to create interesting combos.<br />
<br />
<br />
=== Design: How does your final project design compare to the initial design, and what are the reasons for the differences, if any? ===<br />
<br />
<br />
With the character power reorganization, a main feature that was thrown out was that everyone would have an attack power and a special power. Because we did not define the power specifics (implementation details) and their potential combinations from the start, we had a harder time coming up with possible fighting strategies and combo moves later on. This prevented us from over-complicating the power scheme, and we decided to just do a single power per character. This resulted in lessening the synergy between players.<br />
<br />
<br />
Our player abilities shifted as follows:<br />
<br />
* Cyborg: Stayed mostly the same, except for lacking an overpowered jump (everyone can jump and wall jump). We allowed everyone the capability for jumping because because it made the game a lot more fun.<br />
<br />
* Shooter: The main attack form became the shooting for the shooter, we removed the harpoon because lesser mobility was compensated by long-range shooting.<br />
<br />
* Mechanic: We first thought of sticking with two types of characters, and then doubling them to get four players. However, we ended up doing all four players instead. The original mechanic was too complex at this point in the quarter, so we moved the shooter’s harpooning ability moved into a separate character. We originally intended for the mechanic to have an attack on a separate button, but when we realized that the players were not going to have any attacks we needed to give the mechanic some attack form. We improvised having the mechanic double damage done to a tentacle because this would allow for more synergy between the characters<br />
<br />
* Scientist: Same as the mechanic, we did not think we would implement a scientist at all. However, once we had three players in, we wanted a fourth one so everyone could be different (instead of doubling one of the powers). To ease development and to show off all of the powers, in the last two weeks we decided to give the scientist a kirby-like power, allowing him to take on the powers of any other characters. <br />
<br />
<br />
<br />
Art-wise, we stayed pretty consistent with the players. The monster evolved throughout the quarter, we kept bouncing between organic vs. mechanic, and towards the end basically went with the last one we implemented. The monster’s tentacles also weren’t as big as we initially thought nor were they grouped together to create a giant mass, which decreased its intimidation factor.<br />
<br />
<br />
We also made the environment less complicated. This was done by getting rid of the gravity platforms, elevators, and reducing the number of moving platforms that we used. This did decrease people’s movement, but we balanced this out by making the monsters move towards the players.<br />
<br />
<br />
=== Schedule: How does your final schedule compare with your projected schedule, and what are the reasons for the differences, if any? (You should be able to glean this from your status reports.) ===<br />
<br />
<br />
At first, we had something very simplistic, just defining the different categories (networking, graphics, music, game engine, art, etc.). Then, every week we would go into specifics of what everyone had done in their area that week and what they were going to work on. If some area needed more people, we would shift around to accommodate that, but it was very improvised and changed week by week.<br />
<br />
<br />
Once week 5 came around we realized that we needed more structure to our schedule (finding what specific tasks we needed to do, who knew how to accomplish the tasks, and when the tasks needed to be done by). This was particularly important because we had, at this point, a lot of features that were half done, and we wanted to change that. So, after week 5, we re-did a schedule every week to try to fit to the current state of the game and finish all that we had planned. We had weekly to-dos from the start, but now we would also have a sense of the time remaining to finish all tasks. This did not work out as well as we had thought, because we couldn’t stick to the re-created schedules either (hence the having to re-make them every week).<br />
<br />
<br />
Week 7 we realized we were really behind, and we did not have a sense of what was left to be done, or what we were keeping or throwing out. So we created a subtask account where we could place all the features, categorized by type. This helped us all get a sense of the enormity of what was left. It really pushed us to move forward and continue implementing features (and finishing features we had started). It also forced us to re-think and state what features we were actually going to focus on implementing.<br />
<br />
<br />
[Bryan] This is why visualizations are really helpful for organization - they helped us to create motivation.<br />
<br />
<br />
Week 9 was when we finally play-tested the game. Leaving it so late was not a good idea, we noticed a lot of things we needed very late in the quarter. We decided to make a list of all the features/fixes and titled it “Making the game fun”. We then focused on working on that list, and somehow got most of it actually implemented before the demo! =D<br />
<br />
<br />
== Section B ==<br />
<br />
=== What software methodology and group mechanics decisions worked out well, and which ones did not? Why? ===<br />
<br />
<br />
We organized our group as an everyone-has-an-equal-voice democracy. This caused some problems. People made decisions on their own without discussing it with the group, designing the feature to fit their own vision. One issue with this was no one had a complete understanding of the overall system; each person understood how their own feature worked, and had no idea how to integrate it with the larger system. We had no designated integrator or architect, which led to inefficiency. Eventually Haro and Suman emerged as the de-facto integration committee, in order to integrate ideas. This resulted in some people’s work getting deprecated, but it helped the project move forward.<br />
<br />
<br />
[Nathan] Fun fact: We answered these questions in the same manner that we built our project!<br />
<br />
<br />
[Bryan] Another fun fact: Another way of describing what happened was that we became an anarchy!<br />
<br />
<br />
=== Which aspects of the implementation were more difficult than you expected, and which were easier? Why? ===<br />
<br />
<br />
[Franklin] Network was much easier than expected, if extremely limited. Connecting between the server and client was incredibly straightforward, given Ben Shokati’s guide to Winsock. The way serialization of data was implemented left a lot to be desired - it required much more hard-coding than I would have liked. Oddly enough, this didn’t introduce any significant problems (perhaps a slightly slower development time) other than not realizing that there is a maximum amount of data that the OS can hold before it starts to drop things.<br />
<br />
<br />
The hardest thing to implement was the event manager that controls the world. In the end, I was able to implement small features that would alter the world state, but otherwise, the larger event management system never got fully implemented and we had to drop it in the end. This is mostly due to the anarchical nature of our system (and lack of communication/documentation).<br />
<br />
<br />
[Nathan] Collision physics, on the other hand, proved harder than we anticipated. We couldn’t find a solution to non-AABB collision online, and we had no way of detecting fast-moving objects passing through thin, static objects.<br />
<br />
<br />
[Haro] We also saw some lag in the game, whenever we had more than ~30 objects, and never fully figured out if this was a client or server issue, or if it was collisions or object management or rendering or something else.<br />
<br />
<br />
[Suman] Rendering models was much easier once we started using the xAnimator library, however we never really evaluated if that was the best choice of library or if we should have taken the time to write our own loader and mesh hierarchy. Looking back, instead of trying to push to get model loading in quickly, I, Suman Malani, wish had taken the time to write my own model loader because I would have more insight on how exactly the rendering worked and would have been able to detect if the lag was from the rendering. Also, I should have attempted implementing shaders because that would have been cool. This being said, I haven’t taken a graphics course and I went into this class believing that the graphics should be done by a graphics person but I was able to pick up a bit of graphics. <br />
<br />
<br />
[Michael] The implementation of audio in the game actually proved a little harder than expected. Even though we used the FMOD Ex audio library, the actual implementation of the engine into the game resulted in many strange and difficult bugs. Using the version of FMOD we chose made it essential to do all sound loading and playback management instead of relying on the engine itself to handle the audio assets.<br />
<br />
<br />
[Bryan] In addition, given that we didn’t have an agreed upon plan or aesthetic or feel it was harder to make implementation choices in a manner that promoted transparency later on.<br />
<br />
<br />
[Justina] Creating models took a lot longer than I thought it would, which ended up with us having to reuse the one character model I made for multiple players. <br />
<br />
=== Which aspects of the project are you particularly proud of? Why? ===<br />
<br />
* The player model was AMAZING! It really changed how the game looked, and made it seem more like a real, finished product. At the beginning, we choose DirectX 9 over 11 because we wanted support for animations and .X, and having the model in with all its animations really made that decision worthwhile.<br />
** [Haro] Look at its beautiful hair when it jumps and goes up and down!!! =D!!!!!! And the cape! It billows!!!!!!<br />
<br />
* Gravity Switching and the zero-G transitions. One worry we had that this would be a dizzying experience but the zero-G transitions made that easier :)<br />
<br />
* Music- The music fit the game really well, adding a lot of texture to the experience. The game improved so much the moment sound design was added, and the music shot our project to the moon.<br />
<br />
* Having collision boxes update and resize, and work even when the server did not know about the animations. [Bryan] It took a long time to coordinate, but was essential for the program to work.<br />
<br />
* Height maps! Height maps made it possible to have an awesomely slanted arena. Which added much needed interest to the previously rectangular box.<br />
<br />
* The head model!! It looked so awesome!!<br />
<br />
* Managing to get textures working and looking good on the model. Also, managing to rig up the model well enough that animations looked pretty good. :><br />
<br />
* Start Screen [Bryan] I had the freedom to use whatever aesthetic I wanted, and selected one that really fit with the theme.<br />
<br />
<br />
=== What was the most difficult software problem you faced, and how did you overcome it (if you did)? ===<br />
<br />
<br />
Physics. Just... physics. All of it. Things moving at what looked like a moderate speed were fast enough to pass through platforms, objects that jumped where the wall met the floor fell out of the world, and so on. We solved the falling-through-the-floor problems by making the floor and walls be heightmaps that extended to infinity, so they would always push you back into place. We couldn’t solve the fast-moving objects problem for other types of collisions, however; we came up with an algorithm that would calculate the nearest point on the object’s path of motion, but this never actually worked. We ended up just making collision boxes a little larger than they needed to be and prayed no one would notice. [Bryan] Our system detected if there was a collision happening instead of if a collision was going to happen in the future.<br />
<br />
<br />
<br />
[Justina] THE MODELS CRUMPLING WHEN EXPORTING TO .X ARGH!!!! It was infinitely frustrating and wasn’t solved until Week 9 which by then was too late to switch back to the old tentacle model, so it was completely frustrating. But the fix was simple (which only just made me angrier I guess :| ), adding a Reset XForm modifier.<br />
<br />
<br />
<br />
[Suman] The lag!!!!!! changing to Release mode fixed it! :D<br />
<br />
<br />
=== If you used an implementation language other than C++, describe the environments, libraries, and tools you used to support development in that language. What issues did you run into when developing in that language? Would you recommend groups use the language in the future? If so, how would you recommend groups best proceed to make it as straightforward as possible to use the language? And what should groups avoid? Finally, how many lines of code did you write for your project? (Do not include code you did not write, such as library source.) Use any convenient mechanism for counting, but state how you counted. ===<br />
<br />
<br />
We used C++.<br />
<br />
<br />
=== In developing the media content for your project, you relied upon a number of tools from the DirectX/OpenGL libraries to modeling software. And you likely did some troubleshooting to make it all work. So that students next year can benefit from what you learned, please detail your tool chain for modeling, exporting, and loading meshes, textures, and animations. Be specific about the tools and versions, any non-obvious steps you had to take to make it work (e.g., exporting from the tool in a specific manner), and any features or operations you specifically had to avoid — in other words, imagine that you were tutoring someone on how to use the toolchain you used to make it all work. Also, for the tools you did use, what is your opinion of them? Would you use them again, or look elsewhere? ===<br />
<br />
<br />
[Justina] I used 3ds Max in order to create all the player/monster models for the game. 3ds Max is very handy in a couple ways compared to Blender, but is completely frustrating in others.<br />
<br />
<br />
To make sure your models come out well, especially if you’re using Panda DirectX in order to export is as a .X file for animations -<br />
<br />
<br />
First make the model - make sure everything is closed up, there are no free open parts in your mesh.<br />
<br />
<br />
Then create the UVW map for texturing - texturing made 60% of the model, so texturing is important. I turned off being able to see peel lines and created my own UV lines using the point-to-point seam tool in order to create good ways for the mesh to peel. Then select all the polygons within a seemed off area, and use “pelt map” to get a good initial peel. (search around for tutorials for a little better explanation of pelt :| ) Make sure no polygons are overlapping, and that the shape is generally spread out well enough that there wouldn’t be any strange stretching of textures, then you can render the uvw map and save it as a .psd file or a .png.<br />
<br />
<br />
<br />
MAKE SURE, THEN, AFTER THAT YOU COLLAPSE THE STACK by converting the mesh to an editable poly, so that the uvw map sticks. You can re-attach the uvw modifier and it will still be there, but do that initially so that the uvw is saved.<br />
<br />
<br />
<br />
ALSO, AFTER UVW MAP, ADD RESET XFORM MODIFIER to reset all the transformations on the mesh. This will ensure that the mesh doesn’t totally crumple when convert to .X and into your game. Seriously. :| You can then recollapse the stack to get rid of it if you so wish.<br />
<br />
<br />
<br />
Then if you are doing animation, set up bones (see tutorials for more) just make sure that whether you are using bones or bipeds or CAT, that you pay attention to envelopes and weights to see how much vertices get pulled by a particular bone. Using the Skin modifier + Paint Weights is the best way to make sure your model will animate in the way you want to.<br />
<br />
<br />
<br />
If you are animating with the biped, note that it uses some totally different animation key stuff, you have to look under the motion tab and then Key info - the keys there are what are used for biped (although it seems you can still use Auto Key with parts of the biped - it’s confusing and silly).<br />
<br />
<br />
<br />
Now that I’ve taken the time to use 3ds Max, I would still use it again, cause it does have its benefits, but I can’t help but wonder whether using Maya would have been easier/about the same amount of frustration. Learning to model for a game on the fly is a little difficult.<br />
<br />
<br />
<br />
[Haro] If you want to use xAnimator, realize that it blends different animations together when you switch. So if you have intermediate animations to do the transitions, they won’t work well because it will try to blend with the start of your previous animation anyway. Also, it doesn’t give you full control over the models, and it’s all client side, so the server will not be able to know about (and therefore follow) the animations. This might bring about problems with collisions (as it did with us). Maybe looking at different libraries would have been good.<br />
<br />
<br />
<br />
[Bryan] The animations are loaded in reverse of the way that they are created, so whatever animation that you define first will be loaded last by DirectX. Plan around this by making you export options so you don’t have to delete everything when you add a new animation.<br />
<br />
<br />
=== Would you have rather started with a game engine like Ogre or would you still prefer to work from scratch? ===<br />
<br />
<br />
The only reason that we would like having something like Ogre would be because we came into this with no idea of potential organizations for our engine. Having more background in this would perfectly solve this problem.<br />
<br />
<br />
<br />
=== For those who used a networking library (e.g., RakNet), would you use it again if you were starting over knowing what you know now? Describe any lessons you learned using it (problems that you had to troubleshoot and how you addressed them) for future groups who may use it. If you did not use a library, judging from the experiences of the groups that did, would you have used it in retrospect? ===<br />
<br />
<br />
[Franklin] Having completed the network in week 2, I didn’t really discuss networking with any of the other groups. My networking code worked well enough.<br />
<br />
<br />
=== Looking back over the past 10 weeks, how would you do things differently, and what would you do again in the same situation? ===<br />
<br />
<br />
[Bryan] More structure, intentional assignment of tasks, and definition of what features we want to create (and implementation specifics). Frontloading our work would also be good.<br />
<br />
<br />
<br />
[Franklin] Take more time to plan the features that would be needed for the project. Spend more time on the architecture on the game so it can handle more features and more abstraction.<br />
<br />
<br />
<br />
[Suman] I think we needed more communication on the project as a whole, someone who was finalizing and keeping track of the big picture would have been useful. A more rigid testing scheme, such as enforcing regression tests as well as stress tests before a push would have saved a lot of time. Enforcing a better branching system with git, such as adding a hotfix branch for quick modification and better feature branches (instead of people branches). More documentation on specific functions, either in code or on the wiki and things to watch out for. Also, we should have enforced a no warning rule when you commit.<br />
<br />
<br />
<br />
=== Which courses at UCSD do you think best prepared you for CSE 125? ===<br />
<br />
<br />
CSE 123 was helpful, but not essential in implementing the network using Winsock. It helped in considering the aspects of networking like packet sizes and a general idea of how to send data between computers. But in the end, I think it would be do-able without having taken CSE 123.<br />
CSE 131 and 141 made us intimately familiar with the labs and working long and late hours. This helped tremendously in maintaining morale.<br />
<br />
<br />
<br />
[Haro] Taking graphics would have probably been nice...However, CSE 190 (3D User Interfaces) was sort of helpful because there was a little bit of graphics, input handling, and collision detection in there.<br />
<br />
<br />
<br />
[Bryan] Project classes in general are helpful for each other (discipline, planning, etc)<br />
<br />
<br />
=== What was the most important thing that you learned in the class? ===<br />
<br />
We all learned to step back from our initial project spec and evaluate what was realistic. We also learned to communicate our deadlines, limits, and expectations.<br />
<br />
<br />
Fun Fact by Franklin: Anarchy as a group organizational philosophy is great for implementing wonderful parts, but an awful way of putting together a whole.<br />
<br />
<br />
=== Please post final screenshots of your game on your group pages for posterity. ===<br />
<br />
<br />
They are on the wiki’s [[Screenshots]] page =D<br />
<br />
== Feedback on the course ==<br />
<br />
<br />
=== What books did you find helpful that were not on the recommended list but should be? What books were on the recommended list but were not useful and should be removed? ===<br />
<br />
<br />
Game Engine Architecture by Jason Gregory wasn’t terribly useful. Most of the optimization strategies outlined were not applicable to the limited time we had to implement our rather “simple“ game.<br />
<br />
<br />
<br />
If using DirectX 9 please use this book, Introduction to 3D Game Programming with DirectX 9.0 by Frank D. Luna, it was most useful.<br />
<br />
<br />
=== I will be teaching this course next Spring. What advice/tips/suggestions would you give students who will take the course next year? ===<br />
<br />
<br />
[Justina] If you are modeling, try to learn up on it before you start the course! It would totally really help :<<br />
<br />
<br />
[Franklin] For a less stressful time, consider a game that has 2D gameplay brought into the 3D world and no animations for your models.<br />
<br />
<br />
[Suman] Have fun!!!!!!!<br />
<br />
<br />
[Haro] Start with a simple idea, really really simple, and then really polish it. Don’t try to do a million features, just focus on a few =) [Bryan agrees] [+ Michael and Suman and Nathan and Justina]<br />
<br />
<br />
[Michael] FMOD is a really powerful audio library, however, use the FMOD Studio library instead of the FMOD Ex library to save time implementing audio management and playback.<br />
<br />
<br />
=== How can the course be improved for next year? ===<br />
<br />
<br />
Groups need a separate person for music, modeling, and the graphics engine.<br />
<br />
<br />
[Suman] It’s absolutely okay to pick up a skill on the fly. If more than one person wants to try modeling/texturing/animating, they totally should but make sure to split up the work and help each other!<br />
<br />
<br />
[Haro] It would be nice if we had some resources for how to architect a game engine, maybe pros and cons of different designs. [Bryan agrees]</div>Hmoncivahttp://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Perf_StatsPerf Stats2013-05-08T02:52:07Z<p>Hmonciva: Created page with "File:total_proc_time.jpg File:memory_pages.jpg File:priv_time.jpg File:user_time.jpg File:exceptions.jpg"</p>
<hr />
<div>[[File:total_proc_time.jpg]]<br />
<br />
<br />
[[File:memory_pages.jpg]]<br />
<br />
<br />
[[File:priv_time.jpg]]<br />
<br />
<br />
[[File:user_time.jpg]]<br />
<br />
<br />
[[File:exceptions.jpg]]</div>Hmoncivahttp://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Status_ReportsStatus Reports2013-04-08T21:24:40Z<p>Tsumani: /* Week 9 */</p>
<hr />
<div>== Week 9 ==<br />
'''Feedback from everyone'''<br />
* Scientist particles too large, maybe get rid in fpv<br />
* Harpoon should be faster, maybe targeting system to get players<br />
* Cyborg is slightly boring, but oh well xD<br />
* Get rid of harpoon range limitation<br />
* Monster doesn't react to attacks<br />
* Fireball and bullet hard to see, no indication of damage taken<br />
* Use stantard camera pitch for first person (flip it)<br />
* Crosshairs for harpooner both aiming<br />
<br />
<br />
'''Things to talk about today'''<br />
* Play test the game excessively<br />
** Thoughts on camera: too slow/fast, pitch/ first player mode?<br />
*** A little slow<br />
*** Pitch aim directly up<br />
** Thoughts on 30 vs 50 fps<br />
** Thoughts on number of tentacles at a time<br />
** Thoughts on lag<br />
** Thoughts on mobility<br />
*** Move tentacles to where players are when gravity switches (and heads opposite)<br />
** Thoughts on elevator, remove it?<br />
*** Remove it!! <br />
*** Add the doors<br />
*** Try to get players across vs. moving monsters to you<br />
* We need the player in! Tuesday 10 am max.<br />
* Need to fix:<br />
** Start screen: Bryan<br />
** Shooter bullets: Franklin (Suman graphics)<br />
** Adding targeting visuals: Suman<br />
** Decrease particles: Suman<br />
** Aim assist: Franklin<br />
** HUD tutorial text for each player: Bryan<br />
** Pre-load and re-use tentacles and heads every phase: Franklin<br />
** Finalize numbers for damage, health, tentacles, gravity, camera speed, etc: Bryan, Haro<br />
** Rage particles need to be slower: Suman<br />
* Decide who is doing what for the demo<br />
** Speakers (3 of us): Bryan, healthy Nathan, Justina<br />
** Scientist: Franklin<br />
** Other player (one of us): sick Nathan, Suman<br />
** Coaches (two of us): Michael, Haro<br />
** Audience members: Janet and Willy<br />
* Talk about phase system<br />
** Smart heads!<br />
** Icons for phases: Bryan<br />
** Logic for phases: Haro<br />
* Talk about story at the beginning<br />
** We got feedback that it's super hard to understand what's going on, so might be a good idea<br />
* Name: Hyperion's Demise!<br />
* Everyone sign off on whatever they get this week by Thursday (play the game and see if it works)<br />
* We're the first to demo!<br />
* Story:<br />
<br />
There was a war. A war in which my kind was used for terrible, terrible destruction. <br />
To destroy planets, to obliterate stars, and to bring the world under heel. After great struggle, the clone forces were defeated, and members of all species hated my kind. Even we, who had refused to serve, ....<br />
<br />
Outline:<br />
- War!<br />
- Imprisoned because we are too powerful<br />
- We escaped!<br />
- We need a special material our scientist to create weapons<br />
- But the beast has use for its force as well!<br />
<br />
<br />
'''Overall Status'''<br />
* Stuff is getting done xD<br />
<br />
'''What are people doing'''<br />
Suman <br />
- Reduce number of particles<br />
- Smaller scientist particles in third person<br />
- Smaller/Remove scientist particles in first person<br />
- Maybe change fireball/bullet texture<br />
- Cross-hairs for targeting in first person<br />
- Slower rage particles<br />
- Train Janet and Willy<br />
- Screenshots <br />
<br />
Haro<br />
- Player Animations Logic<br />
- Idle<br />
- Run<br />
- Jump<br />
- Floating up<br />
- Falling down<br />
- Death<br />
- Charge / Aim<br />
- Ready / Shoot<br />
- Attack<br />
- Add player model <br />
- Fix Head animations<br />
- Smart Heads that react to attacks<br />
- Move tentacles to you when gravity is on east wall/window<br />
- Play with numbers for damage, health, number of tentacles, gravity, camera speed, etc.<br />
- Phase System with hot key for switching<br />
- Tentacles that are passive<br />
- Tentacles that attack<br />
- Gravity switch with Tentacles<br />
- Fog on top of Gravity and Tentacles<br />
- Fog and Gravity and Monster Heads<br />
- Fog, Gravity, and SMART Monster Heads<br />
- End: Game Over - stats screen<br />
<br />
Franklin<br />
- Get rid of harpoon range limit<br />
- Fix bullets (make them last less, add more)<br />
- Aim assist<br />
- Pre-load and re-use tentacles/heads every phase<br />
<br />
Bryan <br />
- Tentacle Collision boxes<br />
- Tentacle Angling towards Player<br />
- Testing Tentacle<br />
- Work with Justina on consistent tentacle look<br />
- Start screen player icons<br />
- Fix start screen player ready<br />
- HUD tutorial text for each player<br />
- Story (Outline is in status report)<br />
- Speech<br />
- Stats screen background image<br />
- Icons for the different phases<br />
<br />
Nathan <br />
- Re-enable pitch for 3rd person camera<br />
- Flip pitch for 1st person<br />
- Let pitch go all the way up<br />
- Remove elevator, fix wall height map, add static doors<br />
<br />
Michael <br />
- Sound Effects<br />
- Sound Track/Battle Music<br />
<br />
Justina<br />
- Animated Cyborg model<br />
- Idle<br />
- Run<br />
- Jump<br />
- Floating up<br />
- Falling down<br />
- Death<br />
- Charge<br />
- Ready<br />
- Attack<br />
- Animated Shooter model<br />
- Idle<br />
- Run<br />
- Jump<br />
- Floating up<br />
- Falling down<br />
- Death<br />
- Aim (Charge)<br />
- Shoot (Ready)<br />
- Models have different colored capes<br />
- Intro 2D drawings for story<br />
<br />
<br />
<br />
'''What are people signing off on'''<br />
* Justina<br />
** Aesthetics and animation for:<br />
*** Player and Head models<br />
*** Tentacle model?<br />
<br />
* Michael<br />
** Sound...all sound xD<br />
** Rendered arena<br />
<br />
* Nathan<br />
** Aabb Collisions (without collision mode, just the feel)<br />
*** Disclaimer for all known bugs here (like you have to keep moving)<br />
**** Everyone needs to know, but particularly the players and coaches!!<br />
** Heightmaps for all walls<br />
** Gravity switches<br />
** Jumping<br />
** Wall jumping<br />
<br />
* Franklin<br />
** Player powers for all players<br />
** Network stability<br />
** Game over<br />
<br />
* Bryan<br />
** Start Screen with four players<br />
** Player tutorial text for all players<br />
** Stats Screen look<br />
<br />
* Suman<br />
** Player mobility for all players<br />
** Full screen mode<br />
** Particle systems<br />
*** Lag associated with them<br />
** Lighting<br />
** Fog<br />
** Stats screen correctness with four players<br />
<br />
<br />
* Haro<br />
** Collision boxes for head model<br />
*** All walls<br />
*** All gravity configurations<br />
** Head attacks<br />
<br />
<br />
''' Screenshots '''<br><br />
[[File:Screenshot_1.png]]<br />
[[File:Screenshot_2.png]]<br />
[[File:Screenshot_3.png]]<br />
[[File:Screenshot_4.png]]<br />
[[File:Screenshot_5.png]]<br />
[[File:Screenshot_6.png]]<br />
[[File:Screenshot_7.png]]<br />
<br />
''' Morale ''' <br><br />
Because we can all use more bunnies :D<br />
<br />
http://media3.giphy.com/media/xRPjFYKqHBSus/original.gif<br />
<br />
== Week 8 ==<br />
'''Overall Status'''<br />
* More research done on different collision options<br />
* Corrected player box for gravity!<br />
* Textured most of the arena!<br />
* Added platforms to the arena!<br />
* Fullscreen mode!!!<br />
* MUCH INTEGRATION!<br />
* Harpoon graphics<br />
* Exported heightmaps<br />
* Generated sound effects - 80% done with audio engine!!<br />
* Beautified HUD<br />
* Fixed tentacle animations and textured tentacle<br />
* Targeting system for the players<br />
* Collision boxes for the arena<br />
* Monster Head Logic<br />
* Fireballs!!!<br />
* Cleaned up Dropbox resource folder<br />
<br />
<br />
'''What are people doing'''<br />
<br />
Suman <br />
P0<br />
- Fix wall1.X (randomly turns black)<br />
- Add crates<br />
- Fix platforms physics model<br />
- GUI Optimizations <br />
P1<br />
- Fourth player graphics<br />
- Clean up particle effect for players<br />
P2<br />
Haro<br />
P0<br />
- <strike>Tentacle Placements</strike><br />
- Player Animations Logic, adding player model <br />
- Adding HEAD model to game<br />
- Head collision boxes <br />
- Adding elevator shaft + collision boxes<br />
P1<br />
- Go through todos and go through warnings<br />
- look for logic optimizations<br />
- change one use variables to static or consts<br />
P2<br />
Franklin<br />
P0<br />
- Network optimizations<br />
- Infinite Game mode<br />
P1<br />
P2<br />
Bryan <br />
P0<br />
- Wall transparency!<br />
- Tentacle Texturing<br />
- Tentacle Collision boxes<br />
- Tentacle Angling towards Player<br />
- Testing Tentacle<br />
- Probe tentacle animation<br />
P1<br />
- Lighting on the HUD<br />
- Start screen player icons<br />
- Fourth Player<br />
P2<br />
Nathan <br />
P0<br />
- Hmap collision<br />
- Bounded Camera<br />
P1<br />
P2<br />
Michael <br />
P0<br />
- Sound Effects<br />
- Sound Track/Battle Music<br />
P1<br />
P2<br />
Justina<br />
P0<br />
- Animated Cyborg model with different capes<br />
- Walking<br />
- Idle<br />
- Death<br />
- Animated Head model with all animations<br />
- Idle <br />
- Shoot<br />
- Spike<br />
- Rage<br />
- death<br />
- exit<br />
- enter<br />
- probe<br />
P1<br />
- More player animations<br />
- Jump<br />
- Attacking<br />
- Cyborg charge sword out<br />
- Shooter/Harpoon aim<br />
- Stun?<br />
P2<br />
- More player animations<br />
- falling<br />
- victory<br />
- Shooter model with canon hand animated <br />
- Walking<br />
- Idle<br />
- Death<br />
- Shoot aim<br />
P3 <br />
- Monster arena windows<br />
<br />
<br />
''' Screenshots '''<br />
<br />
[[File:Tentacle_holes.jpg]]<br />
<br />
<br />
''' Morale ''' <br><br />
Boss Mode ON!<br />
<br />
http://media.giphy.com/media/SPn7IU1qiYNoI/original.gif<br />
<br />
<br />
'''To-Do Thing'''<br />
<br />
[[File:Collosal Boss Game week8.png]]<br />
<br />
== Week 7 ==<br />
'''Overall Status'''<br />
* All tentacle attacks with animations<br />
* Arena model done!<br />
* Some textures done!<br />
* Sounds integrated! Objects can play their own sounds!<br />
** Few glitches, work in progress<br />
** Need to work out channel overlap issues<br />
* Heightmap collision! Collision system finished!! Collision Debugging done! <br />
* Harpoon power with graphics! <br />
* Fog!! <br />
* HEAD MODEL! IT LOOKS AWESOME!!<br />
* Working on player animations<br />
<br />
<br />
'''What are people doing'''<br />
<br />
* Nathan: Heightmap collision! Aiming mode! Correcting player box for gravity. Camera not passing through walls.<br />
* Suman: Texturing arena and elevator, special power graphics<br />
* Haro: Collision boxes for arena, monster head powers, add holes to elevator shaft<br />
* Michael: Fixing sound! Sound effects! Exporting heightmaps!<br />
* Justina: Head model, head and cyborg animations, cannon hand model<br />
* Bryan: HUD and tentacle animations<br />
* Franklin: Special powers!<br />
<br />
<br />
''' Screenshots '''<br />
<br />
[[File:Textured_arena.jpg]]<br />
<br />
<br />
''' Morale ''' <br><br />
How the darkness feels..<br />
<br />
http://media.giphy.com/media/Ou74Dwo8Jl3Es/original.gif<br />
<br />
<br />
''' Our To-Do thing '''<br />
<br />
[[File:Collosal Boss Game.png]]<br />
<br />
== Week 6 ==<br />
<br />
'''Overall Status'''<br />
* Idle tentacle collision boxes<br />
* Figured out model animation bug!!!!!!!!!<br />
** Working beta tentacle model<br />
* Heightmap collision<br />
* Shooter!!!!!!!!!!!! =D with particles!<br />
* Memory/Performance Profiling<br />
* Charge particle effects!!<br />
* New arena model with elevator shaft!!<br />
* Cyborg model done!!!! Almost done textured!!<br />
<br />
<br />
'''What are people doing'''<br />
* Nathan: Sound engine! Heightmap collision!<br />
* Suman, Haro: Texturing the arena! Arena objects (model and add to game)<br />
* Suman: Tentacle particle effects<br />
* Haro: Tentacle attacks<br />
* Michael: Finish arena model, sounds!<br />
* Justina: Finish texturing cyborg, head model, cyborg animations, shooter model (maybe)<br />
* Bryan: Tentacle model, texturing, animations, attacks<br />
* Franklin: Character Select, Scene Select, Shooter Powers, Mechanic Powers, Scientist Powers, Finish Reset<br />
<br />
<br />
''' Screenshots '''<br />
[[File:Shooting.png]]<br />
<br />
''' Morale ''' <br><br />
http://media.giphy.com/media/nHWwQKWM17UjK/200.gif<br />
<br />
== Week 5 ==<br />
<br />
'''Overall Status'''<br />
* Heightmap generation/Reading bitmaps<br />
* Lazy follow camera<br />
* Switching gravity<br />
* Feature integration!<br />
* Monster phases<br />
* Cyborg special power<br />
* View collision boxes!<br />
* Particle system<br />
* Snow...?<br />
* Start screen<br />
<br />
<br />
'''What are people doing'''<br />
* Defined in the main page =D<br />
<br />
<br />
''' Screenshots '''<br />
[[File:Fantastic.png]]<br />
<br />
<br />
''' Morale ''' <br><br />
WE MADE IT SNOW!! <br><br />
<br />
http://media.giphy.com/media/lMr6k5bqTTioM/original.gif<br />
<br />
== Week 4 ==<br />
<br />
'''Overall Status'''<br />
* MVP DONE!!!!!!!!!!!!!!!!!!<br />
* Arena!<br />
* First Character!<br />
* One Monster with Many Tentacle(s)!!<br />
* Restart if everyone dies<br />
* Support for multiple collision boxes<br />
* Initial gravity switching<br />
* HUD that shows monster health and your health<br />
* Rotating space texture<br />
* Switching animation states for the player<br />
<br />
<br />
'''What are people doing'''<br />
* Bryan will work on tentacle animations (sweep primarily), collision boxes, Boss AI<br />
* Michael will work on arena textures, platform and object models, sound bank for each object (for sound effects), and generating a height map<br />
* Justina will model a first player, get started on a head model, texture the tentacle model<br />
* Nathan will work on switching gravity!!<br />
* Franklin will work on HUD (Game over, you won!), press A to join, Start to start; Restart when you won!<br />
* Suman is doing arena lighting<br />
* Haro is merging player animation to develop, adding ability to rotate models programatically<br />
* Suman and Haro are doing first character special power (charge), then head phase, then shooting<br />
<br />
<br />
''' Screenshots '''<br />
AWESOME!!! MVP!!! <br><br />
<br />
[[File:Tentacles in space.png]]<br />
<br />
<br />
''' Morale ''' <br><br />
http://media.giphy.com/media/HjvvlK5jJRGq4/original.gif<br />
<br />
== Week 3 ==<br />
MVP DUE THIS WEEK!!!!<br />
<br />
'''Overall Status'''<br />
* We have a HUD! With a health bar that changes color!!<br />
* We have a 3rd. person camera<br />
* We have jumping and wall jumping!<br />
* Networking's stable<br />
* Tentacle model with animation!<br />
* Collision detection!<br />
* Simple death logic! (Controls Freeze)<br />
* Built simple box arena out of planes<br />
<br />
'''What are people doing'''<br />
* Bryan will work on doing the AI for the tentacle boss, and animating/modelling with Justina<br />
* Michael will work on modelling the environment, maybe working on some sound as well<br />
* Justina will model a first player and work on animations<br />
* Nathan will work on switching gravity!!<br />
* Franklin will work on restart logic and monster death logic<br />
** monster health on HUD, monster dies when health is zero<br />
* Suman and Haro will work on rendering the boss, player attack logic and tentacle collision boxes<br />
<br />
<br />
'''Screenshots''' <br><br />
[[File:Tentacles.png]]<br />
<br />
'''Group Morale'''<br><br />
http://media.giphy.com/media/sLUKCFI5I9opW/original.gif<br />
<br />
== Week 2 ==<br />
'''Overall Status'''<br />
* We have a real server!!!<br />
* We can have multiple clients (ish)<br />
* We can load models!!!<br />
* Render engine merged!!!<br />
* Object management!<br />
* Audio is working but not merged!!!!!<br />
** Load files<br />
** Play files<br />
** We'll talk about merging<br />
* Justina's got sketches for the 1st and 2nd characters!!!!<br />
* Our loader can only do .x!<br />
** 3DS 2012 can export to .x? PandaSoft can! So Justina's getting 2012!!<br />
* Good to know size for modelling<br />
* Our arena is made of walls! Start with a box!<br />
<br />
'''What are people doing'''<br />
* Bryan will work on setting up a scene end to end/loading and rendering models<br />
* Franklin knows what he's doing on networks<br />
* Michael will work on modelling the environment<br />
* Justina will model a tentacle, first player, helping out with graphics/camera<br />
* Nathan will clean up object management, work on collision<br />
* Suman and Haro will do the HUD, fix controller, camera<br />
<br />
<br />
'''Screenshots'''<br />
[[File:Captain_Isaac_-_Player_1_model.jpg]]<br />
<br />
'''Group Morale'''<br><br />
When me and a coworker are working in the same branch <br><br />
[[File:Tumblr mbbsvej7Dc1rqfksw.gif]]<br />
<br />
http://wheningit.tumblr.com/<br />
<br />
== Week 1 ==<br />
<br />
'''Overall Status'''<br />
* Project Spec/Schedule<br />
* Direction/Aesthetics of characters<br />
* Character controls<br />
* Set up a wiki<br />
* Client that can connect to server<br />
* Set up github repository<br />
* Set up dropbox for art<br />
* Finalized meeting time<br />
* Designed initial engine architecture<br />
* Bryan temporarily switched to graphics while Justina's gone<br />
* Franklin video-taping 3D Studio Max for Justina =D<br />
* We decided on a team name! Ninja Coders!!<br />
<br />
'''Group Morale''' <br><br />
When me and a coworker are working in the same branch <br><br />
[[File:Awesome.jpg|Awesome!]]<br />
<br />
http://wheningit.tumblr.com/</div>132.239.1.231http://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Project_ScheduleProject Schedule2013-04-06T22:45:34Z<p>128.54.70.23: </p>
<hr />
<div>{| class="wikitable"<br />
|-<br />
|Week<br />
|Graphics<br />
|Modelling<br />
|Music<br />
|Game Engine<br />
|Game Logic<br />
|Networking<br />
|Milestones<br />
|-<br />
|1<br />
|Planning/Setup<br />
|Concept Art<br />
|Research<br />
|Planning/Setup<br />
|Planning/Setup<br />
|Planning/Setup<br />
|Setup<br />
|-<br />
|2<br />
|Object Loading, Camera<br />
|Cubes, Concept Art <br />
|Start working with DirectSound<br />
|Object Management<br />
|XBox Controls mapping, config file, debug console<br />
|Basic Network working (Message Passing)<br />
|<br />
|-<br />
|3<br />
|Basic HUD, Collision Detection, Textures<br />
|Basic Tentacle, One Character Model<br />
|<br />
|Rendering of boss and character<br />
|Basic Movement<br />
|Client/Server, Game Engine Integration<br />
|<br />
|-<br />
|4<br />
|Arena Textures/Lighting<br />
|Basic Head, Basic Arena<br />
|Integrate basic sound effects with Engine<br />
|Basic Physics, Render Arena<br />
|Character/Boss attacks, Death Logic<br />
|Multiple Clients working<br />
|MVP<br />
|-<br />
|5<br />
|Shaders, Particle Effects<br />
|Basic Animation, Second Character Model<br />
|Sound effects for boss<br />
|More complex Physics, switching of gravity<br />
|Multiple Players<br />
|Testing/Maintenance<br />
|<br />
|-<br />
|6<br />
|Animations<br />
|Dungeon Model<br />
|Background music for the Battle<br />
|<br />
|Complex character and boss movement + attacks<br />
|<br />
|Alpha<br />
|-<br />
|7<br />
|Dungeon Lighting/Textures<br />
|Third and Fourth Character Models<br />
|Sound effects for characters<br />
|<br />
|Tutorial Dungeon logic<br />
|<br />
|<br />
|-<br />
|8<br />
|Additional Effects, Black Box Testing<br />
|Menu, Intro Scene, Exit Scene<br />
|More sound effects, Black Box Testing<br />
|Black Box Testing<br />
|Black Box Testing<br />
|Black Box Testing<br />
|<br />
|-<br />
|9<br />
|Debug/Cleanup<br />
|Debug/Cleanup<br />
|Debug/Cleanup<br />
|Debug/Cleanup<br />
|Debug/Cleanup<br />
|Debug/Cleanup<br />
|Beta<br />
|-<br />
|10<br />
|Catch Up<br />
|Catch Up<br />
|Catch Up<br />
|Catch Up<br />
|Catch Up<br />
|Catch Up<br />
|Demo<br />
|}</div>128.54.70.23http://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Project_SpecProject Spec2013-04-06T22:38:29Z<p>Admin: /* Project Description */</p>
<hr />
<div>== Project Description ==<br />
<br />
<br />
- What kind of game are you planning to build?<br />
<br />
A collaborative third person mini-adventure and boss battle game, where four players in a spaceship work together to escape a dungeon and, upon exiting, they must battle a monstrous hydra tentacle beast. The arena will be in the hold of the ship, which is a closed environment where players can bounce of the walls. To give the game an interesting twist, the ship's gravity generator was broken by the monster, so it turns on and off randomly, as well as switching where the center of gravity is. Each player will have different abilities and tools (see below for character description), which must be used in synchrony to fight the monster. The beast will have two stages (the tentacles, and the heads) at each stage, two things change: the fighting scheme of the boss, and the abilities of the players. As such, players need to re-adjust their fighting strategy to defeat the monster.<br />
<br />
<br />
Characters:<br />
<br />
1. A bouncing cyborg guy, he has special shoes that give him an overpowered jump of any surface (wall) and a piercing weapon in place of an arm.<br />
<br />
2. A girl with a laser gun and a harpoon gun that lets her latch on to special hooks in the arena and swing from them.<br />
<br />
3. A scientist girl with a saber and a cyborg eye that lets her see weak spots of the monster, when she focuses on a weak spot, she can show it to the other players.<br />
<br />
4. A gravity mechanic guy, he has special shoes that let him stick to any surface, and he can deactivate panels on the walls to change where the center of gravity is temporarily, he also has a hammer. <br />
<br />
<br />
The dungeon should test every character's power (so it's used as a tutorial), so it needs:<br />
<br />
* Mechanic Gravity panel that needs to be activated to change gravity's center of mass (so maybe mechanic starts on the ceiling)<br />
<br />
* Tentacles that are obstructing the way, and can be defeated by hitting the weak spot<br />
<br />
* A trigger (button) that is reachable by jumping there with the cyborg<br />
<br />
* A trigger that should be shot with the laser gun<br />
<br />
<br />
Controls: <br />
<br />
* A: Action button. Normally jump, where everyone can wall jump<br />
<br />
* Right Trigger: Attack button, per character:<br />
** Cyborg: Sword Arm<br />
** Shooter: Laser Gun<br />
** Scientist: Saber<br />
** Mechanic: Hammer<br />
<br />
* B: Special power (or switch to special power, and then use right trigger), per character:<br />
** Cyborg: Super Jump<br />
** Shooter: Harpoon Gun<br />
** Scientist: Focus on weak spot<br />
** Mechanic: Reprogram panel (Initially just press B, maybe later it'll be to follow a pattern)<br />
*** Could also be stick to the panel, and then trigger behaves differently for the mechanic<br />
<br />
* Left joystick: Move<br />
<br />
* Right joystick: Move camera, otherwise, camera follows behind player (3rd. person view)<br />
<br />
<br />
- What are the goals of the game, how do players win, how do they lose?<br />
<br />
The goal of the game is to defeat the beast through collaboration. Players win by teaming up, and using their different capabilities to kill the giant boss. Players lose once the monsters have killed everyone. If there is at least one player alive, they have the capability of reviving other players, but in order to defeat the beast, all four players must fight together.<br />
<br />
<br />
- What are the interesting or unique aspects to your game?<br />
<br />
Collaborative fighting with different characters and capabilities provides for a multitude of fighting strategies and encourages teamwork between players, as opposed to fostering competition. Also, the fact that the gravity generator is broken will provide for a very interesting game play mechanic.<br />
<br />
<br />
- What are the list of features of your game?<br />
<br />
'''Minimal Viable Product'''<br />
<br />
* Controls (Xbox controller).<br />
<br />
* 3rd person camera following character.<br />
<br />
* Cube representation of players that can bounce and crash into monster.<br />
<br />
* Cube representation of tentacles that can slam against player.<br />
<br />
* Four players can join a session, and must collaborate to defeat the monster.<br />
<br />
* HUD displaying health bar, health goes down when hit by monster.<br />
<br />
* When health bar depleted, player dies (or freezes/disappears).<br />
<br />
* If everyone dies, all players restart at the boss battle.<br />
<br />
<br />
'''Must Have'''<br />
<br />
* Epic giant tentacle/hydra boss model<br />
<br />
* Bouncing Cyborg Character guy model<br />
<br />
* Spaceship Arena environment<br />
<br />
* Collision Detection<br />
<br />
* Sound effects for the boss.<br />
<br />
* Background music for the battle.<br />
<br />
* Sword arm for the cyborg<br />
<br />
* Two phases for the boss: tentacles and heads<br />
<br />
* You start in the game, some mechanism (like a gate) will let everyone start (ex. open) when they hit A.<br />
<br />
* HUD: health, controller description (for buttons that have more than one action)<br />
<br />
<br />
'''Would be really nice'''<br />
<br />
* Intro scene for the boss.<br />
<br />
* At least 2 powers for each boss phase (ex. smash and shoot / byte and fire breath)<br />
<br />
* More Characters: <br />
** A cyborg eye girl character with a saber that can see the monster's weak-points<br />
** A shooter girl character with a harpoon gun<br />
** A gravity mechanic guy character that can deactivate gravity panels and change the center of gravity with a hammer<br />
<br />
* Collaborative dungeon before boss where every character can test out their power<br />
** Bouncing to a button<br />
** Switching gravity<br />
** Killing tentacles with weak-points<br />
** Shooting a lock<br />
<br />
* Sound effects for the characters.<br />
<br />
<br />
'''Cool but only if ahead of schedule'''<br />
<br />
* Healing/Revival capability for everyone, in some form (healing packets that fall, or healing spot you drag dead players to)<br />
<br />
* Learning AI for the boss<br />
<br />
* Character Stages, where characters' powers evolve<br />
<br />
* Exploding ending boss scene.<br />
<br />
* Pause dynamics (that character freezes, or a screen pops up for everyone)<br />
<br />
* Taunts!!<br />
<br />
* Choosing your character.<br />
<br />
* Area in dungeon that looks like boss area but nothing's there (or maybe the bear is there!). Then you go outside and it feels like you're done, but then there's a boss!<br />
<br />
== Group Management ==<br />
<br />
- What are the major roles in your group’s management?<br />
<br />
Graphics:<br />
<br />
Justina<br />
<br />
Bryan<br />
<br />
Networks:<br />
<br />
Bryan<br />
<br />
Franklin<br />
<br />
Game Engine:<br />
<br />
Nathan<br />
<br />
Haro<br />
<br />
Suman<br />
<br />
Game Logic<br />
<br />
Suman<br />
<br />
Haro<br />
<br />
Music:<br />
<br />
Michael<br />
<br />
Modelling<br />
<br />
Justina<br />
<br />
Michael<br />
<br />
- How will decisions be made? By leader, consensus?<br />
<br />
Decisions will be made by consensus.<br />
<br />
- How will you communicate? Email, meetings in the lab, discussion board?<br />
<br />
Email and weekly 1 hour status update meetings Mondays at 2 pm. We also have a doodle with everyone’s schedule, so we can set up times to work together in the lab.<br />
<br />
- How will you know when you're off schedule, and how will you deal with schedule slips?<br />
<br />
We will have a schedule with milestones which we will revise during our weekly meetings, if we don't meet a deadline, then we will know that we are off schedule. If this happens, we will take the following actions:<br />
<br />
* Discuss cutting features<br />
<br />
* Dynamic role allocation (move people to areas that need more work, since every team member is willing to work on different aspects of the game)<br />
<br />
<br />
To avoid going off-schedule, we will have clear communication of events, projects, homeworks, trips, or other circumstances with the team, at least a week in advance.<br />
<br />
- Who will produce the weekly group status reports?<br />
<br />
We will all produce the status report during our weekly meeting.<br />
<br />
<br />
== Project Development ==<br />
<br />
- What are the development roles and who will handle them?<br />
<br />
This was already discussed above.<br />
<br />
- What tools will you use?<br />
<br />
Graphics and Audio: DirectX 9<br />
<br />
Modelling: 3D Studio Max<br />
<br />
Development: Visual Studio<br />
<br />
Version control: Git (for code) and Dropbox (textures and models)<br />
<br />
Language: C++<br />
<br />
- How will you do testing?<br />
<br />
Each developer is responsible for generating unit tests for their features.<br />
<br />
Black box testing of all features by every member in the team.<br />
<br />
We will implement a testing mode where only one person can play and test out the controls and feel of the game, but not beat the monster (since collaboration is required for that, perhaps we can also add a way to turn off collaboration for the monster and dungeon so the game is beatable by one player).<br />
<br />
- How will you do documentation (both internal group documentation as well as external player documentation)?<br />
<br />
Function headers: what the function does, what the parameters mean, example use, pre-conditions<br />
<br />
Meaningful variable names.<br />
<br />
Author functions and changes.<br />
<br />
Camel case for function, variables, and classes.<br />
<br />
We might add a tutorial to the intro, but the player can figure out the controls through exploration, particularly because the HUD will show common control actions.<br />
<br />
<br />
== Project Schedule ==<br />
[[Project_Schedule|Click here!]]</div>Hmoncivahttp://cse125.ucsd.edu/cse125/2013/cse125g4/index.php/Main_PageMain Page2013-04-06T20:34:47Z<p>Bryan: /* To Dos for this week */</p>
<hr />
<div><br />
'''Hyperion's Demise'''<br />
<br />
<br />
[[File:Ninja coders.png|Ninja Coders]]<br />
<br />
<br />
[[User:Tsumani|Suman]] <br><br />
[[User:Hmonciva|Haro]] <br><br />
[[User:Bryan|Bryan]] <br><br />
[[User:Franklin|Franklin]] <br><br />
[[User:Erumeldir|Michael]] <br><br />
[[User:Antifinidictor|Nathan]] <br><br />
[[User:Peachychan|Justina]] <br><br />
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.<br />
<br />
== Hot keys ==<br />
Gravity - DPAD + (Y + DPAD UP/DOWN)<br />
<br />
Brightness - X + DPAD UP/DOWN<br />
<br />
Camera Height - B + DPAD UP/DOWN<br />
<br />
Camera Depth - B + DPAD RIGHT/LEFT<br />
<br />
Camera Reset - X<br />
<br />
== Bugs ==<br />
=== FIX NOW! ===<br />
* Reset doesn't work in the debug/release executable.<br />
* <strike>Jumping doesn't work when gravity points to the ceiling, the collision normal against the ceiling is (0,1,0) but it should be (0,-1,0)</strike><br />
* <strike>You can charge right through a wall...... </strike> Non Issue!<br />
* <strike>Particle effects don't work through reset</strike<br />
* <strike> Charging particles stay alive </strike><br />
<br />
=== Probably should fix ===<br />
* <strike>Quitting has an error because the Monster destructor tries to set the HUD, and I think it's already deleted</strike><br />
<br />
=== Probably won't fix ===<br />
* <strike> Variable number of particles is wonky </strike><br />
<br />
== To Dos for this week ==<br />
* https://www.subtask.com/app/#/projects/1464595002811132<br />
<br />
<br />
<br />
Suman <br />
- <strike>Reduce number of particles<br />
- Smaller scientist particles in third person<br />
- Smaller/Remove scientist particles in first person </strike><br />
- Maybe change fireball/bullet texture<br />
- <strike>Cross-hairs for targeting in first person<br />
- Slower rage particles</strike><br />
- Train Janet and Willy<br />
- <strike> Screenshots </strike><br />
- Play with numbers for damage, health, number of tentacles, gravity, camera speed, etc.<br />
- Draw bullets and harpoon from the gun as opposed to the chest<br />
- Fix Bullets<br />
<br />
Haro<br />
- Fireball sound (From Bryan: The sound is there, just very faint)<br />
- Roaring sound<br />
- Look for TODO_HARO in Michael's code!!!!<br />
- <strike> Add player model </strike><br />
- <strike> Shooter animations<br />
- Mechanic animations<br />
- Scientist animations </strike><br />
- Death be nimble death be quick<br />
- Fog happen on new phase<br />
- Fix Head animations<br />
- <strike> Death </strike><br />
- Move<br />
- <strike> Smart Heads that react to attacks </strike><br />
- <strike> Move tentacles to you when gravity is on east wall/window </strike><br />
- <strike>Phase System with hot key for switching<br />
- Tentacles that are passive<br />
- Tentacles that attack<br />
- Gravity switch with Tentacles<br />
- Fog on top of Gravity and Tentacles<br />
- Fog and Gravity and Monster Heads<br />
- Fog, Gravity, and SMART Monster Heads<br />
- End: Game Over - stats screen</strike><br />
- <strike> Make head face you when it shoots<br />
- It looks wrong, I'm scraping this.</strike><br />
<br />
Franklin<br />
- Add scientist animation logic for when he's the other characters<br />
- Test scientist model switching with new models<br />
- Fix death count on recycling tentacles!<br />
- <strike> Empty collision model for pre-loaded tentacles </strike><br />
- <strike> Get rid of harpoon range limit </strike><br />
- <strike> Fix bullets (make them last less, add more) </strike><br />
- Separate statics - moved to config file<br />
- Aim assist<br />
- <strike> Pre-load and re-use tentacles/heads every phase </strike><br />
- Scientist model switching<br />
- Keyboard input <br />
- <strike> Player Animations Logic - ONLY FOR CYBORG<br />
- CHECK - Idle 1-40<br />
- CHECK - Run 42-71<br />
- CHECK - Begin Jump 73-81<br />
- CHECK - Floating up 81-100<br />
- Transition up to down 101-105<br />
- CHECK - Falling down 105-124<br />
- CHECK - Death 131-205<br />
- Charge Begin 210-214<br />
- CHECK - Charge Loop 215-234<br />
- Ready begin 235-239<br />
- Ready 240-259<br />
- CHECK - Attack 260-290 </strike><br />
<br />
Bryan <br />
- <strike> Tentacle Collision boxes </strike> <br />
- <strike>Tentacle Angling towards Player<br />
- Testing Tentacle</strike><br />
- Work with Justina on consistent tentacle look<br />
- <strike>Start screen player icons<br />
- Fix start screen player ready<br />
- HUD tutorial text for each player<br />
- Story (Outline is in status report)<br />
- Speech</strike><br />
- Stats screen background image<br />
- <strike>Icons for the different phases</strike><br />
<br />
Nathan <br />
- <strike>Re-enable pitch for 3rd person camera</strike><br />
- <strike>Flip pitch for 1st person</strike><br />
- <strike>Let pitch go all the way up</strike><br />
- Remove elevator, fix wall height map, add static doors<br />
- Maybe bounded camera, now that there's no elevator?<br />
<br />
Michael <br />
- Sound Effects<br />
- Sound Track/Battle Music<br />
<br />
Justina<br />
- <strike>Animated Cyborg model<br />
- Idle<br />
- Run<br />
- Jump<br />
- Floating up<br />
- Falling down<br />
- Death<br />
- Charge<br />
- Ready<br />
- Attack<br />
- Animated Shooter model<br />
- Idle<br />
- Run<br />
- Jump<br />
- Floating up<br />
- Falling down<br />
- Death<br />
- Aim (Charge)<br />
- Shoot (Ready)<br />
- Models have different colored capes </strike><br />
- Intro 2D drawings for story<br />
<br />
=== Making the game fun ===<br />
* Fix lag o_o<br />
** Fewer Tentacle Rage Particles<br />
** Fewer Fog Particles<br />
* Faster turning camera<br />
* Test with INIT_HEALTH = 100, change damage numbers (bullets, fireballs, etc.) so they make sense<br />
* Show player title in stats and tutorial<br />
* Test/Fix Start screen<br />
* Better bullet graphics (different texture?)<br />
* Visualize target in FPV<br />
* <strike>Make the harpoon a stun gun when it hits a tentacle</strike><br />
* Make bullets moar dmg, big delay between every bullet, no bounce<br />
* Increase gravity interval<br />
* Decrease 0-G interval<br />
* Platforms:<br />
** 5 moving: middles of walls<br />
** 5 static: corners and center<br />
** 3 crates<br />
* Increase platform size by 4<br />
** Make sure harpooner can harpoon itself and others onto platforms<br />
* <strike> Change charge into invincible mode for small period of time with delay in between </strike><br />
* Story at the beginning<br />
<br />
* Making powers slightly more overpowered/fun.<br />
* Extend play time: More Phases - Make them automatically switch or making some player switch.<br />
** Phase 1: Tentacles that are passive<br />
** Phase 2: Tentacles that attack<br />
** Phase 3: Gravity switch with Tentacles<br />
** Phase 4: Fog on top of Gravity and Tentacles<br />
** Phase 5: Fog and Gravity and Monster Heads<br />
** Phase 6: Just Monster Heads + massive rate of fireballs<br />
** End: Game Over - stats screen<br />
<br />
== Timeline ==<br />
{| class="wikitable"<br />
|-<br />
|Week<br />
|6<br />
|7<br />
|8<br />
|9<br />
|10<br />
|-<br />
|Franklin<br />
|Loading screen <br>Shooter attack logic <br>World and HUD events<br />
|Shooter special power <br>Design other powers? <br>Texturing arena<br />
|Testing/Bug Fixing<br />
|Testing<br />
|Presentation<br />
|-<br />
|Bryan<br />
|Monster Tentacle AI <br>Tentacle animations<br />
|Monster Head AI <br>Head animations<br />
|Texturing!!<br />
|Testing<br />
|Presentation<br />
|-<br />
|Justina<br />
|Cyborg model/animations <br>Tentacle animations/texturing <br>Head model<br />
|Head animations/texturing <br>Shooter model/animations<br />
|Cyborg/Shooter texturing <br>Particle textures <br>Prettier Graphics<br />
|Demo Design <br>Finalize Graphics<br />
|Presentation<br />
|-<br />
|Nathan<br />
|Lazy follow camera <br>Height map collision <br>Render complete arena <br>Fix collision boxes with visualization<br />
|Bug Fixing <br>Enhancing Physics <br>Harpoon Swinging<br />
|Bug Fixing/Testing<br />
|Testing<br />
|Presentation<br />
|-<br />
|Michael<br />
|Arena object models <br>Arena textures <br>Sound effects <br>(attack, charge, jump, collision, tentacle)<br />
|Finalized Arena model <br>Soundtrack<br />
|Fully integrated sounds<br />
|Testing<br />
|Presentation<br />
|-<br />
|Suman<br />
|Shooter graphics <br>Charge particle effects <br>Memory/CPU profiling <br>Head attack design<br />
|Shooter graphics <br>Harpoon laser particle effects<br />
|HUD Designs <br>Start screen design <br>Testing/Bug Fixing<br />
|Testing<br />
|Presentation<br />
|-<br />
|Haro<br />
|Tentacle smash attack <br>Roll tentacle to player <br>Tentacle collision boxes <br>Smash combo attack <br>Push away attack <br>Ask Hiram for space texture<br />
|Head attacks <br>Head collision boxes<br />
|Testing/Bug Fixing<br />
|Testing<br />
|Presentation<br />
|}<br />
<br />
== Performance ==<br />
[[Perf Stats]]<br />
<br />
== Getting started ==<br />
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]<br />
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]<br />
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]</div>MediaWiki default