So last month was a pretty technical month. My two day a week class was Optimization and during this class we learned different techniques to make hot spots run faster of course. One the my favorite techniques i pulled from this class was using SIMD or Single Instruction Multiple Data which basically allows us to send multiple adds/subtracts or any other calculation as a single instruction to the processor. This allows your hot spot speed up that many times as it is, so its pretty helpful. We also covered a few graphical optimization techniques, but those are pretty obvious to those who know something or rather about geometries or meshes.
In my other class, MAR2, we actually learned how to program on a GBA device. Our instructor told us could go over Nintendo DS programming but we didn't have enough time within a single month to do so, but they are extremely similar. Anyways, this is our first hands on experience with a device that has no operating system. How do you program on something with no OS you say? Well with some helpful resources, such as an emulator, we access particular memory locations to store certain data like background maps, color palettes, sprites, and much more cool stuff. To manipulate objects, each item has a series of bits that have flags that we can turn on or off if we need to rotate/scale and object or something.
This month, I have Artificial Intelligence and Real Time Animation for my classes. AI is going to be really tough, but RTA so far looks like its going to be an extremely fun class. Videos and Updates will be posted throughout the month.
This Blog describes my experience going through college at Full Sail University
About Me
- James H. Hood II
- Orlando, FL, United States
- Served 4 years in the army and now I'm a student at Full Sail University where I'm pursuing my dream to make video games.
Wednesday, June 29, 2011
Friday, May 13, 2011
OpenGL project Cont.
For those who wanted to see my OpenGL project and didnt get to...here is a link to a short clip of it. Sorry it isnt Hi-Res..you can thank YouTube for that. If you would like an executable for it, just shoot me an email jhhood@fullsail.edu and ill make a zip file and send it to you.
Keep in mind that all objects in this scene are hand modeled using C++ and OpenGL
Keep in mind that all objects in this scene are hand modeled using C++ and OpenGL
So the final number of lines of code to make ^^ happen is....
MAR1 && ED1
Machine Architecture I : When writing your typical high level programming code, when you compile it, your compiler converts it into assembly code. In this class we are taught how to write in assembly to better understand the process of using the CPU. This class so far has been extremely technical and logical. If you have a problem breaking down a process logically and applying it to simple C++ code or something... just try assembly and see how far you can get. Its tough, but extremely fast, so it pays off.
Engine Development I: In this class we are learning the use of using multiple shaders at once, 3D collision, frustram culling, and much much more. This whole class is devoted to making a core basis of a 3D game. While some of this is challenging, I find it extremely rewarding when you get the results you were shooting for.
To be cont.
Engine Development I: In this class we are learning the use of using multiple shaders at once, 3D collision, frustram culling, and much much more. This whole class is devoted to making a core basis of a 3D game. While some of this is challenging, I find it extremely rewarding when you get the results you were shooting for.
To be cont.
Monday, April 4, 2011
Software Engineering and OpenGL
OpenGL - is a graphics API that pretty much mirrors what Direct3D does for DirectX. So this month, is almost like a repeat of DirectX, but instead its completely focused on displaying stuff to the screen. In the class we will be required to write OpenGL shaders and basically know it inside and out. Due at the end of the class is a scene we have to create to demonstrate our knowledge of OpenGL, so with any luck, i will try and upload a video to YouTube when im completed with it, so i can show you guys what i can do.
In Software Engineering (SWE) - this class is mainly geared towards debugging. however the very first lab, we were required to write a memory manager using a doubly linked list and basically allocating a giant contiguous chunk of memory up front and passing out bits and pieces of it, to who needed it. In order to do this we had to override the new function and make our own. After this was all said and done, this could have made our game last month, run about 1,000 times faster, only because everything would have been contiguous and wouldnt take any time at all to access, or it wouldnt have taken time to create. The class we just finished, we had to write a .pak extractor. What is .pak? Well when games hit the shelf, they typically dont want the consumers having access to all of the games assets, so they put them inside of a encrypted file chuck...kinda like a zip file. So while in this file, in their program, they know exactly how to access where in memory the file they need is at.
In Software Engineering (SWE) - this class is mainly geared towards debugging. however the very first lab, we were required to write a memory manager using a doubly linked list and basically allocating a giant contiguous chunk of memory up front and passing out bits and pieces of it, to who needed it. In order to do this we had to override the new function and make our own. After this was all said and done, this could have made our game last month, run about 1,000 times faster, only because everything would have been contiguous and wouldnt take any time at all to access, or it wouldnt have taken time to create. The class we just finished, we had to write a .pak extractor. What is .pak? Well when games hit the shelf, they typically dont want the consumers having access to all of the games assets, so they put them inside of a encrypted file chuck...kinda like a zip file. So while in this file, in their program, they know exactly how to access where in memory the file they need is at.
SGP II
Hey guys, sorry I never got around to posting for month of March. Basically all i was in, was Alpha and Beta phases for our game that we started in SGP1. The last week we went Gold and had an expo where everyone could come in and play. We had a great turn out, when over 100 people came in to see ours and the other teams game. If you would like to play the game, I will post a link to it, so be sure to scroll down. But just remember, a game is never finished and we are aware of many of the current bugs that are present in the game.
*** Notes before installing ***
1) please update to the latest version of DirectX (June 2010)
2) the game can be played with just the following types of input
keyboard, mouse and keyboard, and X-box controller.
3) If you want to change the HUD in the game, make sure you have the latest .Net version installed
otherwise, windows will do funky things with the external program that we made.
other than those things, please enjoy our game, and make sure to check the credits to see who did what.
As far as I go individually, I put together all the weapons, attachments, animations, and sounds. There was a lot of hard work and dedication put into this game over the last 2 months, its just nice to be able to share it now :)
**** Download Link ****
http://richardasmall.org/wp-co ntent/uploads/personal/Infiltr ator.exe
*** Notes before installing ***
1) please update to the latest version of DirectX (June 2010)
2) the game can be played with just the following types of input
keyboard, mouse and keyboard, and X-box controller.
3) If you want to change the HUD in the game, make sure you have the latest .Net version installed
otherwise, windows will do funky things with the external program that we made.
other than those things, please enjoy our game, and make sure to check the credits to see who did what.
As far as I go individually, I put together all the weapons, attachments, animations, and sounds. There was a lot of hard work and dedication put into this game over the last 2 months, its just nice to be able to share it now :)
**** Download Link ****
http://richardasmall.org/wp-co
Friday, February 25, 2011
OPS and SGP1 part II
So we just wrapped up this month at school and I have to say, after completing this month, i feel completely relieved. OPS was kicking my ass...lectures were boring, labs were difficult, and the final was pretty hard/ easy. Usually every final, has some sort of curve ball from our programming foundation classes back in the beginning of our education. Our course director though he would through bit wise operators at us. Which is easy cuz i know that stuff. But it was twisted into threading and we basically had a text program where we had two gas pumps and ten cars. We had to utilize both pumps at the same time while making sure only one car was at a pump at a time. Not to difficult until the threading comes into play. Each time you add a thread to a process, you basically add another brain to calculating data. So when multiple threads are parsing through the same data, you have to watch out, because they dont care about each other, and will change the data without telling each other. Thats why threading is a pain in the ass...having to logically come up with when to lock an object from everyone else, and when to unlock it. If an object is locked, only the thread working on that data can change it.
Well enough with all the technical stuff....well i guess its all technical, but anyways on to SGP1. After a hickup in the beginning, relearning C# (C sharp) and I finally got around to completing my animation editor. In 2D games, animations are done by sprite sheets which is basically nothing more than a flip book animation. You cycle through them fast enough and the change in the image makes the character seem like they are moving. This was my job in my team, making animations for character in our game. Our whole team completed 99% of all our tasks and we pretty much aced the class. Being able to make actual games to extremely rewarding. Now we go on to SGP2 where we continue to make our game. We are in our second Sprint, which is basically a two week period of getting particular parts of the game accomplished. My primary objectives for this sprint is to get different animations for different actions implemented and sound effects to go with the actions. Ill let you guys know how that goes.
Tuesday, February 8, 2011
Operating Systems && Structure of Game Production 1
So starting off with Operating Systems or OPS...not really much to say about this class other than the fact that it is all about using the wrappers that the course director has given and use them have the OS start threads. So far the lectures are completely useless to what the labs cover. During lecture the course director rambles on about how hard drives work but never does he go over the code and how it works during lecture.
As far Structure of Game Production 1 or SGP1 goes, we were given the choice to pitch random games, and the whole class was divide into 2 teams to make a fully playable games. The class size was 9, so we broke up into 2 teams and we received the 5th person...That basically means that we have to have a wicked kick ass game. Along with having a kick ass game, the whole entire first 2 weeks devoted to this, has been spent documenting the game. That consists of documenting the design of the game ( how things are going to look and feel) and then the architecture of the game(how things mesh together)
There is more to come on SGP but class has started...
As far Structure of Game Production 1 or SGP1 goes, we were given the choice to pitch random games, and the whole class was divide into 2 teams to make a fully playable games. The class size was 9, so we broke up into 2 teams and we received the 5th person...That basically means that we have to have a wicked kick ass game. Along with having a kick ass game, the whole entire first 2 weeks devoted to this, has been spent documenting the game. That consists of documenting the design of the game ( how things are going to look and feel) and then the architecture of the game(how things mesh together)
There is more to come on SGP but class has started...
Subscribe to:
Posts (Atom)
