JaxDragon's Posting Area
A place for all the ramblings in my mind.
Sheng En F-II Cube Review
Posted by on March 5, 2011
I’ve recently got into solving rubiks cubes. I bought one at walmart that was atrociously hard to turn. As such, I decided to buy an F-II, and have not regretted it.
It turns well out of the box, and came prelubed(though with what, I’m not quite sure).
Cuts corners pretty good, although I get a lot of pops if I try do it fast.
One downside is the stickers. They are of HORRIBLE quality and scratch extremely easily.
Having said all that my solve times have increased tremendously. From about 2mins to 1min average.
inFamous review
Posted by on July 11, 2010
I just finished inFamous, so I figured I’d give it a review. Keep in mind I played through the “evil” campaign, so if you play through the good campaign, you may find some story differences. I’ll leave out story details, no matter how basic they may be.
You can play the game as an evil character, or a good character. There are a few powers that are unique to each. Another thing to note is that good characters have blue lightning, while evil characters have red lighting. This is one of those games where it’s very rewarding to be evil.
You can use multiple different powers to attack your enemies. From simple lightning zaps to throwing a grenade. The powers are very fulfilling and fun to use. You acquire these powers either through restoring power to the city, or purchasing them with XP. XP can be hard to get if you don’t do side missions though. Some powers require you to do a certain number of good/evil side missions in order to obtain, so you should stick to doing one or the other.
There is only one island in the beginning, but there are two more you unlock later. Each island is home to a different faction of enemies. There are 3 different factions: the reapers, the dust men, and the first sons. You begin the game in reaper territory though. Some enemies are extremely annoying, but most are easily kill-able with a few zaps. The “Conduits” act as mini bosses for each faction, and as such you get more XP for killing them.
The combat is very entertaining and original. I appreciate the fact it zooms you in when you start targeting enemies, it would have been rather annoying for you to have to just eyeball it. The AI is well implemented and can give you a good challenge to boot.
The world is highly interactive and I had a good time wreaking absolute havoc on the environment and it’s civilian inhabitants. You want to avoid hurting civilians if you’re playing good, naturally. Some buildings can even explode, such as gas stations.
The story plot is unique, yet somewhat predictable. It’s also not overly entertaining until about the last 1/3. You will be surprised when major things happen, yet when you think about them later you notice they weren’t really new concepts.
One major gripe is the responsiveness of the controls. At times they get you killed, not doing what you think they would. Instead of jumping down a building, the game would magically turn you around and grab on to a ledge. Or you would try and shoot a distant object, but your projectile would get caught on another object that in reality it did not touch. Not nearly as bad as Prototype though.
Also, there isn’t much fun in the game after the ending. It’s not as much fun as it was before. The story missions were rather fun and intuitive, and naturally they stop after you beat the main plot. Don’t get me wrong, they give you plenty of things to do, but there’s really not anything major you couldn’t have done while playing through the game before.
I found a few glitches while playing the game, nothing harmful to the gameplay at all, except one time I fell through the ground. The people sometimes get stuck and just start walking in place. Sometimes the enemies get stuck in objects, and you can’t kill them, but they can’t kill you either.
Overall, it’s a good game. I would recommend it to open world fans.
Revival
Posted by on July 10, 2010
I just moved all of the old posts into a category called “Old posts/Legacy” so there’s more free space for new content. Going to try and start up some more programming articles. Maybe game reviews. Who knows.
Kanoba Online Update 11/13/09
Posted by on November 13, 2009
Kanoba Online development is still going on, but not with VB6/Eclipse. I am currently in the process of writing an entirely new engine(Kanoba Engine).
Once the engine is completed, we will begin development on Kanoba Online. Not sure when the engine will be finished, but it will be free and publicly available.
The engine will be written in C++, with Qt as the GUI library, and SDL for graphics. Lua will be used as the scripting language.
Modern Warfare 2 Review
Posted by on November 13, 2009
I’m basing this off the PS3 version, and if you would like to play with me my PSN is JaxDragon
Special Ops
Special Ops contains a series of Co-Op missions for your and your friends(or your brother) to play. There are plenty of missions, all of them with special goals to fulfill. You get a rating from one to three stars. You get trophies for beating them on Veteran. You also get trophies just for completing them on any difficulty etc. You can play them over the internet with people, or do split screen(not recommended, they still have those really annoying black bars around each players screen). Overall Spec Ops is pretty fun.
Campaign
Campaign is very fun in MW2. There are quite a few twists in there. The mission/level designs are flawless despite a few occasional bugs. The campaign is a little longer than it was in the original modern warfare. There are various easter eggs if you take the time to look around and explore the maps. I won’t spoil the ending, but I will say it is very good and somewhat reminiscent of MW1′s ending moments.
Multiplayer
MW2 multiplayer is basically MW1 multiplayer on crack. There are loads of new perks, weapons, maps, attachments, and theres even a nuke if you get a 25 kill streak. I love multiplayer, and I would say it is the best out of the 3 categories(spec ops, campaign, multiplayer). Theres certainly enough new content to make you want to play it a lot.
Bugs/Issues
First off, the multiplayer servers were down for a good 12 hours the day of release. That was quite annoying. Also, there is no team balance. It’s all to often that its 2v4 or 1v6. Also, the bodies tend to glitch up in campaign, vibrating and falling into the scenery. I’m not a PC player, but the fact that theres no dedicated server is a punch in the face to me as well as those who purchased the PC version. And theres loads of issues when trying to invite a friend to join your party
Overall, it’s a great game and I would highly recommend it.
Jax’s Basic Array Tutorial
Posted by on August 28, 2009
This tutorial will cover basic C++ arrays, including multi-dimensional arrays. Arrays are an essential part of C++ programming, as they are very helpful when dealing with variables.
An array holds multiple values of a variable. For example, you can have an integer array type that holds multiple integer values. Or a long array that holds multiple long values.
Arrays are declared as so
//type array_name[number_of_values]; int array[3];
That wasn’t so hard was it? Now then, on to giving your array values. Lets say you want to give the third element in your array the value of 2. Here is the code
array[2] = 2;
Now, you may be saying “I thought you said we were going to change the third value to 2, not the second!” Well, the arrays index number(the one in brackets) starts at zero. So you count 0, 1, 2. Meaning the second value has the index of 1. It’s really not that complex.
Now then, say you want to change all of the values at once, not just one at a time. That is very possible with C++ arrays. Here’s how.
int array[3] = {2,3,4};
The syntax is really rather simple. The braces contain the values for each of the array elements. For example, with the code just used, array[0] would be 2, array[1] would be 3, and so on.
To use the value of the element, use code like so
cout << array[3] << endl;
That is, of course, assuming you wanted to print out the value of the fourth element. Lets say you want to use the value of an element as a parameter to a function. Lets say you have a function that multiplies two integers
int multiply(int num1, int num2)
{
int product = num1 * num2;
return product;
}
You could use this function to multiply two array elements, and return the product, like this
int array[2] = {2,2};
int result = multiply(array[0],array[1]);
You can also use array’s in loops. Here’s an example
int array[2] = {2,2};
for(int i = 0; i < 2; i++)
{
cout << array[i] << endl;
}
That’s all I care to share with you about basic arrays for now. Let’s move on to 2 dimensional arrays. These, instead of having just one line full of elements, has a table full of elements. This is especially useful in game programming for things such as mapping. Here is how you declare a 2D array
//type array[num_rows][num_columns]; int array[2][2];
Inputting values for elements are basically the same if you’re adding in values one at a time. But if you want to input all of the values at once, the syntax is a bit different. Heres an example
int array[2][2] = {3,3
3,3};
As you can see, you just add a new line for every new column.
That’s it for this tutorial. If I left something out, didn’t explain something, or explained something wrong, leave a reply.
C++ Pointer Basics
Posted by on August 21, 2009
If you’re like me when it comes to pointers, you find them quite irritating to learn. But never fear, I am here to help you. This post will teach you the BASICS of pointers. I won’t go over more complex pointers until later.
You may find yourself asking, why do I need pointers? Well, you don’t, if you plan on making simple console applications for the rest of your programming career. If you plan on doing things like GUI programming, network programming, or game programming, pointers are almost required.
Think of pointers as shortcuts to variables. They can give you the values of a variable, and change the values of a variable.
Here’s how you declare a pointer
int *pointer = &variable;
The & symbol is vital. Without it, you will get an error.You can also have the asterisk right after the type declaration, but I prefer this format. You can make a pointer out of any variable type, but if you make a char pointer, you will need 2 asterisks, because if not, the compiler will think you are trying to make a string.
But keep in mind that the pointer HAS to have the same type as the variable you are pointing to. For example, and int pointer HAS to point to an int variable. If not, you will probably get an error, or bugs in your program.
Also, if you want to declare a pointer, but don’t want to assign a variable yet, put it to point to NULL. While not required, it’s good programming technique. If you point to null, you don’t need the & symbol until you point to an actual variable. NULL means nothing, if you didn’t know.
The asterisk is a unary dereferencing operator. In other words, it de-references the variable you point to. Also, if you didn’t know, the & symbol references the address in memory of the variable you are pointing to. But referencing deserves it’s own tutorial, which it will get sometime in the future.
If you try to echo the contents of the pointer like so,
cout << pointer << endl;
you will see some wacky hexadecimal code when you run the program. That hexadecimal code is the location, in the computers memory, of the variable you pointed to. If you want to see the actual value of the variable you pointed to, you need to use code like this
cout << *pointer << endl;
Once again, the asterisk dereferences the pointer, so you can get the actual value of the variable, instead of its location in memory.
If you want to change the value of the variable you are pointing to, do it like so:
*pointer = 1
where 1 is the value you want to change the variable to.
One more thing, if your pointer is not null, and the variable you are pointing to does not have a value, be sure to give it a value. If not, you will probably get a memory leak of some sort.
Thats the end of this pointer tutorial. If you still don’t get the point of pointers, don’t worry, you will eventually. I apologize for not going into using pointers in functions, that will be in the next pointer basics tutorial. Also, sorry if this post is unorganized. If I posted something incorrect, just let me know and I’ll change the post.