Showing posts with label DM3D. Show all posts
Showing posts with label DM3D. Show all posts

Wednesday, January 13, 2010

Font Builder - Part II

Yay, a new update! I'm not exactly at liberty to say why I don't have any free time these days, but suffice it to say that I literally get about 20-30 mins per week to attribute to continuing to move things forward. Not much, but slow progress is still progress! Between the last update and now I have reworked the font tool a bit. You can now add custom ranges to a font palette with full unicode support. Again, FreeType is awesome for helping me not have to manually decode fonts, I highly recommend it to anyone finding themselves needing to render fonts in a bitmapped fashion.

Writing this tool had the desired effect of helping me to find and fix some bugs with my font system, and now I should be in a good position to begin moving forward on actual game-related tech. Inching forward day by day, I will get this project finished no matter how little free-time I have to do it!

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.

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.

Wednesday, March 11, 2009

Going International

Hello everyone. I know I really should update this blog more often... I'm trying, really! Things are really starting to move forward over here. A few more little features to finish up and it will be time to start a small game. This project started out with a simple desire to learn more about the math behind graphics and physics coding and has turned into a full-blown desire to make something awesome. Don't worry, I have quite a bit of experience in software architecting and the amount of effort that goes into making a game (it is what I do for a living, after all), so there's no need to fear that I'll be jumping off the deep end and trying to compete with a commercial AAA product with my little project I devote maybe an hour per day to single-handedly.

That said, I'll be starting on a version of Pong I've been thinking of for the last couple of months. That's right, Pong. "But why do you need all this fancy 3D technology and a real game engine to make Pong?" you may ask. Wait and see, my friend, wait and see.

Anyhow, on the update front, there have been lots of new toys and updates added to the engine, the most recent of which is support for true-type fonts (and pretty much any other type) utilizing the FreeType library (http://www.freetype.org/). With this added functionality there's now real support for unicode text within the engine, which is awesome for making localization easier. I've also added support for sprites with transformations calculated on the GPU, as well as simple 2D rendering via a very easy to use interface. In addition to that, single-pass multi-texturing is also available, able to render as many textures in a single pass as your video card can handle.

Overall, it's been a productive month, as far as a project being done in my "freetime" can be considered productive. I can't wait to actually start work on Pong. I love game dev.

Monday, February 16, 2009

Still Alive


It's been a while since I last posted, but I'm still alive and kickin'! Getting married does take up a lot of time, though. Anyhow, I've made a bit of progress since the last post. I've now learned quite a bit about the Huffman and LZW compression methods, and implemented compression into my custom 3D file format. I also added better support for vertex coloring, as well as an updated exporter for 3D Studio Max. Believe it or not, all the fancy coloring and shadows there are completely done through vertex colors with the fixed-function pipeline, no fancy lighting or shadow mapping involved at all.

Though it's not pictured here, also added is the ability to save and load textures and some nice shader integration. A lot of code has been cleaned up, input has been added, and a lot of other neat little features. I'm getting quite excited about creating a new game with this! More progress to come in the future...

Friday, December 12, 2008

The start of something new


It's been a while since I've made a post here, so I figured I'd update everyone as to what I'm up to these days. My love for graphics programming has once again caught up with me and I've begun working on a small, simple graphics engine with which I intend to make several small games. The project began with the desire to learn more about the math behind both graphics and physics programming, and hopefully it will end in something fun for everyone. The image posted, although simple, represents a lot of work and potential functionality. And yes, that is the moogle suit Yuna wears in FFX-2 (sorry Square, don't sue me!).