Sunday, December 13, 2009

Font Builder

Updates, go! In a continuing effort to gather all of the things I need to make my fancy-schmancy version of Pong, I've thrown together a font tool in what little free time I have these days. This tool allows you to build font definitions usable by my engine to display text. The engine can support any standard true-type font and will be eventually extended to allow for custom bitmapped fonts through the use of this tool. The code to support the GUI environment has been rewritten and everything is a lot cleaner and more user-friendly than before. All in all it's a pretty small step forward, but at least it's a step forward. With the holiday season coming upon us, hopefully I'll find a spare couple of hours here or there to make a good bit of progress as I did over Thanksgiving weekend. Anyhow, till next time!

Friday, November 27, 2009

3DS Material Plug-in

Wow, 3 posts in a single month! Thanksgiving break has given me time to complete the model exporting portion of my 3D Studio Max plug-in utility. As you can see in the image to the left, I have written a custom material plug-in that allows you to create materials in a way directly usable by the engine, minimizing the amount of time and potential bugs that go along with creating textures and materials for game objects.


Working with MaxScript to create the plug-in is actually pretty simple. This site was a pretty nice starting point for figuring out where to start with creating the plug-in, and the MaxScript documentation itself is not half bad. I'll likely write up a tutorial on how I went about creating the plug-in at some point in the future, as some parts of it are not so obvious as others. With this, I no longer have to manually code little debug primitives to test things, so I'm quite excited about moving forward to getting the actual game started.


And yes, to answer the question, that is the Yuna model from FFX-2, and Rikku from FFX. They just happened to drop in to help me test my plug-in and make sure things integrate smoothly into my engine. The models came from a place that no longer exists (I believe), so I can't really offer a link to where you might find them, but I'm sure they're still available in some forgotten corner of the internet. . .

Tuesday, November 24, 2009

Attack of the clones!


In my attempts to post a little more consistently, this is a miniature progress update. The latest feature to grace the DM3D Engine: The ability to clone scene nodes and resources. The image here was generated using only primitives and the clone functionality, creating a nice (physically impossible) stack of boxes that all properly share mesh, texture, and shader resources. I am currently working on revamping and extending the 3D Studio Max plugin I began working on back in July. Once this is finished, I will be able to finally begin work on my special version of Pong. Hurrah!

Thursday, November 12, 2009

Materials, textures, and models


Finally getting back into the groove of life after all of the big changes that have happened recently. I have next to no time to work on this project these days, but that doesn't stop me from putting in an hour or two whenever I get the chance (which seems to be maybe once a week or so). Anyhow, in the time since my last tech-related post I've completely revamped the way meshes are loaded and the way materials and textures are handled and I really like how nice it has become.

I've also updated the engine to be initialized using an XML config file, which makes setting things up nice and easy. Getting the window created, mesh, textures, and shaders loaded, and everything rendering is done in just a dozen or so lines of code. With my lack of free time I may be moving a little slowly, but I am getting somewhere. Stay tuned for more updates.

Sunday, October 11, 2009

Server down!


I've forgotten to mention that the server which all of my demos are hosted on is currently down. It will be back up in a while (likely a week or so). This is due to having moved and not having the time to orchestrate the timing of reconfiguring a router that doesn't belong to me. I apologize to anyone this inconveniences in the mean time.

Sunday, October 4, 2009

Life's changes. . .

Wow. Life. If you've been wonder what happened to me for the last few months, that sentence about sums it up. Since my last post I quit my old job, got a new one, and moved across the country just in time to catch a storm which left 3½ft of water in my basement. Life. All that aside, things are pretty good, so I can't really complain. New stuff coming soon, just thought I'd let you all know I'm still alive.

Saturday, July 11, 2009

3DS Max Integration!

It's been a while since I've posted anything here. Don't worry, I haven't abandoned the project, life has just gotten really hectic as of late. That aside, I find myself with a bit more free time these days, so I can once again bet back into the swing of things with coding my engine, codenamed DM3D.

After a long and arduous battle with the 3D Studio Max SDK, I managed to integrate the engine directly into the 3D Studio Max interface. This will prove extremely useful as I make models and objects for the small games I have in mind. The idea for adding this functionality was admittedly conceived after I ran into a tool for the Ogre3D engine known as oFusion. I will be creating an external "level editor" for future games, though I believe having the ability to view art within the modelling application itself exactly as it will appear in game will be of large benefit in the future.

I have also been researching and playing around with the now-popular techniques for deferred shading and deferred lighting. There is certainly a lot to consider when it comes to deferred versus forward rendering techniques, but I am really beginning to like the advantages offered by a deferred rendering solution. If I can come up with a satisfactory way to solve the alpha-blending issue, I will most likely implement this technique.

As always, other small advances have been made, bugs have been fixed, things have been changed. I'm still alive, the project lives on! By the way, I failed to mention in any posts before, if you have any questions about how I've implemented a certain technique or you have any suggestions, feel free to drop me an email, the address can be found on my profile page by following the "View My Complete Profile" link on the right side of the page.