Final Review

Game concept: How and why did your game concept change from initial concept to what you implemented?

Herein, we will refer to concepts and design as a single entity, with features as a separate entity.

Firstly, The how: The general concept of the game stayed the same. It remained a 2-D in a 3-D world defense type of game, in which the main goal of the creeps was to get to the portal, the main goal of the players was to stop them. We implemented both of those fully. However, our initial design implied we would have different roles inside of the game. This was not implemented fully, but we did manage to input a turret functionality, which was going to be the basis of some sort of “engineer” class.

Secondly, The why: Since the above are general core concepts, we considered them necessary to achieve the group vision that we had for our game. Before we would sacrifice any of the above concepts, we would go ahead and remove features from the game. All other features, including the class based design, were not allowed to be put in because of time.

Design: How does your final project design compare to the initial design, and what are the reasons for the differences, if any?

From the “Must-Have” Category: All goals were met.

From the “Would be Really Nice” Category: We implemented three weapons, so we did in fact have objects that took advantage of the terrain, as well as multiple weapons. We did not implement any obstacles, though we have a level provide a kind of obstacle...

From the “Cool but Only Ahead of Schedule” Category: It was difficult enough to get a single level in the game. Adding a level was a pretty involved process, but it was (of course) a time issue. Classes were not added either, there was not enough time. A class based system could fit in, but not in the original intention that we were thinking. In keeping with our inspiration, though, we were unable to create a class-based system through the game system. We did implement varying sound effects, with a 3 dimensional sound engine. Originally, we also would have liked to do a little more graphically as well however were limited because of time.

As time went on, we started to narrow down our game with many, many playthrough tests, and a general motto of keeping it simple, and keeping it fun.

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.)

In General: We were behind on all fronts, though by at most a week. In specific though, there were lots of changes.

Sound:

Physics: Jumping was scrapped, collision detection didn't even come together until week 8.

Network: Client/server echo was up and running by Week 2. We were behind on server send and receives from week 2. We managed to create a flexible message packet structure by Week 4, and then stopped development after that, as it was a mostly complete system.

Input: Input was done according to plan in the beginning, but issues in tying together input with the server caused us lots of problems in the Week 6, when we finally had a server movement system all patched together.

GUI: GUI underwent changes until the very end, and it wasn't even really started until Week 7 or so, which made things lots of fun.

Graphics: Scene Graph was scrapped, and lots of other systems in the game were abandoned in order to keep our rendering engine simple, and working.

More General Questions:

What software methodology and group mechanics decisions worked out well, and which ones did not? Why?

Being able to reliably split up the work was a large issue. As long as that could be filled, then we could all make decent progress. This might have been alleviated by spending more time in the lab together. I also think that we got an actual running copy of the game up and running way too late, which we could have spent actually playing and then going back to the drawing board a lot quicker. We spent a lot of time talking strongly and not actually making decisions.

What aspects of the implementation were more difficult than you expected, and which were easier? Why?

Trying to implement any sort of concept features were very difficult to refine. Not from an artists point of view, but just the fact that someone was actually implementing something was “good enough” for us, whereas in retrospect, we wish that we had a little bit more time to refine and meet as a group to go ahead and do that.

In implementing your project, you relied upon a number of tools, from the DirectX libraries to modeling software. Do you see the opportunity and need for new libraries and/or tools that would make project development easier? Are there any tools that you used but, looking back, you would avoid?

Everything that was done was done efficiently was thanks to Visual Studio and subversion. Looking back, we probably wouldn't have used any different tools out of the whole situation.

Looking back, would you have rather started with a game engine like Ogre or would you still prefer to work from scratch?

As a group, we are undecided on the answer to this question.

It would have made for a prettier, more feature-filled game, but it would not have been as original. [Rivera, Ranatunga].

I would have started again from scratch, rather than simply learn a game engine API that wouldn't help when I have to potentially deal with a proprietary system, if you were to get when you actually work at a game company. [Green]

I also liked the idea of starting from scratch. It made it more something that we owned. [Cheng]

Looking back over the past 10 weeks, how would you do things differently, and what would you do again in the same situation?

We wouldn't do things differently, we would just try to be quicker in what we did. We don't really feel like we prioritized wrong, just could have been faster.

We could have planned and designed things out better in the beginning instead of just going at everything and then trying to hack it all together later. [Cheng]

Which courses at UCSD do you think best prepared you for CSE 125?

Compilers and 141L, simply because of work ethic. In terms of technology, definitely 167 and 169, in terms of graphics.

What was the most important thing that you learned in the class?

Was to involve everyone in the modulation, ideally much before this modules were run. Sometimes we didn't end up with a properly executed idea that could have been avoided.

Visual Studio [Ranatunga]

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?

Gamedev.net, MSDN, Tutorials for the DirectX SDK. None of us used a lot of the books.

 

I will be teaching this course next Spring. What advice/tips/suggestions would you give students who will take the course next year?

I would have more demonstrations and speakers, there were a very good thing. Perhaps a later classtime. [Rivera, Ranatunga] Start Early, Work Hard [Rivera]. You should be prepared for this class and what it's going to do to you before you even walk in [Green]. Plan out and design what you're going to do and then do it. [Cheng]

Week 9 Status Report

Game is finally behaving like a game, looking good and approaching presentation day! Lots of changes to be made, see to-do list:
http://www.phrozenflame.net/cse125/node/80

Morale Statement: 
Excited!

Final Week todo list!

TO ALLOCATE:
Network buffer? no solution exists atm. but big problem.
Creep 2 Creep collision issue? no solution exists atm. but big problem. 
perhaps subtract from position on collision instead of just pausing.

** Possibly a score 'Kills: X', easy 5 min change.

Alan
	-Graphics, gui clean up
	-Powerup change
	-Weapon change
	-Creep animations
	-Minimap?
	-Colour freeze blue
	-visual creep feedback for damage or death
Sam
	-Sound changes?
	-Visual bullet changes
	-background music
Thavidu
	-Player health removed
	-Wizards to shoot back, freeze you
	-Turret
	-More levels or tuned levels enough for it to last 15 min of presentation.
Cory	
	-Only players should collide with powerups
	-Player shouldn't collide with their own bullet
	-AMMO has to replenish more smoothly, and maybe collidable portal.
Stephanie
	-Aiming, ray collision? (optional)
Diana
	-Player models

Pretty Creeps and big-ass cannonballs

Pretty Creeps and big-ass cannonballs

Hopefully the collision detection scheme implemented is efficient enough. Objects are stored in bins determined by their XZ location in the world. Collisions occur between player-player, player-creep, player-projectile, projectile-creep, and everything-heightmap.

Objects locked to height map

Objects locked to height map

yes its 6.19am, 30 min later than last week even.

Week 8 Status Report

this week we eliminated a lot of mem leaks, implemented some basic collision detections, added new sounds, and we have units actually stuck to the heightmap now

but there are bugs.

Morale Statement: 
impending deadlines are blur.
Link To Screenshot: 

5.47 am in the morning

5.47 am in the morning

, night of status report number 7. thavidu's head = hurt.

Week 7 - Status Report

The game actually works? We've projectiles and systems inside of an object list that iterate through and get rendered.

The logic for powerups and weapons is constructed and in-game, we just need a method of collision detection so that everything will be able to work accordingly.

Thav thinks that AI is in and working pretty well, and we render the land okay.

Overall, we've made great progress for this week, and the code is really shaping up, hopefully the 16 days we have until presentation day will be enough to get us going correctly...

Alan won't be at the meeting tomorrow morning, just an FYI, my Ma is graduating at the university of Redlands (on a thursday, I know), so I'll be attending that, and staying at home for the weekend, but I'll be in e-mail connection with people for parts of the weekend, I hope.

Dear Stephanie,
Feel better.

Love,
Group

Morale Statement: 
On a scale of 1 to STRESSED... we're STRESSED.

Week 6

most people were busy this week, and most changes were done locally as i don't think people had time to complete their code (fix bugs) so didn't merge with the repo since it wasn't perfect.
also while code works in unit test, there are issues with deciding the best place to incorporate into the existing game/code structure. though that will be clarified tomorrow so people will understand

done:
basic collisions
camera/player movement fixes
local work on all our clients, or stuff on repo but not visually see-able

Morale Statement: 
Mixed, some progress, most of us were busy this week.

Week 5 Status Report

Progressing quite fast this week, we got the following done:
1) Backsides of billboard units
2) Game state implemented
3) Config files/global var system up
3) Client/Server transferring the game state well
4) Player ('tiger' for now) can move around screen with other people able to see it too

Morale Statement: 
Pretty good! making good progress.