The rest of this post is about me playing FF12 and you can probably skip it.
I got Final Fantasy 12 the day it came out, but haven’t had time to play it too much yet. The characters and the look of the world arn’t really to my taste. I much prefer Tetsuya Nomura’s FF7 or FFX style. Last night I put in some solid time, and I’m warming up to it. The battle system is exactly that of an MMO, and I hate MMOs. The persistant world navigation/combat system setup is already something FFX should have done (imho), but I wish they could have wandered even a bit further from classic FF combat. Grandia III’s battle system was really cool, I wish they had taken some ideas from there.
Anyway, this is the first Final Fantasy game that I’ve actually bought even reasonably close to it’s release date, and its the first FF that I haven’t had all the plot points spoiled by friends before even touching the controller. I’m taking this very seriously. I went to my friend’s place to hang out Saturday afternoon. Knowing he had bought the game recently and had probably put in more time than I, I waited outside his door while I called him and demanded he save and turned off the machine so as not to spoil anything for me. The only sure way to do this is to just play the hell out of it as fast as I can. Which is what I suspect I’ll do.
Also, most of the music isn’t done by Nobuo Uematsu, and I feel very aware of this. Once I’ve completed the game and my self-enforced ban on consuming FF12 info outside of actually playing the game is lifted, I want to verify which songs he actually did and see if my suspicions are correct.
And I really wish I could play the game in Japanese. The trailer I saw at E3 had japanese voice actors, and they were splendid. While the english one’s arn’t BAD, every cutscene I end up thinking to myself “that probably worked better in the original”.
]]>Here we see BV nodes created on 2 SceneNodes.
Most of my work has gone into creating a system which can reference objects from other maya files. It should be tailored to level creation type work, so these imported objects need to be instanced and copied all over the place. Again, I want the user to do very little explicit specification. The interface remains somewhat primitive, but the system works just how I want it to. Rather than typing in a string for the object you want to reference, there will be a browse menu available, a “already imported” drop down thing and the like. Adding these things is relatively simple, the hardest part is deciding how to organize the information in the window set up. I think I’d like to start working hard on a game project again, and get a bearing for how I’ll end up using Lithium. Then just add things as I want them.
This is a saved maya file called “player1.mb”.
I’m going to reference things from it into a new file.
When you import an object through Lithium, it creates a reference to the requested file (should it not already exist), and hides it away. Then, it creates an instance of the elements within the file you’ve asked for, and parent constrains them to the SceneNode that requested the import. The actual instanced geometry remains hidden away from the current scene’s hierarchy, and does nothing but display itself. The idea is that when this file gets exported to the game engine, these nodes with references on them will grab objects that have been exported from other files. So if I have a city with many buildings, and each building has a ceiling fan, I can simply create a single fan and have that fan show up in all the buildings. This saves me time, and improves game performance.
Lithium makes it very fast and easy to create stuff.
Lithium makes it very flexible and easy to change stuff.
Game worlds will be built with maya files that contain basically no geometry information. There will be small files which define a specific thing, and many of those things get referenced by the level file.
ScriptNodes aren’t concerned with their world position or visual display, so this is hidden from the user. I imagine ScriptNodes will be manipulated entirely within the Lithium window. These are very game specific, so I don’t have anything besides their interface behavior defined yet.
]]>Most of my time is spent exploring and testing many different ways of approaching the same task, to find the one which is most suitable. Maya is extremely open ended and forgiving in terms of allowing you to tackle a problem however you are most comfortable. This is excellent when you just want to automate a single task (which is how I’m used to using MEL). However, when your system gets deeper, it becomes imperative to do things in ways which are more or less harmonious with Maya’s core design philosophies. By this I mean storing particular types of information in the ways Maya likes it to be stored, organizing things how Maya likes things to be organized. MEL has tons of tools and functionality available, and its important to keep your work compatible with what already exists. I have a pretty solid idea of what I want to end up with, which has been very helpful for planning how things should work now.
As I mentioned, this work is edifying and an important step, but I am already very much itching to get back to just modeling and making stuff.
Oh, I named the system “Lithium”. I hope nothing similar is already named that. A few quick google searches suggest not. Wikipedia explains that lithium can be used to fight mania, depression and bipolar disorder (I’ll mention here that I personally have strong problems with any kind of mind/mood altering supplement such as anti-psychotics in all but the most extreme cases). It can be a component in channeling/harnessing large amounts of power, as in lithium batteries or thermonuclear weaponry. It is also a catalyst for chemical reactions.
Lithium does not create simplicity out of complexity, but offers a different way of experiencing complexity which is easier for a mind to deal with. When given the proper situation it can take silent, dorment forces and empower them to many times their original potential. This is all rather dramatic for a couple of amature MEL scripts, but with Maya as my katamari, I intend to keep it rolling and growing as my tools change, and will eventually collect all the elements of my workflow.
]]>Part of the plan is that Tony will be taking over the bulk of the actual code generation “monkey work”, and Chris’ time will be more focused on design decisions. This solves the problem of Chris being over worked as well as making Tony more involved and capable with the game engine we are developing (which Chris authored). Additionally, I’ve started looking deeper into MEL (Maya’s scripting language) so that I can take the load of tool creation. This too is a good arrangement for multiple reasons. I have the best understanding of what Maya is already capable of, and how it can be practiced most effectively. While writing MEL is a “coding” task – it really belongs in the realm of asset creation. We’ve got Gavin running through the tutorials Maya provides, so that he can help out in the near future with simpler asset related tasks. I’d be interested to see a blog post of his thoughts as he learns the system.
My first MEL task will be to create a referencing system, so that I can build a level in which I can place objects made elsewhere. I’ve got a few ideas I’m excited about, but I’ll save that for another post once things get more cleanly laid out.
Ordered 2 books from amazon,
I’ve been able to finish the section on MEL in the first book, and it’s pretty thorough. Might have liked more examples. The API stuff is a bit over my head, I haven’t touched C++ for something like 2 years now, but I’m definitely interested to explore that sometime if it looks like it could be useful.
PubCrawl has been sitting around waiting for Internet. Should be able to post that tonight or something. I had a pretty clear idea of the type of game I wanted to represent in the milestone, and I think it comes through in the game play to some degree. I hope you have some fun with it.
]]>But, as I’ve been instant messaging to concerned onlookers, lemon -> lemonade is how denrei rolls.
I’ve been taking daily showers in the University Gyms available to students here, and used this opportunity to start working out. This means I’ve had to up my diet from a single chipotle burrito every day to a burrito and a large tuna sandwich. Also, I drink far more milk than I’m comfortable with, which is bought from a nearby convenience store at a price much higher than I’m comfortable with, at a time much closer to the expiration date than I’m comfortable with.
All of this means that I’ve spent a huge amount of time in the UPL and PubCrawl has been coming together brilliantly. Tony and I have been working most our waking hours on it. Our time is split between describing to one another of how great the systems/we are, and making an interesting/productive test. Its a little heart breaking to have these models that I’ve invested so much effort into to make normal mapped shlopped in here with bland maps, but its also great to see them in the engine in any form.
Please keep in mind as you play these milestone tests (crossblast, pubcrawl, whatever we do next) we definitely do NOT consider these complete upon release and hardly “games” at all – they are short term tools meant to hone our skills and technology for games to come, and we’re excited to share what we’ve done with people who happen to be interested.
P.S. for those of you who tried crossblast and it didn’t run – please do give this one a try. If it doesn’t work, it would be very helpful to us to get a comment letting us know. Part of the purpose of distributing these is to reveal various machine-specific problems. Our QA department consists of my roommate’s dell laptop and Tony’s girlfriend’s desktop.
]]>In a moment of weakness, I googled for a low cost tileable texture maker and found TextureMaker. I downloaded the demo and was presented with an unfamiliar and off putting set of icons. I mashed a bunch of them, and something cool came out. It was like, worn shingles. And it was perfectly tiled! It saves me the “putsing to get it perfectly tiled” phase, and cost no more than a trip to your local game store. Still, you can’t get polished results using TextureMaker alone, so I doubt that I’ll ever make a texture which doesn’t pass through photoshop at some stage.
The original idea for the current milestone was to distribute the current version of Outland. It doesn’t seem like such a good idea now, because what we have is very infrastructural. So we decided to put togeather a small, alternative environment to test what we’ve got now. In order to not get sidetracked and waste time, we put a 24 hour cap on the project. So we’ve got until midnight on the 19th to create everything and polish it, then another 24 hours to make it avalible for you to download and enjoy.
]]>Everything I work with digitally is very complex. Not referencing the technology of it, or the math or huge learning curve of the tools. The nature of the art I am creating has many limitations and requirements. My job is to make pieces which are, if not “realistic”, certainly convincing, representational presentations. I cannot really call them “compositions” because I really have little guarantee on the details of how the audience member will experience them (its built as a dynamic, interactive experience). So I’m always working within the “stylistically realistic representational” realm, within an unpredictable environment. This unpredictability exists everywhere – how the character will be rendered, what graphical settings is the player set on, what level is he in, which frame of which animation, has the player seen them before… Also, there is a story which needs to remain coherant to the visuals. The model has to actually represent a character in the progression of the game (go figure). So this is what I mean when I say game art is “complex”.
In this art class I was specifically told not to make my work iconic or representational. It had to operate completely on abstract form. Again, my personal feeling is that no hunk of nonsensical plaster can be as cool as a convincing character. But in having to narrow my tool set down to the most basic visual elements, (and introduce the awkward limitations of actual physical objects) I was forced to really come up with a brand new way of thinking creatively which I had never thoroughly tapped into before.
A concrete example of what I mean. If the character I’m working on looks odd to me for some reason, my natural progression would be along the lines of “What cloths is he wearing? Should they be more futuristic? Is his body defined properly? Do his gloves make him look more like a ninja or a pilot?” when perhaps I should be simply asking things like “Is this balanced? How do the forms here and there relate? Which elements here are dominant?”. I mean, I’ll never explicitly think those things. But I think my eye will be keen to it.
To mention the game, my work has remained in the world scene. Its definately improving, but I’d really like to see it in game soon, with in game lighting and such. That would help… 0_o
]]>