Category Archives: Ramblings

As I asked in my previous post, is limiting the vision of a game due to technical limitations good or bad? Should we look to other tools that would live up to the expectation of accomplishing that vision, or should we just stick with what we have and make the best out of it?

But I think my question touch a more philosophical note in me, and I’d like to write it that way.

Vision?

What do we mean by vision? Let me put it honestly in the argumentative spirit it came from: when someone says they don’t want to ‘limit the vision’, and when they’re relying someone else to actually realise the vision, it means that they want a free ticket to every ride in town, at any time, for any reason at all. What they mean is feature creep. They might want to add stuff in; particles, explosions, heavier models, bigger textures, other bells and whistles. They might want to add a new kind of gameplay because they think it’s more interesting. Or maybe they want replace the whole engine.

They might say they’re expanding the vision of the product. They put it that way because it sounds better than ‘I changed my mind, because I was never really sure to begin with; let’s do it this way instead.’ Better not to look as dumb as they really are, so they make it out they had this in mind all along.

But when more people are involved, let say in a thing called the Creative Company, ‘expanding/modifying/altering visions’ becomes a problem because it’s easy. It’s easy for people who are actually detached from the actual creating process to think of ideas. When there are no consequences to your thoughts, you obviously will just think of any shit that comes into your head, right?

So, am I saying, that easy==bad? Sure. Because it’s usually borne in the bed of laziness. easy==lazy. That’s precisely why it’s bad. That’s precisely why it’s not an idea you can depend on to be sound, no matter how clever it sounds now. Some people in the past introduced the argument that it’s helpful for ideas to be free from the burden of the hard toil necessary to achieve it because, said this person, if anything is seen too hard to do, people will likely lose heart and abandon an idea that would have otherwise been brilliant. Fair point, and it explains a lot of great things in the world, like slavery and cotton fields, to name one of many. Despite its seemingly sound reasoning I’ve only heard it from the mouths of those who don’t know or don’t want to dirty their hands to work the fields. I think my reasonable answer to that argument is that if people forego a good idea because it’s too hard, the only thing lost is the elite’s vainglory, and we can definitely lose a bit of that. And, perhaps the idea is simply not good enough to sacrifice what has to be sacrificed. Perhaps the idea is only good for those who have nothing to lose by having it.

Technocreativity

I think that creativity is expressed primarily by the limitations we impose on ourselves. I don’t believe in the propaganda that boasts that you will can express your creativity because new doors/features/tools/technology have now been opened to you. For example, as recent as a few months ago, a Disney-esque Samsung ad declares at the end: “We make what can’t be made so you can do what can’t be done.” Clever and nonsensical advertising, sure enough, but the point they’re making is even more nonsensical. The consumer actually does nothing. All they’re doing is — what’s the popular verb for this nowadays? — consuming a product. Or they’re consuming an experience. You’re made to believe you’re empowered.

So, in the same vein, is technology empowering us to be more creative? No. We are just more reliant on technology to express our creativity. It shapes or forms how our expressions look like, but it doesn’t necessarily improve them; it doesn’t make us more creative. We might have a greater palette to choose from, but excepting those who are obsessed by stats, why should we give a fuck how much greater our palette is? But that is the problem, isn’t it? Aren’t we all us obsessed by stats? Don’t many of us largely concern ourselves with specifications: which has more VRAM, more Ghz, less latency, more bandwidth, read/write speeds, terrabytes, etc. We are sold and are persuaded that we are better off creatively because we have better hardware or software. And I wonder, how should we rank ourselves against the people’s creativity generations before? Should we, given how we’ve technologically advanced, fancy ourselves superior?

And if new technology doesn’t make us more creative, why should we update our progs at all? Because new technology is our medium. We have no choice because we are born to it and to the dizzying rate of how it changes. But it’s no Muse of Creativity. It will not heal anyone of laziness. In fact, it is far easier to be lazy because there are too many conveniences at our disposal. And even the sincere among us are more readily confused because technological possibilities are too narrow a framework to build creative minds.

If technological updates are too fast, it is no sin to stay where you are. If you can keep up, move on to the new.

The only thing the differentiates a good and a bad decision is the laziness not to know the difference.

For the past many weeks, I’ve been focusing a lot on the development of the animation sheets. But because of this, I hadn’t touched the former aspects of the game for some time, and when I got back to it, there were some issues that were brought to the fore, such as the Beltway being broken. To be honest, I was utterly surprised at this, since I had no recollection, or notes, that say that it had been broken when I left it to develop the other parts. There were also other things that I noticed that needed changing as I tested the implementation of the animation sheets along with overall player movement.

I found myself a bit overwhelmed and a bit tired, as I sometimes do, from having to debug C2 events. For all the user-friendliness it has, it can still be be quite opaque especially if you’re trying anything abstractly complex. It’s not totally the fault of C2, but because of its lack of modularisation, or object-oriented framework within the event system, picking apart why something doesn’t work requires a bit of jumping around, trying to sort out which are workarounds to some weird behaviour, and which ones are meant to do something actually functional.

Anyway, for several minutes I stared at the monitor, and I was seriously debating why I’m developing this game in C2, and not in Unity, where I have some experience in, and the fact that I’m actually good at coding (at least good enough not to doubt my ability to see the project through). Not only do I code, but I’ve been in the CG industry as a 3D artist and TD for 15 years now; on that alone, Unity is more of a familiar programme than C2. But I had a discussion with my wife who takes these technical diatribes with calmness and puts out good arguments, and the result is my rethinking of my situation.

So the question is: why C2?

It began with the fact that C2 made things simple. But what I’m doing with CITIZEN is not so simple. And that reason seemed to be not good enough.

C2 is fun because of the event sheets. But though the event sheets are effective, they are effective as procedures. They are less fun, and less effective when you want some object-orientation or inheritance, which is so useful when when I started delving into certain gameplay concepts that I wanted to implement for the game.

But I think one of the strongest reasons is one of a balance between a simplistic framework, and the relatively blackbox type of plugin filtered into the C2 editor which results in less bugs during development. This is both a pro and con. Taking Rex’s GridMove/Board/SLG/InstGroup system. These are separate systems working together as one. But it has some learning curve to understand how it all of them work. In fact, some components actually need the other, so they’re really necessary modules in order to come up with something like an isometric grid framework. But once this framework is up, the input and output (eg On reach target, On move accept) is unambiguous, and can interact naturally with any other event/behaviour in C2. Why unambiguous? Well, first, the C2 editor registers the event, so it’s part of the choices. Unity, on the other hand, can be quite confusing in this respect; what event handler is being called?; a search through the documentation is necessary.

In Unity, it is possible to get a well-written framework, but you’re going to have to try it out first before you know what you’re going to get. Sure, that’s the same with C2 plugins, but the C2 plugin framework shields you from some the randomness of 3rd-party scripting. C2 plugins follow C2’s rules in order to play nicely with C2. You’ll spot a lemon faster.

But I think the most important aspect to plugin frameworks is simply that they can be added in without messing things up. I don’t have syntax errors in C2 compared to Unity, so if something doesn’t work, syntax doesn’t necessarily some into the picture. Even data types are managed.

I think the best example I can think of is trying to implement Unity’s 3rd-person controller setup to your own game. There’s so much going on in that package that if you try to fix it to behave how you want it, you’re going to mess it up so much that you might as well write your own to begin with. Unity is so flexible, but unless something is so well written, with open-ended framework development in mind (like, for example, PlayMaker), the Unity environment is pretty much like a sandbox.

C2, on the other hand, is more like a playground. You can’t move the playground that’s there, but you can add other stuff into it, transforming it into something new.

At the end of the day, this is just a hobby so it’s important to have fun. Fun is a major motivator. It’s obviously not fun when I have to deal with the awkwardness of C2, or when I have to refactor my events. It’s not fun when I accidentally change the image-point on one of my images and having no undo option for that. But nevertheless, it’s fun to figure out how implement features on an engine that offers a good starting framework.

Without a doubt (in my opinion, at any rate), it is primitive tool when you consider other production engines out there, open-source or otherwise. I think it is easy to outgrow the tools due to the ever-expanding ideas for a game. That’s partly why I had to limit the ideas that I was coming up with. Is that a bad thing? No, but I think I should like a separate post about that. 🙂

I think, however, in the future, after I complete CITIZEN in C2, I will more seriously consider using Unity for other projects that may require a more expansive toolset, especially one that may yield a better game by going 3D.

Monetization brings a game dev into another framework. When a game dev has an issue with a component in their game that affects their income, it is not an issue they can simply forget. They have chosen a path and decided what their bottom line is. There is, on one side, the hobby of tinkering with games’ nuts and bolts, and on the other, the figuring out how you can be monetarily be rewarded from your efforts. Each balances according to their own tastes.

This points back to the first part of what I was saying. It seems to — partly anyway — explain why there is a such a big fuss when software doesn’t turn out the way you want. For professionals, there’s no time to screw around with incomprehensible decisions, and frustrations grow out of a need to produce results, and that is being undermined by some third party. It’s your job, your paycheck, your reputation at stake. It’s serious business, as all real businesses are. When you make your hobby into a business, it becomes a business, and it won’t feel like a hobby any more.

Game development — with its big studio and indie counterparts — is a whole different world. They have their own denizens, atmosphere, and grading system. It’s far from a desirable world, and heck, it’s not even particularly better than my boring one.

If there is a solace, a quiet place, a haven, where as a kid you dreamed about fascinating worlds, it’s not here, nor there, but temporally offset.

There are two kinds of people. People who like to play, and people who like the make things. And among those who like to make things, I can see two more kinds of people between them:

Those who like making stuff.

Those who like having made it.

Those who like making stuff, consequently, eventually — ideally — like the fact they made it.

And then there is a kind of person who prefers to have done it already. Of course, if it were already done before he started on it, then he couldn’t be considered a creator — and he wants to create. But if he could do it with a push of a button, or use an Imagino-matic device, that would be the most ideal situation.

But how much work does he want to do? Does he want to work just enough to feel like he’s earned a six-pack from a 2-minute calisthenic workout? Or is it like giving birth to a baby?

There’s more than a line, or a degree, or a quantification that crosses the boundaries of convenience and perseverance. How much automation is there before it’s actually automation? How much are we really putting in for the amount we’re getting back?

The nature of software is that we build on top of one another. We don’t write Assembly because there is no practical benefit to it. But now, I ask a different question: When it comes down to it, would you be willing to start from scratch? It’s not about delineating degrees of laziness versus masochism. Instead, it is an attitude, an approach to life and learning.

There is absolutely nothing wrong with taking an easier route, especially if you took ‘hard’ to get to ‘easy’: you’re worth your own weight, like any good SAS trooper. But some people don’t want to take ‘hard’ at all. They just want to be shown a way that produces results. They don’t see problems as natural curiosities; for them, they’re irritants, not accelerants.

In the CG industry where I work, there are many varied roles, and people vary a lot in this regard. An animator has animation skills and he doesn’t have the inclination to rig a character, and I wouldn’t hold it upon him to do so. But I would expect him to be committed to all things animation. A modeller may not take interest in matchmoving, but his anatomy should be solid.

So it surprises me that there are so-called game devs who feel insulted to have been forced to troubleshoot their own game-related problems. But aren’t game devs supposed to regard game development problems the very point of game development? Isn’t this what ‘making a game’ is all about? Isn’t this actually the fun part? ‘Making my game’ is supposedly what we enjoy. But in fact, what some people actually mean is ‘Seeing my game made’.

I don’t know. Maybe I think too old-school. I look at 2400AD and think Chuck Bueche, and the whole lot of them back then, were having loads of fun playing around with bits and pixels. And I am having tons of fun, too, and every bit and byte grateful that in this day and age we have such an easy time making games. But the thing is, I wouldn’t mind it at all if it were much harder.

I’ve been making the art for the environment lately. It’s been fun, but I sometimes wonder when the fun will end. Sometimes the inspiration peters away and I’m left trying to find out what I’m going to do next. It’s never a nice feeling, the gradual dissipation of inspiration, the inevitable melancholy.

But I do what I can. And I have a set of concepts that I have drawn, that I’m determined, for better or worse (meaning better or worse art), to get done. The total will be 5 assets. Then I will draw up some more, and do the cycle again.

Of course, the way I say it now, it doesn’t sound much fun. But assuredly, it is. However, I know that there are times when the fun part diminishes, but one must go on. And while I’m feeling pretty good right now, I know that it will eventually go away. But it comes back, for sure, but sometimes I don’t find myself taking the opportunity to get back on to it again.

One shouldn’t take this thing too seriously. Surely enough, if I felt that making a game was as bad as doing particle simulations, I would seriously question why I’m doing it. I always thought building a game was like playing Lego, only that you can build the nature of the world and building conversations, and not just its physical manifestations.

C3 was announced the other day, which was greeted predominantly by the dominant folksies with jeers and boos. These are indie devs, and hobbyists alike not thrilled with either their pricing structure, or their browser-based implementation of the Editor.

For myself, I had been eagerly awaiting C3’s announcement. I was not particularly impressed with either the pricing structure, nor the browser app, but I was more concerned with the limitation brought on upon the browser implementation: folder-based projects were not supported. Originally, what really interested me in C3 was its promised Editor SDK which allowed users to create Editor tools, presumably to control more of the objects and workflows better. I always saw C2’s an unsophisticated editor, so this SDK surely piqued my interest. Unfortunately, even if the trickle of news eventually reveal this SDK, folder-based projects are essential for me. I am a newbie in C2, but not quite a newbie in coding and production workflows, and this is how I choose to work because all my production experience is geared towards accessing discrete assets from multiple application in my system, eg modifying source files directly from custom tools, or modifying source images from Photoshop. This is surely part of the fun I have in making games.

So, in short, until they overcome that fundamental limitation of ‘single-file projects’ by releasing desktop builds, C3 is a technical no-go.

In the Scirra forums you hear experienced indies and hobbyists alongside straight-up newbies, and each one has their own problem with it. But I am a hobbyist, for sure, and I don’t hope to take this so seriously that I will have a ranting fit just because I don’t agree with the developers vision for his product. If I was really serious, I could take up a more serious engine. But I’m not that serious. At the end of the day, after I complete this game, if i find that I’m getting more involved with it, perhaps I’d be more inclined to write code using Corona SDK, or even Phaser, or perhaps get back to Unity again. C2 provides a very nice and easy method of making games and that was the allure. But I’m not adverse to complication.

I won’t deny it, however: I will feel a sense of loss if C3 is still a no-go by the time I have to make a decision.

There is a kind of seriousness needed to be able to finish something. With Citizen 2401, I need a bit of that seriousness. But it’s not a seriousness connected to the platform I’m using, since I know that I can achieve anything with any platform; it’s just a matter of nutting it out. And nutting it out is something I do every day anyway.

…CG, that is. Now, I’m a professional. I’ve been so for 15 years. After a while, though, it becomes a tedium. If you’re good at certain things, it’s quite easy to be scoped in to do those things over and over again because employers would rather employ you to maximise the benefits of your proficiency.

This itself isn’t half bad, if only bosses actually knew what you did.

As I began my career, ‘career advancement’ never entered my mind. That meant that I didn’t know I was coming into a career, nor did I expect my bosses to advance my career while being employed by them. I think this is because I was actively advancing on my own. I was learning new things, I was getting better at the things I already knew.

Now, there is a great dissatisfaction when that advancement stops. When it does, I question why the company doesn’t do more for me. Then I come to understand that even if I had been given a SIGGRAPH pass, or sent to NAB, or some artist convention in Europe, simply knowing more is not career advancement. Neither is a job title — I’m a “CG supervisor” — and neither is a pay raise.

I’ll tell you what it is.

There is a situation that doesn’t allow me to apply what I learned. To be compelled, by my situation, to allow things that go against my knowledge and common-sense tells me that my personal advancement only goes so far as my nose.

When there is no utility in learning or experience, ‘career advancement’ stops.

Let’s compare that with being able to take charge of a situation and come out on top. To apply what I know, to make ignorant mistakes, and by its very virtue to gain experience, that kind of ‘advancement’ is the kind of satisfaction that made me love the craft so much.

This other situation is not dissimilar: not to have the space to learn something new. I want to explore new ground, especially the world of interactivity (it combines my creative interests with the coding skills I’ve learned through the years), but there is no enthusiasm to explore this in the studio where I work. It is only interested in what it already does and continues to ply the same trade routes year in and year out.

When learning is limited to the scope of your established career, –a.k.a boredom — ‘career advancement’ stops.

What started out as a hobby became a profession. It was satisfying as long as you were improving, and learning new things. But 15 years down, it’s become more about evading egos and enduring the squabbles for the Almighty Dollar.

Then there are yearly reviews which tell you that if you only did this or that you’d be worth a lot more.