Tuesday, February 03, 2009

Why Make Games?

[warning : This post may contain some deep symbolic and reflective content]

Like most people, I sometimes struggle with the meaning in day to day life. With everything that is going on in the world, as it has been since the dawn of space time, it is very easy to be caught into a web of disillusionment. To become over whelmed with fear and anxiety about ones place in the world and in the universe. These feelings can start to get in the way of our dreams, hopes, goals, and day to day activity. It can even send people down roads of self destruction and cause us to question our motives and even behave in ways that a person wouldn't normally behave. This is no new quandary for the human condition, keeping that in mind is a small reassurance in and of it self, but it doesn't allow for calmness and clarity to begin to come through. The calmness comes with a realization and understanding of who and what one truly is in the context of the universe. I am not the one to suggest directly a path for ascertaining this awareness, but rather urge everyone to pursue a path of self knowledge.



So what does all this have to do with games?



Well, for me, I have been finding myself over whelmed with the world around me lately. This has left me asking myself if I have been wasting my time pursuing creating tools for making games, and with wanting to make games in general. It seems that I was so overwhelmed, that I begin to forget why I wanted to make games in the first place. Games are cool, fun, and interactive, this is all true, but the main power behind games is the ability to share ideas, to use them as a communicative medium. To be able to share perspectives with one another, and to be able to display concepts, ideas, and share virtual spaces with one another across vast distances in real time.

Games as they are in their infancy, are very limited in these areas, as today they are mainly used for pure entertainment purposes. There are a few games that have attempted to use the potential of the medium, to be expressive as art, and some of these have even hit the mainstream. Even hidden nuggets of truth make there way through in commercial titles from time to time, but for the most part, games have been put into a mold that caters to what mass production companies have given us and we have come to expect.

This will change in the coming years, and while I don't expect things to happen over night, I think it will become more common place to use games as the potential medium to express ideas will happen. It will become more synonymous to movies, as we can already see happening with many major motion pictures having games produced, and even Kiefer Sutherland expressed the same thought of the two industries merging at this years Spike Tv VGAs.

This post kind of turned into something that it wasn't initially meant to be, but sometimes in life, you have to follow the natural flow of things and this article is how it turned out. In closing, I'll continue to strive to make games, in the hopes of inspiring future generations to form a better world. In the hopes of inspiring those around us to better understand our connection with who and what we are, and in the hopes of bringing joy into peoples lives, providing them a space where they can interact with their loved ones, and can make new lasting relationships.

The horizon before us is only the beginning. It's the bits and pieces that we connect that end up connecting us.

Thursday, January 29, 2009

Syntaxual Sickness

So, I've been a little under the weather once again the last couple of days. I'm not sure if I ate something bad or what, but my stomach just hasn't been quite right. It's gotten in the way of getting somethings done and zapped a bit of motivation from my bones. Yet, I press on, like the determined predator who has extinguished their food supply in a certain area, but who must continue to devour small furry creatures, and who is filled with an ever increasing hunger and blood lust. I am feeling some what better today.

As I'm working a lot on development of the GoG Tournament Connection and on the decipherone website, I'm finding myself having to deal with small syntax related issues with php that are causing me some headaches. I just have to remember to not get a head of myself and to not try and do something that I think should work, when I've seen nothing that has really told me that it should. Primarily I'm talking about things with string formatting and passing data around using variables. Coming from a heavy C++ background, I think I'm finding myself stuck in a certain mindset, or it could have just been the sickness causing me to make stupid errors as when I tried to code yesterday I couldn't really get anything done.

I've got to get back to working my through the Qt book today as well. I had put off working in that area for the last week or so to get caught back up on the other projects, but I should be back on track.

Sunday, January 25, 2009

Taking back the web.

Well, I've certainly done an excellent job of focusing on blogging :P At any rate, I am hard at work on things as per usual. I'm working to learn Qt still, attempting to work through the C++ GUI Programming with Qt 4 book that I purchased at the beginning of the month. I want to get through the entire thing before moving forward with porting the engine code over to making use of Qt. I figure it could be March before that process is completed.

It would be faster, but I'm also working to development a tournament tool for GatheringofGamers.com . This is going to be taking a lot of time up as it's turning into a rather large project as time goes on. It's been fun to design though and I can't wait to start developing it. I'm currently in full fledged R&D mode still, but as I work with the other site developers to polish the design, work on building it should pick up within the next couple of weeks.

In the mean time as I do research for this project, I'm moving forward with adding some functionality to the decipherone.com website. I added some basic news submission to the site and will be adding some more stuff in the coming weeks.


In other news, after my rant about Microsoft last post, I'm now the proud owner of an XBox 360. I spent quite a bit of time gaming the first few days I got it and have managed to put in an hour or so every couple of days, which is more gaming then I've done in a long time. I have to say I'm fairly pleased with it so far and with the exception of the payment system, am fairly impressed with Xbox Live as well. Dead Space is also an excellent game.

Sunday, January 04, 2009

The Qt life of a Troglodtye

This is the first blog post of 2009. I'm excited to be in a new year and am looking forward to making this the most successful and productive year yet. Last year there was a pretty steady increase in my blogging habits. I ended up with 48 which averages out to one post a week. This year I have a blogging goal of 100, all rich with useful information in content.

So, I've been diving into the world of Qt the last few days, and so far, I have to say that I'm very impressed. I've been looking for an alternative to MFC on windows for a long time, but never really wanted to get into .net coding. It has also been a goal to make Troglodyte cross-platform from the very beginning, but I was never really sure how to do it. While I currently don't have a Linux or Mac box to compile my projects on, using Qt at least provides the frame work for me to be able to do so in the future.

In addition to using Qt, I'm also in the process of learning their custom IDE Qt Creator and I have to say I like it very much so far. It's still in Beta, but it's pretty functional. The IDE can be setup to use various compilers, but comes setup with the GNU GCC, which I haven't messed with since I first started to learn C++ six years ago. I have to say I'm fairly pleased with the compiler as well.

I've been wanting to get away from Microsoft specific products for sometime for various reasons. Don't get me wrong. I like the products that Microsoft makes. I've enjoyed using visual studio for the length of time that I have, but what I have never really liked is how Microsoft has seemingly set out to Monopolize the markets that they are in. Collaborative work and allowing others to learn from what you have done allows for true progress to be made. While Microsoft has gotten a little better due to pressure from government agencies and users themselves, it still seems like things will always be in a certain light from Microsoft. I'll continue to use Microsoft products such as windows(as long as the Windows7 doesn't go the way of the vista) and as a software developer will be required too as it's still the major piece of the market pie.

The main reason for wanting to switch however is simply to be able to cater to the rest of the market. As well as use tools with little to no restrictions that I don't have to worry about licensing issues and I can share with the community that I'm hoping to build around the game engine. In addition Qt Creator is light weight and provides support for C++ which is the only language that I develop in, besides python.

So, as I've been learning Qt, I have to say that I'm very impressed. There is functionality put into these collection of libraries that will not only allow for simple cross-platform compilation and serialization issues, but also allow for things such as resolution of localization issues and rapid application development. I'm hoping that this will cut down development time on the editor by more then half.

The website is still coming along, as well as the tournament connection system for the GoG. I'm going to try and get the majority of the remaining design knocked out for that system today. It's great to finally have a couple of consecutive days off from work to get things done.

Tuesday, December 30, 2008

~ Begin the year end update ~

Yay! Server is back online and so am I, with a dedicated connection. This will be a good thing heading into the new year and should allow for things to continue to move forward. I was thinking of doing a year end review but I'm not sure if it'd really be all that beneficial for anyone. I mean, I reflect enough as it is and it seems like everyone is talking about year end wrap ups or recaps and, well good for them.

I've started work back on Barricade currently. I'm working to finish some of the game mechanics that I did not finish during work on the proto-type. I worked on it a couple of days last week and some decent headway.

I switched back to this for two reasons. One, I decided to port my existing code base over to Qt in order to get things independent of a specific OS. This will allow for the editor to be cross platform as well as the engine itself and will hopefully open up a wider user base.

I've never used to Qt before, but I'm getting the supposed manual and am going to start learning sometime in the next month. In the meantime, I decided to work on the Barricade demo some more. The second reason being, I have not been able to make a solid decision on the next iteration of the engines state management. I've gone through at least 3 redesigns this year, with the core system staying some what the same, but the implementations being very different. I need to buckle down and just make a decision for this as it's been holding back progress from other areas for quite sometime now.

On a more personal note, I usually find it hard to focus around this time of year, and this year is no exception. It's almost tormenting to simply want to put everything off until the new year and just go out and live it up with everyone, but there's times and places for those things, not every day.

Wednesday, December 24, 2008

Christmas Time in Des Moines

So, I was lucky and the lottery gave us a day off for Christmas at the last minute. Which means I have tomorrow off. They told us this today. Which is to be expected. Of course this means however that I had to plan my Christmas a head of time as if I was going to work, and now I won't get to see my son until after 3:30pm. Then Friday, back to work and we'll see if I end up having to work New Years day, which is a strong possibility. Groan, groan, whine, ect.. To be honest I'm just glad I have a job right now. So the little annoyances aren't really that bad.

I do however need to start concentrating on some sort of transitional period over the next year. I plan to continue my current job, but would like to be ready to go into a software development position of some sort by the first part of next year. At which time I'm also hoping to have the engine ready and being used for exclusive production of Phyersoft games for the length of the current agreed upon contract, after which the engine will be released to the public.

At that time, I'm hoping that over a few years of further development, support, and building a community around the engine, I'll be able to transition into having it as the base ip for my own business. Then, after getting some infrastructure setup to continue development and support, I can really begin concentrating on making games. Of course as soon as the engine is in a production quality state, I'm going to begin on a project of my own as well. I have three that have been partially designed that I'd really like to finish and build, but I'll have to cross that bridge when the time comes.

In the meantime, the challenge of staying focused and motivated is in the forefront. I may have to limit myself to being more selective in my future involvements in future projects that stretch outside of the realm of my main goals, after current projects are made good upon and completed. At least until I have more time. If I continue to be so fragmented in my undertakings, and going off on tangent projects, the next four years will go by like this past one. Time having passed with good intentions, some work, a lot of planning, and little to show for it. This of course would not be a good thing.

For anyone interested, I'm now on Twitter. Something that I put off for a while because I thought it was kinda weird, but after getting into it the last couple of weeks, you can get a peek inside the lives of people all over the world every day, which is an awesome concept, even if it is instantly brief and and enormous time killer. A cool thing I've done, just randomly select followers from one person to the next and see who you end up on after a random number of clicks.

Merry Christmas everyone, may your stockings be coal free, unless they're stuffed with clean coal, then market that shiznit and make some clean energy for the masses.

Friday, December 05, 2008

More of what I don't know

Made some progress today on the new data management classes for the engine. I'm working to get linked list implemented in such a way that objects and scenes will be able to be as dynamic as possible. And as per usual, I'm rolling my own, which is always fun, educational, and tedious.

I have to go Christmas shopping for the family sometime this weekend, which will be a nightmare I'm sure !!!!!!!!!!!!

I didn't meet my goal 15 minute segments of internet use today, but I did cut back, which helped me be more productive.

Thursday, December 04, 2008

Please sir, can I have some more...

So, it's crunch time for the next.. oh.. two years. Not the cap'n crunch kind of crunch time either, although I do have some crunch berries, my son picked them out. But no, I'm talking nose to the grind stone, eating, sleeping, pooping work.

I now have taken on three full time jobs. Lottery, Game Engine Developement/ Personal Website Development, and GoG Tournament system development. So what does this mean. It means that I've got to really get organized. My plate is full to the brim and if I'm going to be that orphan who gets that next bowl of gruel, I'm going to have to scarf down that first bowl, no matter how hot and tasteless it may be.

Luckily my metaphorical gruel doesn't taste bad, but that first bowl seems like it's a never ending amount to shovel. This just means that I have to get really organized.
In order to do this, I'm simply going to focus on the tasks that I lay out for myself each week, as well as limit the time that I spend on the internet (huge time killer) to 45 minutes a day, unless related to the Lottery, which doesn't count, 15 minute segments broken up throughout the day. The limitation includes research also, meaning that I'm going to have to use books for the vast majority of my reference hunting and if there is something that I need to look up, I better damn well have a good idea of what I'm looking for before I get on the net. This of course hasn't started today, but will start in the morning.

I'm also going to have to limit my gaming to no more then an hour a day (which I don't normally play every day anyways), which kind of sucks, because normally I'd just play for 3 to 5 hours twice a week or something, but this sucks those days away, which I'm going to need.

Before the new year, I need to :

Have Game States, G.U.I system, and the next version of the Editor started for the game engine.

Have a good start on the tournament system.

27 days after this one. Time to get this show on the road.

Tuesday, December 02, 2008

Riding the waves

Well, I did a radio spot today on Macs World for the GoG and it was a pretty cool time. I guess I don't really have a lot to say about it. I was trying to let Ben from Gathering of Gamers do most the talking as we were there to promote the GoG and he knows more about it then me. I do think that it was some good exposure for some of the things that we are trying to do in Iowa to further the gaming culture. Overall it was a great experience.

The last design posted previously to this post is currently being revised. I decided to go with a linked list approach to add some dynamic memory management at run time in the engine. So the previous constraints of the amount of scenes will be replaced.

I'm also going to be working on designing and developing an online tournament system for the GoG. With work, being a dad, game development, and now the tournament system being developed, my time is pretty much spoken for, for quite sometime. This isn't bad, doesn't leave a hole lot of time to play Fallout 3. Which shouldn't all be bad as it'll leave more of the game to play once they release a decent patch for the game which is scheduled sometime this month.

Sunday, November 16, 2008

Scene Development

Today I'm finally sitting down, after some long procrastination and a lot of lack of time, and also having to get the server back up after it went down, to get to work on the Scene class and file structure for the engine.

Scenes are but one parts of four file formats that the editor uses to build a final binary file that the engine will use. The four file types work together and combine all the the data and resources and as such are intermediary files.

The different file types are:

.TOF = Troglodyte Object File, used for storing Data specifically for Objects. This file format is specific to any one type of sprite object that can be used in the system. This type of isolation allows objects to easily be used across different scenes in any level or project. .TOF files can also hold purely audible data and can act as sound effects or music ques around a scene.

.TSF = Troglodyte Scene File, holds the data for a specific scene. Here is where game scripting, keeping track of objects, and object interaction begin to take place. This file knows how many objects are in a scene, keeps track of where the object data is stored on disk, and is responsible for resolving script and and object data at project compile time. Scenes can be a platformer level, and scripted animation scene, or even a menu, for example. Scenes are not limited to these types.

.TLF = Troglodyte Level File, this file is somewhat redundant in that it serves the same type of functionality for scenes that the scenes perform for the objects. Each level is limited to 25 scenes simply for simplicity, but does not have to make use of the full 25. If a developer feels that 25 scenes aren't enough, it's up to them to structure their data so that it works, or they can edit the source for the engine and recompile to suite their needs as long as they follow the EULA set forth.

.TPF = Troglodyte Project File, this is the all encompassing file that organizes all the other files types into a working structure to be used in the engine.

Once compiled these create a .TBF = Troglodyte Binary File. This file has all the video, audio, and script resources compiled into one file per level. If a project is named Quest, the files would be saved as Quest_L1.TBF, Quest_L2.TBF, and so on. L1 files will always be the starting point of any game. The editor will spit out compressed files into a structure such as specified directory/Quest/Bin

After a brief introduction into the file types, now onto the design for the .TSF files and classes.

All of the serialization work for the files are handled by a class called the hidden management layer. The Game State Hidden Management Layer is responsible for sending a message to start or stop a Scene and handles any errors that may arise during Scene and Level initialization and clean up. So, what this means for our Scene class, is that we can keep it fairly simple.

Things the scene class will need:

1. Know the number of Objects it has.
2. Know the number of Scripts the scene has.
3. Know which Script corresponds to which Object.
4. Know when an Object should be following a specific script.
5. Know when it needs to initialize and load data.
6. Know when scene execution should begin.
7. Be able to update the scene data each frame.
8. Know when to stop scene execution and updates.
9. Know when to clean up and release memory back to the heap.
10. Access to Objects interfaces to be to manipulate Objects.
11. The ability to add and remove Objects from the Scene at runtime.
12. A Scene Name. (Not to be Confused with state Name).
13. A unique numeric identifier for the Scene in order for the Level to keep track of it. This should range from 1 to 25. (Not to be confused with State_ID, which is used by the GS_HML.)
14. Area size. The size for one block on the area grid is 32X32 pixels. Area sizes of grids use multiples of 2 starting with 8X8 and the largest Area being 1024X1024. Which equates to up to a gig of background data being available in memory at any given time.

All Grid Sizes: 8X8, 16X16, 32X32, 64X64, 128X128, 256X256, 512X512, 1024X1024

15.Scene Orientation data. If the developer wants to use a platform type view for a scene, or if they wish to use an isometric or top down view, it must be specified using the Scene_Orientation variable. This is one of the variables that must be selected when creating a new scene.

16. Layers. Regardless of camera direction and placement, developers can make use of up to 32 layers. Depending upon the orientation of the camera however, the layers can either be used in only the z or y planes. Objects must be on the same layer in order for them to interact with one another, however, using scripts, changing an objects layer during game execution can be performed at run time. This can allow Objects to move from a background layer into the fore-front for example, or vice versa.



Things like pausing and swapping scenes and levels is once again handled by the Hidden Management Layer.

*Note: When adding Objects to a scene, a unique identifier for faster parsing of objects is going to be needed. This should be a numeric value.
No limit of Objects is implemented in the design per scene. This approach will require an increment to the identifier to made for each object added to each scene. This approach means however that if an object is removed from a scene, that the numeric value added to that object is no longer valid in that project.

For example, I add an Object called Apple. At the time of adding Apple to the scene it is assigned the Scene_ID of 25. I then remove apple from the scene because I decide that I want to use a different type of Object in its place. If I were to simply edit the Apple in the Object editor and update it in the scene, then it would retain the same Scene_ID. However, since I deleted the object, even if I later decide to add that same object back into the scene, it will be assigned a new Scene_ID at that time. 25 will become lost from the ID pool, but this shouldn't really matter to the developer as Scene_IDs are used internally simply for data management.


17. Error Messaging. When the GS HML loads or saves a scene any errors that may arise should be displayed to the developer in order for the developer to choose a course of action. Error logs should be generated in the Project folder for a project. The folder should be Error Logs and
inside there should be logs for problems with the overall project and then sub folders for each additional file format. This should handle:

17.A) Object Creation Errors - (Loading data from disk.)

Non-Critical Errors - The developer can be prompted to skip the object and continue Loading the Scene.
17.A.1) Resource Not Found. (A Texture, Sound File, or Script Associated with the Object can not be located.)
17.A.2) Corrupted Object File. ( The file has been corrupt and cannot be loaded.)
17.A.3) Missing Object File. ( The Specified Object File Cannot Be found.)

Critical Errors - The Scene will not be able to continue to be loaded.
17.A.4) Memory Out of Bounds (Buffer Overflow - Causes system to be corrupt. Engine/Editor must be restarted.)- This should generate
an error report pinpointing the Object that caused the error so that the developer can look at the Object and remove it from the scene if necessary.

17.B) Scene Creation Errors - (Loading data from disk.)

Critical Errors- The Scene will not be able to continue to load.
17.B.1) Corrupted Scene File. (The file has been corrupted and cannot be loaded.)
17.B.2) Memory Out of Bounds (Buffer Overflow - Causes system to be corrupt. Engine/Editor must be restarted.)-An error report needs to
be generated to show the developer which scene caused the error so that it can be removed from the project.
17.B.3) Mismatched File Type. ( The file attempting to be loaded does not have the .TSF file extension.)
17.B.4) Old file version.( The file being loaded is built with a previous version of the editor and the file format is out of date.) - Adding
support for some legacy file formats and being able to update them to the new format once loaded is a possible work around for this issue. This could potentially be a non-critical prompt message.)

17.C) Scene Serialization Errors - (Saving data to disk.)

Save Failure - If any of these errors occur the program will simply exit the saving method.
17.C.1) Scene File in Use. ( The file is an open stream being used else where.)
17.C.2) Minimum Data requirements not set. ( Some how the user by passed filling out the appropriate minimum data needed to create
a scene, therefore the file is not valid.)
17.C.3) Memory Corruption. ( The memory attempting to be read for serialization is corrupt.)

Save Prompt - If any of these errors occur the developer is prompted for action.
17.C.4) File already exists. ( User is prompted for to overwrite file.)

17. Followup Note - It will also be beneficial to allow the developer to set a flag that enables all non-critical errors to be ignored during in editor
testing. These messages should still be logged so the developer can fix them, but prompting the developer should be removed from the
process if that flag is set.

18. Scenes should inherit from the inheritance line of the class GAMESTATE in order to actually make use of the messages from the GS HML.

Thursday, October 23, 2008

Degredation

Blurry blurry vision, it's not as cool as it sounds believe it or not. Sure you see a big purple spot every where, but it makes it hard to read and to tell the difference between certain colors. Not really handy when your trying to put some new ends on a cat 5 cable. So, I experienced this last Monday and Tuesday. I finally decided to go to the doctor for the first time in six years after it didn't go away. The doctor sent me to a specialist, and after some test, they discovered that I have a condition called Central Serous Chorioretinopathy. It's an eye decease that effects mostly white males ages 25 to 45 and it causes retinal fluid to leak into the front part of the eye and causes warping of the pigmentation. This can lead to fun things like retinal detachment, or permanent visual defects. It's apparently caused by a reaction in the small single cell layer that separates the fluid and solid parts of the retina, brought on by a reaction to too much epinephrine( adrenaline for we simple folk), and is somewhat of a medical mystery.

The good news is that I should get most of my vision back and with some precautions, a the chance of a recurring episode can be greatly reduced. The bad news is that if it does happen again, the likely hood of permanent damage greatly increases. I go back to the doctor next Tuesday for a follow up to make sure the liquid has recessed and that everything is healing.

More troubles, except this time, in the server front. I have to assume that the server was some how cracked, because before this Monday, there was no trace of a problem, and I hadn't downloaded anything in months to the server. On Monday of this week however, I discovered that when trying to access the forums at decipherone.com, the forum software was generating an error message saying it was unable to connect to the database. I finally had some time to look into the problem after getting home from work late last night. Tenga.A virus anyone? If you want some I can send you any one of the exes on the server because they are all infected. Which after doing some research seems odd, because apparently there are patches for it in XP from service pack 2 up, and I have service pack 3 installed. I didn't get it, but now I get to spend this weekend reformatting the server and loading all the software back on it and setting up some new security precautions.

Well troubles are said to come in threes I heard one time, and I know of another problem that I won't discuss for reasons I leave a mystery, but the good news is life moves on. I really wish my work on the engine would though, but life keeps seeming to throw me some distractions that have to be taken care of first.

Wednesday, October 08, 2008

Cha Cha Cha Cha.. Changes!

There has been quite a bit going on since my last post. I moved last week, downtown, into a new apartment, which is quite nicer then the last place I was staying. The building is older, but it's kind of interesting to be in one of the first buildings built in the state. I haven't had any ghosts visit me, but that's all good and well I suppose as I don't think I really know how to entertain ghosts. I'm also finally not in a basement apartment, which I had been the last two before this one. Instead, I'm on the top floor and there's an awesome view of some trees and downtown streets from my many windows. Which is all well and good, it did suck having to move all my shit up four flights of stairs though. Many thinks to Dan and Sam for helping me move my stuff.

As I get settled I'm hoping to really get focused back on getting the engine to the 1.0 bench mark for beta by the end of the year. As I've been writing about for a while now, I haven't really been as focused as I should be. The good news however is that I really feel at home in the new place and feel a lot of focus starting to come my way.

I'm also really wanting to finish the Barricade Proto-type to showcase the engine and want to start working on my personal game project. With things being so close to completion I've found it really hard to stay the course, but after coming this far, it wouldn't make any sense to give up.

Work on the website needs to continue as well, although I'm thinking that it will take a back seat the engine now, which wasn't the approach I was taking the last few months. There's still a lot of work to do there, but things will be completed with time.

Not really much more to write as of now.

Tuesday, September 23, 2008

Damn you Internets!

I am spending way too much time reading and posting on forums these days. It's good to see all the great projects going on over at tigsoucre, but there is just so much information there that I've missed out on that I'm trying to catch up with that I'm easily spending two hours a day reading the forum posts. Plus working on my website and having various other things going on, I really need to refocus.

The server for the website will be down for a short amount of time as I'm going to move it on Thursday to a temporary place. Not that anyone goes to my site anyways, because there's not a lot to see there yet, but just in case someones wondering.

Monday, September 22, 2008

Changes

Well, I modified the blog layout to resemble the theme on the Main website so now things look somewhat uniform.
I've been doing way too much messing around the internet as of late and not enough coding on the engine. I'm also going to be moving again next week, so things are a little hectic right now.

I'll be moving into the heart of downtown Des Moines for the 3 time in four years. I finally got a decent apartment down there though, so I plan on staying there a few years. Which will be an awesome change because, well, I tend to move a lot.

So I'm supposed to be finishing up game state management, python interfaces, and working on the next version of Scribe. Those three things will put me to what I'll be considering a 1.0 version of the engine. It'll be the bare nuts and bolts, and will allow me to make games.

I'm then going to be working on a side scroller and completing the Barricade Proto-type, which has stood still since April.

Then there's the networking layer and the effects layer to take care of, which I'm considering extra at this point, but really is a necessary part of any modern game engine.(Hell even 10 years ago.)

I'm really aiming to have all of those tasks completed six months from now. Those things will be doable, but are going to require extreme focus on my part. Especially as I'm trying to do the gathering of gamers thing and develop my site community. I'm also going to be having to have some beta testers come on board and help test things.

If anyone is interested in beta testing email: support at decipherone.com

Wednesday, September 17, 2008

Source Control

Source control is something that I neglected for quite sometime due to some issues that I had a few years ago with using Microsoft Source Safe. I'd asked some fellas over at gamedev.org a little while ago about what they were using as I have plans to get some additional help with projects in the near future and was wanting to look into again.

After looking at some of their suggestions I decided on Subversion , and I finally downloaded it to the server and started working with it today. At first it was kind of a struggle because even though the documentation is pretty thorough, it leaves out some important details. It seemed no matter what phrases I was typing into google, I couldn't find any other documentation.

It wasn't until I entered the phrase subversion walkthrough that I actually found some sites that help me get it up and working. Mainly Video How To: Getting Started with Subversion and Source Control was what I looked towards for some straight forward answers. It's a really well made tutorial for anyone looking to start using subversion on windows and it also introduced me to the GUI command tool Tortoise which is way better then simply using the command line interfaces.

I'm pretty happy with the experience so far, and am glad that I can now have access to things remotely as well. Now to actually get some coding done.

Monday, September 15, 2008

Autumn and the Gathering of Gamers!

September is here already and although I've done better this year then any other at blogging I still haven't met a lot of my goals in that area, but things happen, people get busy, and time goes by, just like every other year and every other life.

At any rate, as per usual, I've been pretty busy. As previously mentioned, I'm still working on building the site over at www.decipherone.com , but it's been kind of slow going, along with production on the game engine. I haven't really been spreading myself too thin, more so I've been getting side tracked a lot with spending time with friends and also getting some other projects going.

One such project is getting involved with the guys over at www.gatheringofgamers.com . This is a great social networking site that is geared specifically towards gaming. With the exception of the great games experiment, I haven't been one for social sites, but this is one that I've actually been somewhat active in this year. I met the president Ben at our first game developer group meeting last year, and managed to meet up with him again and the site intern Zach (aka RyuBlitz on the site)a few weeks ago where we played some disc-golf, some 360 and had a few drinks. We had a great time.

At any rate, I'm very impressed with the site as it's grown to near 2,000 members as of this writing in a little over a year(just over as of August 26), and people keep getting more and more involved. There are plans for me to help out with some contract work as well as help promote the site and attempt to get some networking opportunities set up. It is dedicated to helping gamers network. You set up a profile and have friends, classic social site style.

Last week there was also the addition of a clan system that is used to help those involved in gaming ladders keep track of their members. The site has recently seen an onslaught of KSI members join since the system first went live and we expect to see numbers continue to grow.

Ben recently got back from New York last week where he went to meet up with the Microsoft based company Massive which specializes in in game advertisement. The plan is that the GoG is going to be in charge of a gaming event in New York in November.

Other interesting opportunities have happened for this small upstart, like attending E3 and plans to attend the Major League Gaming Playoffs in Dallas Texas in October.

If you are a gamer and you're looking for a place to hook up with other gamers, then the GoG is the place for you. Stop on by and check out some profiles, find other peoples gaming tags and meet up with them on line. Come be a part of a growing community that has of yet seen it's peak time. With many more plans for the future, get into the Gathering while the getting's good.

Wednesday, August 13, 2008

Our fair August

It's been a little while since I last wrote anything in here. What have I been up too, work mostly at the day job, but aside from that, I've been working on getting the website going. Really that's about all I've had time for, creating content, and I'm finally starting to deal with databases again for the first time in about six years, and starting to dabble with some php. It seems like I've been writing a lot also, but about what I'm not sure as it doesn't seem like I've actually produced a whole lot.

I'm also getting ready to move again, this time into a house finally. So things might be slow for a while a yet, but things are always moving in the background. I have forums up and running http://www.decipherone.com/community but odds are if you're reading this blog, you may already know that.

More as news develops at 10.

Sunday, July 06, 2008

Reflections of terrestrial tides.

The month of June 2008 has come and gone already. Half of one orbital rotation has been completed and we are our on our way into the second half. As this begins, I think that it's important for me to reflect for a minute on things that have transpired this year. To see where it is that I am heading and to take note on where things need to change in order for more positive outcomes to be realized.

I was blessed enough to receive a job this year that has allowed me to hold true to completing obligations as well as fund my hobbies and personal business endeavors. It can be easy to forget where one comes from and to take for granted what one has when it becomes a part of ever day life and begins to seem less then extraordinary. The perception of course is wrong. It's something that I have to keep in mind as flight through the cosmos continues this year, and something that I think I should remind myself of, each and every day.

Family is also something that can start to be taken for granted. It's important to have family because they are the ones that help to keep us honest, that we share our triumphs and falls with. They are the ones that let us know when we are acting like a fool, even if we can't see it, and that help pick us up after we have had a bit of misfortune. When things start getting comfortable, it can be easy to forget just how important family is. They are the magnetic poles that guide our moral compasses.

Health is an area where I have been lacking in this year. I was doing well with taking care of myself for the first quarter, but once things starting getting a little unorganized, I allowed myself to fall into a pattern of little to no physical activity. This is bad for me as exercise has always been a huge way for me to relieve stress. This could potentially lead to other problem areas, which in turn could effect the other areas of my life that I've already reflected on. This is something that I've been making a note to change in my mind, but haven't really put forth an effort to remedy. If I don't get serious in this area, I fear it could have some adverse consequences.

I have not accomplished as much as I should have at this point with the game engine this year. At first my time was eaten into by other areas of my life such as work. But for the last three months or more, it's been mostly due to laziness and failure to structure my time to be productive. Granted, I have made some headway, but it hasn't been enough. I have failed to set consistent goals and know that I should have been doing more. Dedication in this area is a must if things are to be ready by the end of this year to move forward into what will be the second phase of my business endeavors. (which I will write more in about in the coming months)

I've been thinking a lot about my goals, community, and my future lately. Essentially, I've given myself five years to make it on my own from nothing to indie game development company. At the end of the five year period I plan on not giving up, but instead taking a more traditional method of academia, because at that point I'll have proven that I can't do it on my own. If things don't change, I'll be sitting here five years from now in too much of a similar position. Except I'll be having to take out loans to take a bunch of classes. I don't like being in debt for any reason, especially to learn(something that should be available to everyone if they want it, at an inexpensive cost, if not free)

Over the next few weeks, I'll be working to get back into a productive schedule that includes exercise and a minimum amount of time to work on things. I'm also working to develop a full fledged website and community to surround the game engine also, so time structuring will become more and more important as we come closer to the engine reaching it's first release phase, and the website officially going live.

Friday, June 27, 2008

Learn to be more like Sir Galahad

This week has been an interesting one. I've spent the better part of it with my son, which has been a blast. I took the week off from work and with the exception of a few days he's pretty much been by my side most of the time. Sadly, I don't really remember the last time I got to spend such consecutive time with him, but I don't think I've ever had a better vacation.

On the server front, I ended up abandoning ubuntu as I was spending way to much time managing system resources and setting things up. Damn it Jim, I'm a programmer, not a full time systems admin. It was just way too involved for the things that I wanted to do and the time that it would have taken to get everything going just how I wanted. So, I ended up re-installing windows and simply going with an Abyss server app. Now, I'm very pleased with Abyss so far very user friendly and easy to use. I also got setup with a dns redirect for decipherone.com and now we're in action. I just have to write all the stuff that I need for the website and PLOW! no more paying outrageous prices for hosting and or renewing or registering domains with over priced registrars. Thanks Google, enom,, and
Dyndns.org

In engine news, I finally finished the directinput functionality for the engine. So now you can use 360 controllers and generic controllers at the same time, as long as the developer puts interfaces to it in the game that they are creating. I started getting the GUI class fleshed out last night, but I'm guessing that it's still going to take me a while to get that finished up. There's just a lot of functionality to consider when writing a full fledged GUI. It'll be good to get it going though and be able to get the editor more object based. Currently it's written as an object simply called Editor and all the drawing for the menus and everything is done directly in functions in the class. This is bad. It works, but it kills frame rates. I'm also looking into using FBO to turn text files into textures once the text is read into the engine. Currently it simply reads from the file each pass and writes the bitmaps fonts to the screen each pass. This is very inefficient. Lots more to come.

Sir Galahad was the knight who successfully found the Grail. A king among men. We should all strive for such greatness.

Friday, June 13, 2008

Long Nights in a New Friend

So, I spent the better part of the day and night messing with the server. I had forgotten about a problem that I had noticed about a month ago when I was assembling most of the parts to begin with. It wasn't until about three failed attempts of installing the latest build of Ubuntu that I remembered it. You see the case that I currently have for the server is arranged in such a way that the cpu is kind of close to the power supply. Granted, that this might not normally be a problem (although still a bad design in my opinion) but in my case, the fan that I have over the cpu is pretty massive. It's about 2 1/4 inches resting on top of a 4 inch heat reduction coil. Now, this is good for cooling purposes, but bad when there is only about a 1/4 inch gap between the fan and the power supply. In my haste to get things going I suppose I put it off in my mind.

Needless to say, this caused the psu to overheat. Now for some reason, I was thinking, "what is going on, is the damn thing overheating," but I couldn't remember why. It wasn't until I opened up the case to make sure the cpu fan was working that it dawned on me that I had forgot about the problem. So, I had to do some temporary adjustments and the psu is now resting on the bottom of the case for time being, with the case open. This took care of the problem for the time being, and the system is no longer freezing up. It's kind of funny though, I don't normally get that excited about things, and here I was just blowing off a problem with the system. Well, I thought it was funny anyways.

So, I'm either going to have to do some custom cutting to the case to get something worked out, or I'm going to have to get a new case. I have some tin snips, so I think I'm going to try some custom work to the case first, but if that doesn't work out, I found a decent case on-line for under $50. It'll have to wait a few months though as there are more pressing purchases to make in way of summer clothes for the kid, car insurance payments, and a portable air conditioner for where the computers are so that they don't over heat this summer.

My thoughts on Ubuntu Linux so far, after spending about five hours messing around and setting it up are, I like the interfaces a lot, I haven't really gotten to do a whole lot as I spent time downloading updates and just getting familiar with basic file structures and the like. I also downloaded Boinc to run Seti so that I could free up my dev box from it, so hopefully it'll have a little longer life. One thing I'm not liking though is the inability to access things as a root user without having to do some sort of working around. I suppose it keeps inexperienced people from screwing things up, but it seems like over kill in the area of protection. I would assume that anyone who can manage to work around the system the way that it is setup to emulate a root user, they could still screw things up just as bad, even unintentionally, but I guess it would take a little bit more work. At any rate, it's going to be an ongoing learning process. I just have to make sure it doesn't get in the way of working on the engine as well. Long day tomorrow.. err.. today. I better get some sleep.