Jump to content

  • Log In with Google      Sign In   
  • Create Account


JWalsh

Member Since 04 Feb 2002
Offline Last Active Jan 11 2014 02:56 PM

Posts I've Made

In Topic: The most innovative development in First Person Play I've ever seen...

10 January 2014 - 12:51 PM

Indeed. Another interesting take on this was from the 2012 DigiPen student project "Perspective". It's a 2D platformer, however you can rotate the camera and zoom in and out in order to change perspective. This allowed you to solve puzzles such as jumping over too large of gaps, or climbing under too small of walls just by changing the perspective.

 


In Topic: Is GLM fast enough for games?

30 May 2013 - 11:54 AM

In your original post you asked about compatibility issues between GLM and Direct3D. If you're going to be using Direct3D for your graphics, just use DirectXMath for your math library.

 

DirectXMath is the public version of XNA Math - the math library that's part of the Xbox 360 Dev Kit (XDK) used by game companies to develop Xbox 360 games. It already utilizes SSE and SSE2 instructions and is about as fast as you can get.

 

Cheers and good luck!


In Topic: Starting C#

30 May 2013 - 11:38 AM

I find that all books on C# say about the same thing, as the language is well defined. The "information" is the same regardless of which book you read, it's just a matter of how the individual book presents it. With that in mind, it's often best to go straight to the source. Here are some informational links and online course which should hold the answers to all your questions. The first is the course, the second link is the homepage to the MVA course, and then the links get more and more technical from there, ending with the C# specification. It's the most terse to read, but there's no better authority than the language spec itself. And of course, as you learn more about C#, feel free to post your questions here and the community will be happy to answer your questions.

 

Programming in C# JumpStart (a MVA course)

C# Virtual Academy

C# Programming Guide

C# Developer Center

C# Reference

C# Specificiation


In Topic: DirectX 11 Draw Text

20 August 2012 - 03:24 PM

Check out Ruefelt's OpenSource D3D Font Library. It's licensed under the MIT License. There's discussion about it here on gamedev.net as well.

Cheers and Good luck!

In Topic: So I want to be a game developer....

15 August 2012 - 02:36 PM

Whelp! Back to the real world! Thank you very much for all this feedback I appreciate it!


I tend to be on the more nitpicky side with my code reviews, but I feel it helps to develop good habits early on. Don't feel like it was a smack-down. Learning is a process and the fact you started and finished a game - even Pong, is a huge step, as many people never even get that far. Again, kudos to you, and please don't get discouraged, that wasn't my intention.

The reason I did it this way, was because I felt like I would have to guess and check over and over with whether or not the arrow was ligned up correctly. Is there an easier way to do this?


SpriteBatch allows you to specify the origin of an image as well as it's position. By default, the origin is in the top-left corner. However, if you move it to the left-center or center-center of an image, then you can vertically align to sprites by drawing them at the same vertical position.

I realized about half way in the project I wasn't fully using objects and classes like I should. Part of the reason is the fact that I am not entirely sure how C# handles it compared to Java, so I thought I'd stay away from it until I read more about it. I completely agree with everything you said.


C# and Java treat classes about the same. The only real difference is that Java doesn't have structs, so everything is pass-by-reference. If something feels like it should be a class, go ahead and make it one.

I'm not familiar with this design pattern. I definietely need to look this up and see what you mean. I just basically tried to use my own logic to do what I was trying to accomplish.


You can bing/google the design pattern for information on how to implement it. There's plenty of C# implementations out there as well for reference. Also, here's the Game State Management sample on the XBLIG website. Look it over.

I agree completely on this end. I need to perform those calculations once. I am not familiar with "Enum" and how it helps the situation.


Enums are the same in C# and Java I believe. They are a way of defining a set of things in code, which can be identified by their symbolic values. Such as having an enum of dates, and giving them the values Days.Monday, Days.Tuesday, etc... See the C# Documentation for a full description with plenty of examples. Scroll down pass the member information.

The "finalBallLocation" is meant to calculate where the ball is going to end up after the collision with the computer controlled left paddle. Then the right paddle moves to that spot on the Y-axis accordingly.


As an alternative, you can have the AI attempt to move up or down based on the "current" vertical position of the ball. So if the ball is at 200y, it'll change direction so the center is at 200y. Then, if you only update the AI every 10, 5, 2, 1, etc... updates, you can make the computer appear "smarter", as it'll respond more quickly to the current state. Nice way to provide a progressively more challenging AI.

Just out of curiosity how did you calculate how many lines of code were written, and what would you recommend as a good % for commenting?


I did a find for //, and then scrolled to the bottom of the file to see how many lines of code there was. Nothing magical, or even relatively accurate. There's no ideal % or ratio that I know of for comments to code. In general, the goal is to make the code self-documenting, such that reading variable, class, and method names makes it 100% clear what is happening at a single glance. But, if that's not the case, either because of a complex algorithm, or a particularly interesting implementation detail, it's a good idea to add a comment. If I had to guess, I'd say my ratio is at about 10-20% or 1:7 comments per lines of code. Again, there's no magic number.

I apprecaite ALL of these feedback, and it's a good slap back into reality, and to remind me where I am in the process. Would you recommend I go back and make changes to this game to reflect this feedback, or to just put it into practice on my next project?


Glad it helps, but please don't view it as a slap. They were just some friendly suggestions or direction, not reprimands. Go back and make the changes if you want practice in working with enums, using Finite State Machines, or object-oriented programming. If not, just incorporate those things into your toolbox as you move forward.

Cheers!

PARTNERS