Showing posts with label game programming. Show all posts
Showing posts with label game programming. Show all posts

10 November, 2012

What I'm learning about programming

Ok I know I haven't posted for a while, but that is mainly because I haven't done a whole lot as far as this game is concerned.  School again is sucking up lots of time.  I am having what I think is an important understanding of something though.

Programming ,indeed all of computer science, is all about tackling problems and learning to teach oneself in order to tackle ever increasingly difficult problems.

I think that is why when I look at jobs in the world of gaming they always have the requirement of having shipped at least one title.  That is because an appropriate candidate will have proven that faced with problems they did not give up and run away, rather they figured out a way to make it work.  In my college experience I have railed at how it seems that I must teach myself, yet I think that is the actual goal of studying computer science and programming, to develop in students the ability to self teach and problem solve without the assistance of someone else.  Higher order thinking skills are really hard to pick up though, which is why when someone is able to show that yes they did have problems that were hard and yes they did solve them even when it wasn't fun that is says something about that person.

Which is why I need to kick myself in the rear and get to work overcoming some of these obstacles I keep running into.  I also need to remember that I can learn it little by little, step by step.  So now back to getting my homework done.

14 June, 2012

Idea for my Masters Project

So as many of you have seen over the course of the posts I have created over the last year, this project is not a small undertaking.  I have researched a lot of different game engines (set's of programming that one can build a game upon) such as Unity3D, Unreal, Cry Engine, C4 Engine, and a few open source ones as well.  The problem is that each one of these tools has their own little quirks that must be learned in order to make a game with them.  So the thought that I had was why not propose to the college the possibility of creating/finding an open source project that students could work on and add to for college credit.  This has been done successfully at other colleges with programs like UCOSP, and this is apparently a rousing success.  It gives students an opportunity to work on a real life project very similar to what they will experience in a job after college.  I find that combining teaching and as close to real life experience is one of the optimal learning environments for students, and it will give them a taste of what it will be like once they graduate.

Proposing this will need to be put into a well organized plan of action so that I can show the powers that be that not only will this be beneficial to students, but it will enhance the learning experience of the University and therefore make it more successful.  So along with making a game, I think that something I will attempt to work on is organizing and setting up such a program at UCCS.

28 February, 2012

No headshots

So I was discussing the whole concept with a few classmates when I said that I didn't want to include critical kills like head shots.  They thought that I was going to have a lot of problems since head shots have been a part of the FPS mindset for such a long time.  So I thought a little explanation of why I feel critical kill shots shouldn't be a part of this game.

1. Being killed in one shot really stinks.  There have been many games that the head shot insta-kill makes the game very frustrating, especially for new players. Ace of Spades in particular comes to mind, and I have personally taken on 5 or 6 players and killed them all before the could get me just because I was able to shoot their heads faster than they could shoot me.  While in real life it is very possible for 1 or 2 bullets to take someone out, in a game or an experiment like I am hoping to make this like I wish to encourage competition and a moderate feeling of fair play.

2. It is bad practice to aim for the head in real life combat.  The first day of M16 training in the Army they instruct all soldiers to aim for the center of mass.  On a human the center of mass is just between the stomach and the chest, where incidentally a large number of vital organs are located.  So while it is true that shooting someone in the head will kill them, shooting them in a place you are more likely to hit them like the chest has just as much a chance of killing them.  While I realize games don't have to be like real life combat, for the few people who do get put into a combat situation I would like to have this game be good training for them.

3. I want this game to have the feel of a RTS game, but with the players being the individual soldiers.  In most RTS games there are certain classes that are stronger than other, but typically there is a decent balance between same level entities.  In Starcraft for example, a single terran marine vs. a single protoss zealot would be a fairly matched fight in which one or the other may win depending on the strategies used.  If the marine could kill the zealot in one shot by shooting his head, that balance would be shifted.  Now I know there are players out there claiming that since heads are smaller and there is a chance to miss that head shots are really skill shots and should be rewarded, but if the reward is your enemy not even being able to counter attack in any way it's too powerful.  And so the head will only get damaged as much as the torso.

I hope this explains well enough why I don't wan't to have instant kills.  Even vehicle mounted weaponry will seem a little under powered in the game, as the goal is not the super fast paced die every 30 seconds combat normally found in FPS games, rather the stay alive and do as much damage (or prevent as much damage) strategically type game.

10 February, 2012

No competition inside of a faction

I've been thinking a bit about this subject and how to bring it into this game.  Often in MMOs players find themselves competing with their allies for resources such as better armor, that special drop that only one person can get, whoever has the highest number of enemy killed, etc... I really want to bring in the concept that if someone on my team (in my faction for example) gets something that it is a reason to be happy and not envious.

In war situations any resources that can be gained by ones allies or denied ones enemies is a bonus.  So for example I don't want to put a limit or respawn timer on resource nodes because it would make it so players within a faction would have to fight over who gets it and when.  It would also encourage camping, territorial disputes, and make it difficult for new players to get necessary resources.  So what I envision is a large group heading to a resource node would welcome any and all who happen to want to join them, because that means there will be more of that resource for the faction.  Having more people with you mean more backpack space to fill up with valuable metal or energy crystals.  Also the larger numbers would make enemy ambushes and other enemy attempts to deny ones faction resources less effective, meaning that for all in the faction it is a win. I think that would promote teamwork, camaraderie, and esprit de corp inside a faction, which is necessary if a faction wants to be successful.  So that means there will be no special bonus given to the elite other than the satisfaction of completing the mission. I do realize there are players out there who obsess over leader boards  and the acquisition of status symbols, and this game may not be for them 

24 January, 2012

Data structures

So to start off this semester of study I am focusing a bit more on data structures, as well as learning more about Java and C# with the XNA Game creation code.  Before diving off into coding I have realized that it is much more important to understand the principles of effective and efficient programming.  In talking with a mentor about my proposed landscape system he brought up a good point.  If I am trying to render thousands of objects that share similar characteristics, like the triblock, that making each one it's own unique object will take a long time to process and will eat up tons of memory.  So finding an effective way to represent all of the landscape can be rather difficult to do.  This reinforces the decision I made earlier to have indestructible landscape that can be built on, even though that removes the possibility of tunneling under enemy bases and defenses.  If the only blocks that can be placed and destroyed by players are the ones that they have gathered the resources for and taken the time to craft then the total amount of memory usage should be considerably smaller.  I hope that through the course of this semester I will be able to find what data structures will be most appropriate for everything that I wish to put into this game.

14 December, 2011

End of the semester report

Well I made it to the end of the semester and I think I have learned some valuable information.  I will most likely concentrate on C++ or C# as the language, as Java has many drawbacks for games(memory management, having to run on virtual machine, etc...).  I still would like to stay away from Microsoft if at all possible, one because I think there is a potential for a lot of players on Linux and Mac, and two I just don't like Microsoft, but C# is Microsoft's baby.  I do have to admit that the XNA Game studio library that comes with Visual Studio makes the process of implementation much easier.  I'm fairly tuckered out from a rather stressful semester though so I may not do any work on this until after Christmas.  Have a happy holiday to everyone who happens upon this.

P.S. I got A's and B's with the exception of one F in an unimportant class.  I found that I simply didn't have the time and wear with all to keep up in all of my classes.  Next semester luckily will be much easier.