Digital Dave

Musings on projects, business and life.

Icon

A Couple Programming Notes

Well, the research project is being a typical research project… It’s slow going.  Reason being is because my professor and I have to dig through current research studies to find something to replicate. Which, isn’t exactly fun because we’re trying to stay away from the incredibly complex studies (we don’t have a whole lot of time here).

I should also note that I have a twitter account, and that I’ve got myself hooked on it.  It is a lot more interesting than I thought it would be.  You can even grab twhirl that is powered by Adobe AIR to monitor your account on your desktop. My fiancee still gives me crap about using it (I think she still fails, or denies, to know that I’m a computer nerd…), but I consider it blogging on a micro level…  It seems like there are a lot of coders on it, which gives me a fun look into their daily work schedule.

This most recent ‘tweet’ came through: “figure out the least we can possibly do, then implement those basic features with as much attention to detail as we can.”  Sounds like the fun just got blown out of that project. ;)

Twitter must be doing okay… They just spent $15 million aquiring Summize, which is basically a data crawler to sift through all of the tweets.

In other news, I’m tinkering with Python.  What’s college free-time without tinkering?  I surely need to get something out of this summer if I can’t even get this research project going.

Since I’m completely new to Python, I figured I’d create an adventure game with it out of the gates.  Python + XML = $$$.  Well, minus the $$$.  I’m just having fun with it. I enjoy tinkering with languages to see how they work.  I’ve already got a good learning foundation going with Python, and it has given me some painful moments… Like the IDE that comes packaged with it… That thing is junk.  I finally ended up using eclipse since I’m somewhat familiar with it.  I should note that I have 63 hours left before this self challenge is over (making this game).

Oh… And I have a friend moving out to California before me… That doesn’t sit well- I need to graduate.

The Never Ending Cycle of Learning, and the Ease of it All

As long as the young can get to a computer regularly, they have it really easy when it comes to learning things.

I grew up in a single parent home.  My mom needed to work a whole lot to sustain ourselves.  I really didn’t have the luxury of having education emphasized before, and during school.  I couldn’t rely on my other family members due to the lack of education around us. And to give you an idea of how rocky of a start I had, I could only recognize the letters a, b, c, d, e and the numbers 1 – 5 by the age of 6 1/2.

There is no doubt that I’ve come a long way because of my motivation, but I could not imagine if I had the internet that we have today when I was growing up.  Today, if you are struggling with math, science, etc., you can easily find somebody on YouTube to help you (among many more written articles).

If you’re curious, the same guy could teach you algebra, geometry, trigonometry, linear algebra, and even physics (among other things).

Maybe you enjoy seeing somebody behind the camera, and love the white board they draw on…

We also have educational institutions, like MIT, providing a wealth of free knowledge.

And of course, games. With the growth of the web, they are easier to access, and way easier to make. http://www.purposegames.com comes to mind.

This is just a small fraction of the “Education should be Free” movement. It’s easier now, and it’ll get easier.

Which is nice for me. I constantly look up things that I didn’t emphasize on while I was young. And I don’t use the word constantly lightly. I’m all over the internet reading things every day. I love it.

An Update! Breakout. Finance.

You might be happy to know that I am putting up an installer for Breakout Returns on the website.  I’ve been meaning to do this since, well, since I made it… But for some reason I just never got around to doing it.  Okay, I didn’t feel like fiddling with installers at the time.  The beast used to be around 23MB, but I spent the last hour knocking it down to 11.3MB.

It has been up on GameDev.NET and has had about 740 plays.

Download Breakout Returns

Well the ball has started rolling on this finance project.

I’m working with a finance professor here at Kansas State to do some research on momentum trading.  If you are not finance savvy, the method of trading resembles exactly what the word means.  It’s all about chasing returns.  This is probably one of the most confusing aspects of finance, believe it or not.   Does it really exist?  That’s the million dollar question.  Some of these research papers break out some long winded equations.  Others bring it down to more of an investor behavior.   And none of these papers are confident in their findings…

Anyway, that’s the boring stuff.

My role, beyond understanding the method of trading a little, is to write an application to help my professor study this stuff.  I still don’t have the exact details, but what I can say is that I get to deal with a massive amount of data.   We’re looking at daily, and monthly, data over the past 7 years to analyze.   Not, bad… Right?  Yeah, well, this is dealing with the over 4,000 companies.  So we’re looking at around 8,000,000 entries for the daily returns, and around 700,000 for the monthly returns.   Each of these entries will have around 5-10 things associated with them (stock price, ticker name,  daily return, volume traded, etc).

Obviously, the kudos points really come from developing a program to analyze this data fast and memory efficient.

I still haven’t decided on what language I’m going to write this in.  I need to find some comparisons on file reading, among other things, with java, c#, and C++.

I have a meeting with the professor next week so hopefully I’ll get to write some more detailed information.  Until then I’m writing a bunch of test/performance code to get an idea of what might work the best in terms of speed.

Summer Internship/Help, Not-so-hot…

I decided it was best for me not to progress with helping the person here in my local area with his game development project over the summer.  I would go into detail, but I rather not.  Let’s just say it wasn’t the right opportunity for me.  I don’t have a lot of time, and I need to make the best of it.

He won’t be alone.  There were 2 programmers (including me) and he only really needed 1 (from my perspective) right now.   I told him I’d always be around to help him when that time came.  But, for now, It was better for me to concentrate on a different project.

I have another opportunity that I’m starting with a professor here on campus.  It’s not game development related, but it is finance related, which is still awesome for me.  Details to come about that.

Graduation Coming a Bit Easier

I thought I needed to take 15 credit hours next semester.

Just did my graduation check, and apparently all I need is 6 credit hours next semester.

Wow, very cool. :)

Untitled Shooter: Introduction

While the thought of building a really fun and interesting 3D game definitely crossed my mind, and even got me to the point of writing out a few pieces of documentation on it, I just couldn’t commit to it.   So, instead, I decided to drop back into 2D mode while setting the bar pretty high with things that I want to get out of this.  It’s definitely been a slow start due to flopping back and forth on a idea, but I’m moving now.

For this project I will be using C++, OpenGL, SDL, and Adobe Photoshop.   My goal on the art side is to actually find an artist that wants to work on a project for fun. I also have somebody that will be helping me create audio for it.  And I have somebody open to improve the design, if needed.  There’s networking in action for you.

So this is a vertical scrolling shooter game.  My inspiration for this project are recent titles released by Big Fish Games: Star Defender 4, Alien Stars, and others.  I played several games, wrote several ideas, and added bits and pieces to the design that I thought were missing.

My approach to game design is rather simple.  I have 4 principles that guide me through this process.  In fact, you may have seen my prior logo (Made a few years ago; used to be on my GD.NET journal):

Blue: Fun
Yellow: Rewarding
Teal: Immersion
Red: Challenge

Once I have solidified a genre, I start thinking about how this game is going to reward the player, while being above all else, fun.   I love rewards, and I see their effects every time I watch my girlfriend play a game, or my nephew.  Players want candy, and they are more than willing to accept it.   I don’t want subtle rewards, I want to see my rewards!  So right off of the bat, I will be introducing a Ranking system, similar to the Military’s ranking.  I’ve designed 10 different ranks that will take the player from the Enlisted side, and over to the Officer side.

What will being a higher rank achieve?  Better, unique, weapons.  A Captain will have special weapons that he/she starts the new mission with that a Private would not get.  These include “Helper” ships that will flank the player, and as you progress, they will become stronger.  This also leads to more advanced bombs (guided, and others) and shields.

The promotion system will be based off of several factors.  The players kill to death ratio, time in rank, bonuses, and special kills.

Special kills are also a new addition.  Consider this a bounty.  On your screen you will have an image of who you need to seek and destroy.  These are special creatures/ships and they will not go down easily.

I also plan to introduce quests to the game that will trigger between missions.  These will involve capturing, instead of killing, specific creatures/ships…  Destroying specific landmarks…  Among other things. They won’t be hard, just something to add to the game that will give the player another option and a way to tie the player into the story.

And I have more that I will wait to share until I start making headway into this.

So, the programming started a few days ago.  I haven’t devoted a lot of time to it, but that will begin to change.  I had to spend some time re-developing how I do things since I’ll be using OpenGL for my graphics, and I’m still trying to piece that together.

I have a scrolling background and the game windows main panel.  This is programmer art at its best.

I am running into some issues, already.  The scrolling background scrolls without the panel, but with it, it doesn’t.  The reason is because I am using display lists for the background, and simply drawing the panel.  Well, to get the display list to scroll, I translate it’s position each tick.   Well, when you translate, you’re translating the entire screen… I don’t want to do that… I also don’t want to burden the game by redrawing the polys each cycle.  I seen on NeonHelium something regarding creating different ‘viewports.’  I’m sure this could be one way to fix this, but I really don’t want to go that way, yet.  I’ll tinker with it some more.

Here is the first screen shot.

Game Window : Right Click, View Image for a Larger Size

 

Internships

Searching for internships are quite a mammoth of a task.  There are very few companies that actually offer internships. Or at least publicly. Leh-sigh…

In 1983…

  • Ronald W. Reagan was President
  • Sally K. Ride was the First US woman astronaut in space as a crew member aboard space shuttle Challenger
  • Federal Debt: $1371.7 billion
  • Median Household Income (current dollars): $20,885
  • Cost of a first-class stamp: $0.20
  • Cost of a gallon of regular gas: $1.24
  • Dow-Jones: High- 1,287
  • More than 125 million viewers tune in to the last episode of M*A*S*H
  • University of Kansas defeats Kansas State University at KSU’s home court, which would begin what became a 24 game winning streak… One of the worst streaks in national collegiate basketball history.

The Streak Ended

January 30th, 2008

 

KSU  84         KU 75

 

 

Congratulations Wildcat Nation

About Damn Time

Monday Update

I’ve been spending my off time catching up on some math topics needed for this graphics course that I am taking.   There isn’t a lot of math required for Computer Information Systems students.  I have an Analytical Geometry and Calculus I course finished, and another upper level course that reviews an array of math topics.  That is all that is required for IS majors.  So that means that I get to spend my off time learning what I need to know, when I need to know it, or just for fun.  So these past few weeks I’ve been covering some trig, linear algebra and some vector algebra.  I’ve never really messed with vectors and I found them to be pretty interesting.  It’ll be nice to apply some of this to the graphics course.

I’ve also started to run through several OpenGL tutorials at neon helium, and a few tutorials for Orge3D.

Speaking of this graphics course.  Supposedly this is an advanced course for an undergrad.  That said, it’ll be interesting to see how it turns out.  There is a ton of material that we’ll be covering.  From basic display systems (clipping, view normalization, 3d graphics data structures, shading and illumination) to fundamental topics in realistic rendering (ray tracing, radiosity, texture and bump mapping, and splines and cubic curves).

I’m pretty excited for the course, but it’ll definitely be a huge load of work.

In addition to my independent project course, of which, I’ll be making a game for.

I FINALLY got a game ‘genre’ down so I can start building some systems.  My concept changed a few times, especially in light of this graphics course.  I will start coding on this game tomorrow.  I’m already behind, and kicking myself.

I’m getting pretty anxious for my first trip to the GDC, and back to California, in general.   I’ve scanned all of the events that they have listed on the site, so far, and I’ve found several programming and design topics that I will be hitting up.

I’m also looking for some gatherings to attend in the evenings.  I’ve been invited to a gathering that the GameCareerGuide.com is hosting Thursday, and apparently there is a ‘Suite Night’ that a bunch of students attend after it that I will be snooping around at.  If you’ve made your way here through myGDC, feel free to contact me (aim: aim marine || msn/email: dlmcgraw at ksu doht com) if you have anything that I don’t know that is open to the public.

Getting a Head Start

I spent a good portion of today finalizing a game project that I will be working on this semester.  I’m not quite sure how it’ll turn out since I’ve only seen 2D renditions of this type of game.  I did decide to go 3D.  The main reason is because we have a project in my graphics course that I could possibly use this project for.  Another reason is –> I need experience in 3D.

I spent the other part of the day reading and playing around with tutorials on OpenGL.

In my graphics course we will be using Ogre3D to work with the graphics pipeline.  I was interested in seeing it in action, so I downloaded the SDK and began playing around with it.  It’s interesting and seems pretty powerful.  I fully agree with their philosophy.  Developers should focus on a piece of the engine that that is specialized versus writing an entire engine.  Ogre3D is just a graphics library.  No collision, sound, input, etc.  You use other libraries for that functionality. But it adds to the powerful factor due to the amount of work they focused on one aspect.

I also spent a few hours playing around with Maya, refreshing myself.  We’ll be writing a lot of shaders in this graphics course, so I need to brush up before the whirlwind hits.

Well, more of my head start begins when I wake up.  Night blog-hopper.

David McGraw

Founder of iGotIt Games. Trader. Runner. Warrior. Motivator.