Time Waits For Nobody

Wow, January disappeared fast! There just never seems to be enough time in the day, and the days just seem to keep getting shorter.

I finished several hard problems last month. I also fixed a lot of little bugs that have been bothering me for a while. For example, there was a weird bug with my TGA file loader that caused images compressed using RLE (run length encoding) to look funny sometimes. I also finished adding support for the mouse wheel to my 3D window/control library. Now you can use the mouse wheel to move the vertical scroll bar on a text box.

It always makes me feel good to know that my code is more complete and robust. I don’t want to move too far ahead, if there are still unresolved issues.

Posted in Engine Development | Leave a comment

Original Music Downloads

I uploaded some of my original music to the downloads section of my Been There game web site. I’m providing this sample music, so that you that can get an idea of the styles that I’ll be using in my game. The music will also give you an idea of the excellent sound quality that I can achieve from my studio. I really want to have good audio in the game, I think it’s important.

I’ve also been making a lot of progress with the game client code. I have the dead-reckoning algorithm working now. All of the movements are a lot smoother. The new camera collision routines are also working great. Next, I’m going to incorporate gravity, to smooth out the height transitions. This should give the game a really polished feel.

Posted in Music & Sound FX | Leave a comment

Terrain Intersections

I finally got busy and wrote the code that was needed to perform a ray-intersection test with the terrain height map data.  Not only will this be useful for determining where projectiles collide with the ground, I can now also keep the 3rd person camera from clipping with the terrain.

I was worried, but the final algorithm turned out to be fairly simple.  I basically generate points to test on the height map using a 2D line drawing algorithm, by projecting the 3D line segment onto the two-dimensional height map data.  Using simple interpolation, I can calculate the height of the 3D line segment at the height map point I’m currently testing.  I then compare this height with the value stored in the height map data.  If the point on the terrain is higher than the line segment at this point, then an intersection was found.

Posted in Engine Development | Leave a comment

Next Wave of Game Testing

The servers are all back online.  We are going to do some more testing again for a little while.  I finished a lot of stuff in the game’s user interface.  I’m really close to actually being able to engage in combat in the game.  This will be a very cool advancement, no doubt.  I think I’m going to start working on some of the missing collision detection routines.  Another thing that has been bothering me is how poorly my “dead reckoning” algorithm is working.  Dead reckoning is used in our game to deal with the high latency issues that plague all networked games.  Anyway, I believe I’m going to work on that soon also.

Posted in Game Development | Leave a comment

New Game Screen Shots

I’m starting off 2009 by posting some new screen shots of the game that I’ve been working on. I think I’m going to upgrade my WordPress Blog to version 2.7 today. They sure put out a lot of updates, it makes it a pain in the rear to keep my blog code up to date on the web server. Anyway, I’m going to continue working on the user interface for the game the rest of the day. I’ll keep you posted on my progress. Happy new year!

Posted in Web Site Updates | Leave a comment

New Limits Scene Object

I finished the new “limits” scene object today. It’s used to show the selection state of objects within the Orion Genesis world builder. It can even be used to visualize a bounding volume within the tool. It’s also going to be utilized in the game to show when an object, such as an avatar, has been selected (i.e. it was clicked on with the mouse).

There are lots of new updates to the user interface in the game. I hope to have a new patch ready before too long. Things are moving along very smoothly right now. It feels good to not have any road blocks in my way for a change.

I hope everyone has a great new year! Stay out of trouble. Stay tuned, I’ll be posting more blog updates next year!

Posted in Engine Development | Leave a comment

Minor Engine Updates

The core engine code is actually pretty stable now. In fact, I don’t have to make changes to this code very often at all. However, I decided it was time to finally go back and address a few problematic issues before moving forward.

I made some minor changes to the base particle system class. There is now a parameter that can be used to set the render pass that will be used to draw the particles. This allows better control of what the particles are actually blended with during rendering. The particle systems look even better in the game now.

The 2D window/control library was also given some recent attention. The control mouse over state is more accurate now. Before, while moving the mouse quickly, the old code would sometimes select more than one control (i.e. a button) at a time. There were also certain circumstances that caused more than one popup text window to be stacked up on top of each other. These bugs, as well as some others, have all been fixed. The user interface in the game feels a lot more solid now.

I tried to use the red-black tree container template the other day and discovered that the iterator does not work correctly. I need to look into this and find out what the problem is. Then I’m going to get back to the game code again right away. The latest game client updates are looking awesome!

Posted in Engine Development | Leave a comment

User Interface Graphics

I’ve been working on some preliminary graphics for the user interface in my MMORPG game. My designs look fairly decent. However, they are not the best that they could be; I’m more of a programmer than an artist. I need to start trying to locate a creative and skillful artist who is interested in collaborating. I need someone who can create nice 2D artwork, as well as model in 3ds max (preferably) or Maya. If that person just might be you, then please let me know.

Posted in Graphics | Leave a comment

Hot Servers and Blown Power Supplies

When I came home from eating tonight and walked in the door, I smelled the unique odor of burnt electronics! Oh crap, the computer that was running the Server Manager had a meltdown! Another power supply decided it was going to quit on me. The only spare power supply that I have was temporarily hooked up to my test server. So I decided to steal it’s power supply, once again.

The game servers ran all week without any problems, so this is good news. However, one of them is starting to run really hot. So, I decided to take them all down today for maintenance. I’m going to clean them out and/or replace any faulty fans that I find – before I blow yet another power supply. I’ll be bringing them back online again for more testing fairly soon.

Posted in Hardware | Leave a comment

Finally Found Server Bug

It’s about time! After several weeks, I finally figured out what was causing my servers to crash. The shared code that makes the application run as a background service had a very obscure problem, one that proved to hide itself very well. When you combine client-server networking, multi-threaded code, and background services all together, it makes debugging extremely hard! Stay tuned for more updates.

Posted in Game Development | Leave a comment