The end of software piracy

I think ultimately that deep down, we all naturally share everything with everyone. I mean, really deep down. Sharing is our natural state. Sharing is love. Sharing *joins us together*. When we share, everything belongs to everyone and nobody is trying to corner-off a piece of the whole to claim for their exclusive access. Sharing produces peace.

As soon as someone claims to `own` part of everything, we all start competing and fighting with each other about who has possession of what. Like little kids we say `It’s mine, you can’t have it`. And yet, originally, the birthright of everyone is that everything belongs to everyone. So by saying someone can’t have a part of it is like saying they’re not allowed to have their natural inheritance. It’s like taking it away from them, stealing from them what is naturally theirs – everyone’s.

After this act of stealing, hoarding, isolating, separating, owning, possessing, greed and attachment, we then like to say `I am entitled to this`, for a whole bunch of *made up* reasons. No matter how well explained or justified those reasons are, they all attempt to justify the rightfulness or deservedness of the original act of stealing away a part of everyone’s shared ownership.

So we put together a game or product and we think we are its `source`, since the ideas that we experienced that resulted in its construction, and the work we put in to make it manifest, somehow is used as justification for why we own it. Then we even set up legal systems to tell us why this ownership is true and just, and why anyone going against this system is in error.

Essentially the system of exclusive ownership is a way to support business enterprise and people benefiting exclusively from each other. The only way to benefit exclusively is to take something away from someone else, by claiming you are its sole author, or that the work you put into it was not on behalf of others. The act of excluding others from some aspect of what you created ensures your identification with it as `your own`, deserving all rights to its use. This selfish act is a self-service to make ourselves famous, rich and successful, or rather, more famous rich and successful than others.

So we claim these rights as our own as if they are sacred, and we write important documents that enshrine these beliefs, and we use them to find each other wrong. And along comes this `pirate` who, in some way, believes that there is an element of sharing which has been denied them by the software author. Somehow the author’s act of exclusion has shut them out, cut them off from access, denied them and rejected them. They might well use this as justification for why they would seek to `liberate` the software from the clutches of the evil author, and make its freedom more widely acknowledged.

Indeed the pirates themselves may be unjustified in using the selfishness of the authors as reason to free the product from its imprisonment. After all, just because the authors have stolen from all of us by claiming ownership it doesn’t mean we are justified in stealing in return. But somewhere deep down, perhaps we can admit that none of this could have happened if, in the first place, the software author didn’t steal from everyone else. They stole when they claimed their creation as their exclusive possession. They stole when they isolated themselves and their product from access by others. They stole when they tried to use legal leverage to justify why others are not allowed freedom of access. And then they complained as to unfairness of being similarly `stolen from` by those who want to exercise their birthright to share freely.

We can’t just keep saying that pirates are bad and the authors of software are holier than thou. We like to make pirates out to be doing something wrong and bad, within an established manmade artificial framework of `social justice`, just so that we can justify our position as wanting to claim ownership and so that we can deflect everyone from looking at that. Because if we took a long hard look at the act of theft that the software author is perpetrating, stealing freedom from their brothers, it would make us have to rethink the secret sin that we’ve all been trying to cover up.

Sometimes this goes to such extremes that it turns into what we call capitalism. Every man for himself. Everyone separate. No sharing allowed. We have companies claiming exclusive ownership over ideas which are freely arrived upon by multiple individuals across the planet. We have companies filing patents for ridiculously small `inventions`, not because it’s right but because it allows them to gain an advantage over others. And this advantage is heralded and worshipped in modern society as normal and acceptable.

Dare you go up against one of these giants with their mighty hammers of justified ownership, and you’ll find yourself in prison. How did that happen? How is it that in any effort to establish freedom, sharing, and co-ownership, there is a system in place to not only keep those items enprisoned, but to then keep and extend that doctrine of imprisonment such that it now places us in a prison as well? And all in the name of self-promoting selfish competitive stealing, a stealing of freedom and true justice. True justice is that we are all equally responsible and we are all equally entitled to access everything, with absolutely no interruption to that policy for any fabricated reason, or to benefit any individual or group.

But we live in a world of pirates. Who is the real pirate here? Would individuals need to steal something back if what was originally their own was not taken from them? Would there be such a thing as a pirate, trying to reclaim their share, if it wasn’t for the real software pirates – the authors of software, stealing freedoms from us all in the first place? We can’t have a policy or belief system based on claiming exclusive ownership and at the same time expect our natural tendency to share to simply disappear. You cannot remove that tendency, you can only cover it up with lies about how entitled we are to individually gain at the expense of others. And when it comes down to it, that’s all that `business` is – a profiting from others.

We will continue to have these debates and these problems, and we’ll continue to have `pirates` out there trying to gain access to what they believe is their `right`, and we’ll continue to have their opponents – the original thieves of shared property – complaining about how such individuals are the scum of the earth and must be punished. By why don’t authors get punished for their efforts to make themselves special, separate, different, entitled and justified?

We will continue to have all of this until we all, equally, agree that to share everything with everyone, as that is the only just answer. That means that when we create our games, we don’t do so in an attitude of becoming better than others, or more renowned, or more worshipped, or more idolized, or more wealthy, or more important, or more entitled to legal protections, or more in possession of what has been created through us.

To undo this belief system requires a willingness to look at oneself honestly and openly to discover that the only thing that is truly important is our shared existence as a single unified community. To create for and with that community then becomes a service and an act of sharing, rather than an attempt to fragment. Because ultimately all of these pirating behaviors, on both sides of the coin, simply seek to fragment us all and keep us apart, when sharing is really what we all need.

So before we keep hitting pirates over the head, let’s take a closer look at exactly what is going on here in this crazy world, and lets re-examine our values and beliefs, because that is the origin of all our conflicts.

Creativity in Games and User-Generated Content

Creativity comes from within – within who you really are, which is typically hidden beneath layers of who you are not, which is not real.

The original definition of `a creator` is really a definition of God, which for pretty much everyone is going to be heavily flavored by personal beliefs. What I present here as a definition of creativity may conflict with your idea of Reality or your belief system, whatever that may comprise. So please keep an open mind and bare with me as I try to explain this.

Creation is infinite. Infinite does not mean `contains all finite possibilities`. Infinity is not a sum of finite parts, or a total of all finite possibilities. Infinity is actually a state of pervasive equality and sameness, not difference, where a single pure state of being pervades equally everywhere, always. Within the infinite are all the qualities of `The Creator`, ie God. Those qualities include wholeness, oneness, omnipresence, unity, limitlessness, knowing, eternity, timelessness, spacelessness, and also other ways of describing qualities of God such as life, love and peace.

As far as the Infinite Creator is concerned, there is no separation between Creator and Creation. There is no time delay, or space, or any other form of separation identifying creation as separate from creator. Some people call this Heaven. This kind of a `place` is Real Reality, where we as One are God’s creation, wholly unified and at One with `Him`. Such a place is NOT the physical universe. The universe is a made up insane fantasy dream of impossibilities and separations, which we are dreaming, not God, that has nothing to do with the infinite. It also therefore has nothing truly to do with creation or creativity. A quick quote from A Course in Miracles: “Nothing real can be threatened, nothing unreal exists, and therein lies the peace of God.” To God, the physical world does not exist other than in OUR mental delusion.

Still with me? I am a crackpot yet? Let’s continue.

What we call creativity in the physical world, typically revolves around taking things which `are already created` and rearranging them into seemingly new combinations. It can also mean taking things which symbolize creation and helping/influencing them to grow or evolve. This world of dreams that we live in is a world of symbols, and there are symbols of limited ideas of creation all around us. None of these symbols are as pure in their creation as is the Infinite.

These symbols are but the `end results` of creation, because in this physical world all creations are separated from their creator. In this world we appear to live within a ‘creation`, not a creator (ie separate from God). Here, creator and created are separated by time and space, and what seems created has separated itself from its creator. This is true of everything in this make-believe universe, be it human babies, plants, animals or projects. Even the tiniest cells divide in order to `create more`. Reproduction itself, as symbol of creation, is an act of separation.

Separation and creativity are complete opposites.

The ability to create means the ability to extend one’s own Self, producing more of Itself, in its *exact* likeness, with no loss of Self either in Oneself or the extended self. Creating is a process of extending the creator. That which the creator creates, must itself be just as creative as its creator, and just as able to create as its creator. (This implies that as `God’s One Son` we are just like God in our creative potential, although we did not create God.)

A creation must also bestow upon its own creations the same level of `the potential to create` as itself. In this way, the ability to create continues to extend infinitely, without change, without diminishing, without loss and without separation. If at any point the ability to create is removed from a creation, or it is made different to its creator, that is the point at which the extension of creation ends and turns into an `effect of creation`. That’s where creator and created are no longer One. That’s when the creation no longer has the potential to extend itself, or to pass on as much ability to birth new creators as itself.

What we see as the physical world is the end result, or effect of, a creative process which reached a point of separation and limitation. Thus we see all around us forms which differ from each other. Those very differences are evidence of the fact that whoever created all this did not instill in its creation the image of itself, ie the ability to also be a creator. We see `the created` all around us, but severely limited in its ability to create.

And so when we humans start to `get creative`, there is a limited scope as to what we can achieve. All we can do is work with pre-existing limited forms, trying to change their form as a substitute for true creativity. We can take an object and combine it with some other object and maybe we can even alter it at a very low chemical level to seemingly transform it into other objects. We can try to push back the envelope of how much these forms can be changed, and into what, but we can never get to the point where we can really alchemically say that we can turn anything into anything. Just by virtue of being `in` a creation, separated from our creator, we are already severely handicapped in our ability to extend creation. Although we may create physical babies which loosely resemble us, we cannot create perfect clones of ourselves on every level of mind body and spirit – at least, not until we reawaken from this dream world.

What we can learn from all this is that we can at least use our knowledge about the metaphysics of infinite creation to inspire our limited creative outlets. We can create games, environments and shared experiences which in as many ways as possible symbolize the characteristics of True Creation.

Now let’s shift a little to talking about how this applies to game creation.

If I were a typical game developer (and of course this doesn’t apply to everyone), I probably would try to create a game which is filled with end results, solidified ideas, final designs, limited capabilities, confined environments, premeditated events, predetermined preferences, and the expectation that by doing this we will be worshipped. I believe this is founded on the workings of the ego.

As an ego, we like to separate. The ego is made of separation. The ego is not creative, and is in fact destructive, for all forms of destruction are forms of separation, and separation is the end of creation. As an ego-developer, we try to use our impressive `skills and abilities` to come up with something on behalf of others which we think they will buy. To buy something really means to `buy into` something, to accept it, to believe it is truth, to believe in it, to make it real and to think it has merit or meaning. It has nothing to do with purchasing. Getting an audience to buy into something is all the ego wants to do, to make its fantasy about itself real, and to make itself real, which is impossible.

Ego developers set about an impressive design of a game which they believe is what the end-user wants. Whether this is based on informed decisions or surveyed information or guesswork or education, it’s still the same. When we try to create games `for` other people what we’re doing is trying to do something for them that we believe they cannot or won’t do for themselves. We are providing a service. We think we will create the amazing marvel that they’ve always wanted. We’ll do it `for` them, on their behalf, to save them. And we hope they will be so convinced and so glad that they will part with cash over it, or make us famous, or tell everyone how great we are, so that our ego can be bolstered by it. All of this is ego-centric, because it all starts out by looking at the end-user as a separate entity. Such developers operate behind a wall of separation where their own self-interests are really their only interest. The more egocentric such developers are, the more out of touch they are with the audience and the worse their games are.

As such developers come out of their ego isolation into the light of creativity, there is a trend toward an increased extension of themselves. The creativity which they allow to flow through them (from The Creator), not originating from themselves but from God, is less hindered and less limited. That means they find joy in allowing the end user to experience aspects of `being creative` as well. Instead of trying to take away all of the end-user’s creative choice, which results in a crappy game you can’t relate to, they focus on putting the end-user in touch with their own creativity. And this is a good thing.

We are beginning to see now a trend toward what people are calling `user generated content`, or `player generated content`. The idea is to make the end-user be the center of the universe. NO! That is NOT what creativity is about. The more ego-centric we make the user be the less life their creations will have. If the end user becomes the center of the universe, the only thing that has happened is that the role of developer has traded places with the role of end-user. Trying to turn the end-user into a developer doesn’t necessarily mean that they will be creative. You can’t just lay the role in their lap and expect them to use it wisely.

So we are now seeing games where user-content is highly encouraged but typically it is for the purpose of stroking the user’s ego. In other words, the ego’s of the game’s developers have been put aside just enough to let other people create for themselves (rather than `for them`), but enough ego is retained to confine the end-user to still being an extension of the ego, rather than a creator. Basically what it comes down to is that the amount of `creativeness` the game’s developer *shares* with the end-user, determines the amount of creativeness the end user will share with others – for the benefit of others and not themselves. It’s not about just taking the developer’s ego and displacing it into the end-user. The important thing to remember is it’s not just about sharing content, ie creations, it’s about sharing the ability to create – sharing in the creative process.

A poor example of a user-created game system is where you simply give the user some programmer-like tools and say here, go and modify it. We have to remember that many people, although capable of being creative, are not necessarily capable as skilled technicians. The ability to create is natural and intuitive, whereas the ability to write complicated scripts or manipulate complex interfaces is something they’ll have to learn. Also some/many people have blocks to creative flow and therefore it is important that the creative system not only encourage their creativity but also help them to be creative. They need to be able to express themselves simply and easily to achieve results which might take a programmer years, in a matter of minutes or even seconds. This of course calls for high-level functionality in-game. Some games really drop the ball on this by just throwing the end user in at the deep end – treating them like a traditional egocentric software developer.

It’s not about making the user into a developer, or `getting them` to do work for YOU that you otherwise would have been doing for them. Creative games should not be about role reversals between developer and end-user, or about one person doing work for another person which they will later be separated from. The key is that everyone involved can share equally in all creations and all creative possibilities.

Where some games also fall short is that they give the end-user the ability to create whatever objects/spaces/cities/characters they like. This isn’t necessarily being creative. It’s just a matter of giving the user lots of premeditated stuff to reorganize and rearrange into combinations they like, kind of a post-processing. And without good high-level tools and easy interfaces, most users will end up creating junk. Just look at the millions of user-created images floating on the net, scribbled in some graphics software with terrible composition and poor color and horrible design skills. Sure there are works of art out there, but a lot of people don’t have the skills to use the tools effectively. Being creative is not about being skilled. Everything a person needs to be creative is already inside of them, since what is inside of them is extended when they create. They don’t need external influences to achieve creation, so if they have to go via such interfaces they must limit or interfere as little as possible.

A good user-generated content game makes creativity BE the game. The user should be playing with being creative. They should create by manifesting new `things` in the game and once those things are created the user should have feedback as to their effects. With each creation there is a change to the environment, and that means the rules are now different. With different rules comes different challenges and different grounds upon which to make future creations. This shifting of circumstances, coupled with unique adaptive challenges and the use of creativity to achieve goals, produces gameplay.

The key to allowing the user to be creative is to allow them freedom. Denial of freedom is denial of creation, since it puts a stop to the extension of creativity. You could say that putting a stop to creativity is a choice for death. The life of a game dies at the places where creativity is blocked and meets separation. It’s all very well preconceiving or predesigning everything but turning creative processes into solidified forms which block creativity simple ensures the game is limited. Such games are limited in creativity, limited in freedom, and they are `closed`. Life is creativity. The life of a game is the ability of the game to extend creation, to keep the creativity going, to keep perpetuating itself, because the game IS the creativity. A game isn’t just a bunch of end results, or products, or decided-upon solutions. For it to have a life it must encourage life, encourage creativity, and encourage its own extension.

Freedom = Creativity. Giving the user more freedom usually gives them more opportunity to be creative. A clean slate is great for someone who is very creative and talented at doing so, but for some people a clean slate is like being in a desert with no idea what to do. For those who need guidance, it should be provided, so as to help them to discover their creative abilities.

Sharing = Creativity. Allowing people to share equally encourages creativity. Creativity can only be extended by openness to sharing. Sharing alone is not a solution – you can’t just make a game `social` and think that you’ve made it creative. The social sharing aspect is only there to facilitate openess, freedom and the exchange of creativity. Yet sharing without creativity is like having an open door with nothing to pass through it.

In many games there is a theme of making the game simple to begin with but hard to master. The idea here is that only while the illusion of problems remain does the game remain. In other words, the life of the game is associated with the illusion of there being challenges which must still be overcome. The usual way to implement this in a game is to make mastery of the game difficult. Making it difficult to master is partly tied into the suggestion that the game will be dull and boring if it is always the same. Without seeming challenges to make you become even more skilled and even more determined, the sense of excitement supposedly will wane and disappear. But is this what’s really happening?

Perhaps what’s really happening is that the game does not facilitate creativity enough, and that the game’s life is not based on creativity but on the illusion of life. The game may comprise only a limited amount of content, material, places to explore, or characters to meet. These limitations put a block to the game’s life and thus the game has to compensate for it by `adding something` that makes the user stay interested – like more difficult problems. But let’s stop for a minute and ask what would happen if the game focussed on getting the user to be as creative as possible, all of the time, such that they do not get bored, and such that there is no need to make the game itself have an end? Why does the game have to slowly ramp up the madness with ever more complex and difficult attack waves? Sometimes these efforts to illicit user-interest are only there to cover up the game’s lack of natural joy.

Creativity brings joy, naturally, by virtue of the fact that through openness, freedom and the ability to create, you can *flow*. When there is a flow of creativity, there is an extension of light, and this is experienced as inner joy. Joy and happiness are the same. What if a game is simply enjoyable all of the time, no matter how many times you play it, no matter how many times you’ve played it already, simply because each time you come to the game you have so much fun being creative? And what if the game is always simple and easy, yet very creative?

Creativity is naturally endless!

There is no limit to how many creative ideas and possibilities a person can come up with when they are in a creative flow. It is the endlessness of their creative flow that provides all of the interest and joy that a person needs. It comes from within, not from the game. It flows outward, extending to others and sharing in the joy with them, not in isolation. It is only when the game itself shuts down their joy that the game itself brings about its own end.

Creative games are alive. Uncreative games are not. Games that facilitate openness, freedom, sharing and creative potential, last longer than those which offer only a novelty appeal. There is no way to make an uncreative game last a long time. So hopefully, if we focus on creating games that truly encourage creative inspiration, improvisation, spontaneous quickness and joy, those games should naturally enjoy a long and healthy life.

Web 1.0 = Developer-centric games
Web 2.0 = User-centric games (user is the developer)
Web 3.0 = User-centric creative shared games (user shares their user-centric creations)
Web 4.0 = Decentralized games (everyone helps everyone else to share in being creative)

:-)

Earth games

I still remember the day when I first `clapped eyes on` a little shareware game on the Amiga called Scorched Tanks. I was over at a friend’s house and he had recently downloaded the demo version to his Amiga. I hadn’t really seen this kind of a game before, other than Gorilla on the IBM Pc which was much more primitive. And I loved it. I think I loved it mainly because it focussed on manipulating an earthly landscape, and being the kind of down-to-earth fellow that I am, it was right up my alley.

That was the start of a long-lasting fondness for what typically are thought of as `artillery games`. Later in my Amiga years I created a graphics library for Blitz Basic called Mildred, which replaced it’s hardware-blitter-based rendering with the CPU and `fast ram`. The main drive behind its creation was to put together the functionality I would need to create my own Scorched Tanks type of game. Although other people eventually got more out of the library than I did, I did start to put a game together, but didn’t get much further than a fast scroll system for a large landscape. That was probably 10-15 years ago.

Having ditched the Amiga to immigrate to the USA in 2000, this style of game has still held a soft spot in my memory and an excited spot in my ideas about the future. Sometimes I pick up this concept again and steer my development towards its eventuality, and then sometimes I drop it again. But right now I am in a `pick it up` phase again. So for right now that means I’m working on a deformable landscape game.

It may or may not end up being a turn-based game. It might be more of a realtime action game more along the lines of a platform game, with some fun characters and live network play. We’ll see how that goes. Right now I am scheming and plotting the ideal way to handle really big landscapes with full pixel precision. That means every single pixel in the entire pervasive game world needs to act as though it has consistent ongoing physics all the time. The cpu power to do that is just not there even on a high end desktop computer. So this calls for a lot of optimizations and techniques to accomplish the magic without the expense.

Who knows where this will lead, but for now it’s reigniting the passion. And it doesn’t hurt to play a few games of Atomic Tanks, Pocket Tanks along the way – or maybe to pull out the old Amiga emulator for a few games of those classics: Worms and Scorched Tanks ;-)

Going up in the world

Recently I have been focussing on how to put together `higher level` objects made from multiple curves and straight lines. An `object` in this sense is, for example, a solid filled irregular shape which might require a few or even many curves, straight lines, corners etc to complete it. The idea is to be able to build such objects with commands that `add a curve`, `add a point`, etc. When the shape is finally closed then it is ready for rendering. I’ve got most of the code done to make this happen.

The flow of object construction sort of goes like:

a) Create a bunch of control points which either will define curves or individual polygon vertices
b) Join then all together sequentially in a bunch of arrays ready for conversion to vertices
c) Pass the arrays to a system of `generators` which take the control data and turn it into vertices/triangles
d) Pass the vertex data to OpenGL for rendering.

Eventually this might be optimized, like a single function call that creates objects and tessellates and renders them with texturing and gradients all in one step. It could optimize the speed.

Another thing I’m working towards is filled gradients and texturing. I haven’t written any code on the gradients yet but I have some stuff for textures that is partially done. The idea with gradients is that you either are generating them in realtime as a triangle mesh with vertex colors, or you are doing that at some point and saving it to a texture ready for later texturing. Somewhere along the line there should be gradient and texture warping ie where you can drag around `vertices` within the gradient mesh to shape it how you want it. Of course there’ll be the usual standard gradients – linear, radial, spherical etc. I still have to think about how to translate a realtime gradient mesh into the vertex colors of a bezier shape – it will require some interpolation.

As far as texturing is concerned, it’s going to work much the same as the gradients – either applying a single texture across a shape, or making it out of a mesh, or even my `SuperTexture` which is a collage of multiple textures. Getting that to map to the vertices of a bezier shape is also going to be tricky, especially to deal with how the bezier moves and deforms, and especially if I do anything in 3D. Being able to manipulate vertices of a mesh which don’t map to vertices of a vector shape is the hard part. The first step is just to get a single texture mapped to a curved shape, which should be straightforward.

Gradually I’m working toward a simple editor where I can add tools to manipulate and generate shapes, apply textures, edit gradients and add other effects, so that I can actually start to use it toward a game. I am still aiming for a small game to be released this Christmas, but I am not sure there is time – only about 3 months to go!

Movin’

Hey folks.

Okay so it’s been a little while since the previous bloggage and there’s a good reason for that. We just moved to a new apartment. It was a lot of hard working moving boxes and furniture and getting it all unpacked, but we’re almost done. So I hope to be writing something more useful here in the coming weeks.

I am still working on a library of routines for filled vector-graphics. I have the bezier calculation stuff sorted out, and a working prototype of filled realtime curved objects, complete with really nice antialiasing. The part where I left off a week or so ago was in creating additional library functions to handle more complex/compound objects, and starting to look at things like constructive solid geometry operations. I’m pretty happy with the speed of it all and am confident that a visually impressive game can be created with animated filled shapes, on pretty average graphics hardware.

An introduction to Bezier Curves

I just added a new article, an introduction to bezier curves, which you can read here. It covers some theory about bezier curves, how to calculate them, an algorithm and some useful sourcecode.

I wrote this as part of a first publication at a new Blitz magazine website, blitzmaxcoder.com – which is currently going through a birthing process. I thought it would be a good idea to share it with the world here as well.

Of course, this means that I had to add a new section to the site – Articles – just click on the tab above :-)

More on Splines

Since my previous post, I discovered, partly to my delight and partly in disappointment that once again I was not the first to do something original. A subdivision method for bezier calculation has already been well documented. It’s call the De Casteljau’s algorithm. This Castle-head guy apparently was the first to discover (and publish ;-P) the idea of finding locations along a cubic bezier curve by simple division of the sides of the curve, and subsequent division of lines drawn between those points, until arriving finally at a point on the curve. It’s a simple and fast method and in addition you can very easily compute the line segments of a curve `in order` rather than recursively, by simply dividing or multiplying the line lengths by some other value consistently.

There is a pleasant and fairly straightforward description of the method at this GamaSutra page (page 2 of an article).

Also on my journey I found this rather nice document which overviews pretty much all types of splines and their features – there are a few more esoteric ones missing, of course, but it talks clearly and understandably most of the way through, covering beziers and b-splines and NURBS and hermite splines and catmull rom and natural splines etc, all good stuff.

Now, I will still use a subdivision kind of system in order to add local alterations to cubic beziers, plus the other features that let it emulate other spline types with bias/tension etc, as mentioned in my previous post. But I’m also reading about b-splines using bezier curves and `weights` for control points, or `knots` – all fancy spline terminology. So I have wondered to myself if, by way of some simple scale factors applied to the lengths of the lines between the control points, if I could simply add a `weight` to each point. That said, this might be exactly the same effect as adding bias or tension. Something I’ll experiment with.

So with that decided, I’ve been looking into how to turn cubic bezier curves into the kind of triangles that computer graphics hardware can draw – remember at the moment that most hardware can’t draw curves (although newer hardware is getting there with geometry shaders and tesselator shaders etc). So we have to turn our nice curves into triangles. How to do that? And fast?

Well, in addition to the links added to the end of my last post, I also found a technique originally mentioned in the OpenGL Red Book, I think it was around Chapter 14, here: Drawing Filled, Concave Polygons Using the Stencil Buffer – you’ll have to scroll down to the section. Basically, you use the stencil buffer to create an image of the overlapping areas of a triangle fan, which you draw starting at the first control point of your bezier, and visiting every other point along the curve as desired. It does quite a bit of `overdraw`, but coupled with an inverting stencil mode it ends up with an image of just the inside of the closed shape (ie your last control point joined to the first, with a straight line or otherwise). Then there is an optional antialiasing pass by drawing antialiased lines where the stencil is absent. And finally you can just draw a quad over the area, only where the stencil shows points, to fill it. It’s realtime, and doesn’t require any sofware tesselation other than calculating points along the bezier. Pretty fast too, hopefully. This will be the basis for my `realtime` beziers.

The technique is also mentioned here.

Then I will further look into precalculated shapes based on simple meshes. So this is what I am working on programming now.

The case for Vector Graphics

We’re almost into July, which means there are now less than 6 months until Christmas. I’ve been thinking about doing a `christmas game`, based on a kind of puzzle game that I haven’t seen before – inspired by an old Mac classic. I have been researching my competition – there are certainly some christmas themed games out there, although most of them are really just regular games with a few extra christmas-themed graphics thrown in to `christmas-ize` them. The famed `christmas edition`.

I think there could be a good opportunity here for a dedicated christmas-themed game, which really focusses on christmas rather than just some other game rehashed. Also I figure that this short-range timeframe will help me to focus, to put together an initial game framework, and then I can later release another regular game based on the same engine – to `un-christmas-ize` it and turn it into something more suited to the mainstream markets.

So I figure, hey, if I want to get a game out the door for this Christmas’s shopping season, which really means *before November*, then I have about 4 months to put together a game. Obviously I’m not starting from scratch, having already done some useful coding, but there is still much to do to make it a game, and especially all of the graphics.

I was thinking to myself how I would practically pull this off. Since I am doing everything myself, the idea of hand-drawing lots of graphics is not very practical. If I would have to sit and click to draw every little pixel by hand, even at a low 640×480 reslution, that would certainly take a long time.

Then I thought about how my engine so far supports full resolution independence. What that means is it doesn’t matter what screen resolution you choose, the graphics will keep their proportions and can support widescreen or normal screen shapes. To go along with that, you’d ideally either have to hand-craft pixel-perfect graphics for each individual resolution separately, or find a way to `generate` them or scale them in the game.

First of all, the idea of scaling graphics means that, to maintain quality, you have to start with a high resolution image. You can scale it down and still have it look good, whereas scaling it up is really a cop-out and would really invalidate the whole point of being able to run at a high resolution. Unfortunately there is not much you can do to avoid having to scale the graphics somewhere along the line. If you’re going to use any kind of pre-rendered texture at all, or anything hand-drawn, then you’ve got to deal with scaling, or multiple versions of the same image. The multiple versions route doesn’t sound appealing – there are a lot of resolutions out there!

So then we come down to the idea of generating the correct graphics in-game. Instead of drawing everything beforehand and locking it in to a given resolution, let’s have the game re-draw the graphics in the game. That could mean that the game goes and draws a bunch of stuff at a specific resolution and turns it into a fixed-resolution texture – ie matching the current resolution and recalculating it if the resolution changes, or actually redrawing all graphics in realtime on the fly.

Both of these are possibilities, although the latter would require rather more computational power. More likely the regeneration of graphics would have to be done in the background, running on another thread while the user is busy interacting with the game presentation. However, on-the-fly regeneration of graphics would mean you can scale in realtime with pixel-perfect precision and no quality loss/rasterization issues.

So at the very least I am now looking to create an in-game vector-graphics-based image generator. Whether I then use this to generate a resolution-specific version of the graphics in the background, or on the fly as the game screen is built, will be a future decision. What this means is none of the graphics will be pre-drawn outside of the game, except for general-purpose textures. It’s kind of like bringing a vector-graphics editor into the game itself – making the graphics generation a runtime process rather than a develoment-time process.

The great thing about vector graphics is that they are based on mathematical representations of object shapes. Instead of hand-pixelling individual pixels, which you could still do with vector graphics, you instead define shapes like ellipses, rectangles, filled curves, etc and set up a way for them to be filled with gradients and/or textures, plus transparency and blending effects.

Then when it comes time to render the vector graphics, whatever the current screen resolution is, every single pixel in the screen will get it’s own accurate representation of the object. If you were to go high definition 1920×1200 or more, or really low 640×480, you’d still see the same in-proportion shapes and represented with as much precision as possible. Beyond that it may even be possible to also render the vector graphics at a scaled-up size, and then scale it down with filtering to produce anti-aliased images.

What I propose is to build a library of textures – sort of general purpose `materials`, ie like gold, chrome, brushed metal, whatever. Then these would be used to texture the vector objects. The nice thing about vector objects is that the *edges* of shapes remain crisp and accurate, with no blockiness, regardless of how the shapes are filled.

The filling of shapes is a bit of a problem because you have a few technical challenges. Textures still remain bitmap images which really need to be high-resolution in order to scale down well. Also you have the option of gradients which could be precalculated texture images, or somehow calculated in realtime – not sure how I’d do that other than with the CPU with bitmaps. Then you also have vertex colors – if you turn a vector shape into OpenGL geometry, ie triangle trips, then the intersection of each triangle can have different tinting at its corners. Options to think about.

I think that by using in-game-generated vector objects I will be able to a) create decent-looking graphics quickly, b) solve the issue of resolution independence and high-res displays, c) be able to modify parts of the graphics easily, d) alter their appearance on-the-fly in-game e.g. changing to other color schemes, adjusting their size, animating individual parts, etc. If I really need to I can either create a hand-drawn texture, or build a high-detail vector object. When you think about it, if you create an image out of lots of tiny vector-squares you basically have the same thing as an `image` :-)

I will be creating my own OpenGL-based vectorgraphics system. This means that all my games will be OpenGL-only. Is this a wise decision for casual games? I’m not sure. I think it is fine for Mac and Linux, but Windows is a little less reliable. Still, support is always getting better over time. Without being able to create my own GL code, I wouldn’t be able to do vectorgraphics at all utilizing the GPU or in realtime – it’d all have to be done by the CPU, slower and less flexible.

No vector system would be complete without some kind of curves. Some people call them splines. A vector curve is usually based on some mathematics, such as the bezier curve. There are a few different kind of curves and they have different qualities and behaviors. Enjoy playing with some interactive java applets to get a better feel for the different kinds.

One of the simplest is the 3-point bezier curve, also called a quadratic curve, which starts at the first point, is influenced by the second point (but does not pass through it), and ends at the final point. Here is an example:

A quadratic 3-point bezier curve

Then there are cubic splines – more useful in being able to create S-shaped curvs, adjusting the curve with 2 intermediate control points which again are not passed through. It’s also possible to have more control points for a single bezier. Here is an example of a cubic 4-point bezier curve:

A cubic 4-point bezier curve

Beyond beziers are some other interesting splines – see this wikipedia category.

One of interest is the Catmull-Rom Spline, also known as a cubic hermite spline. Who makes up these names? The nice thing about these is that the curved line always passes smoothly through every control point, so it makes it very easy for drawing `paths` to follow. Objects could move along a path and be sure to always visit every control point, smoothly easing into and out of each point with no sudden corners. This is what they look like:

Different kinds of splines can be useful for different purposes – sometimes you want to visit all control points smoothly, sometimes you don’t, e.g. to represent shapes with both curves and corners. There is also some technical lingo regarding splines such as continuity and order and knots and stuff, but we won’t get into that.

There are also other splines such as the snazzy NURBS (Non-Uniform Rational B-Splines), which have a lot of controllable features for subtle curve generation. OpenGL actually provides a NURBS system to turn NURBS objects into geometry, but I am not going to be using it. NURBS are, however, considered by many to be the nicest to use for things like engineering and higher-end graphic design, 3d modelling etc.

There are other kinds of splines, such as the B-Spline, where multiple control points can be specified which influence the curve but the curve doesn’t go through it. I’ve seen them used in high-end graphics applications like raytracing. For some reason I don’t really like these so much, maybe because, like the NURBS, they are quite complex and I don’t understand the math!

That said, I don’t really understand any of the math for any of the splines, but bezier splines are pretty easy to grasp in terms of source-code. You can get a spline to draw with only a few of lines of code.

So……. I had a play around with cubic bezier splines. They are quite simple to do and easy to adjust. The only issue with them is that usually the curve starts off aligned to the line from the first to the second points, which may not flow into the curve from the previous bezier section. So you get sharp angles inbetween bezier curves. This in some cases is nice to have, but sometimes not. It would be nice to have the seamless continuous splines like the Catmull-Rom.

After some fiddling around I wrote a sort of `wrapper` around cubic beziers which allows me to join two beziers together. The start/end point which they share then forces a straight line from the previous spline’s 3′rd point, through the joined point, to the second splines 2nd point. This produces a continuous curve.

I then looked at some other fancy splines – such as the Kochanek-Bartels Spline. While I do not understand any of the math involved, these splines are quite nice in that they have a `tension` and a `bias` which can be defined for each curve section. Tension is like the ability to pull the curve `tight` between two points, so that it becomes straighter. Bias sort of makes the curve bulge/magnetize towards a given point, sort of like a sharpening/pinching of the curve. I have no clue how to do this.

However, I did come up with an emulation of this which I am very happy with. If they have not been done before, I will call them Subdivision Cubic Beziers. Basically, you start with a normal cubic bezier curve. This has four points. The first and second points form a straight line which may, or may not, be an extension of the line from the previous curve’s 3rd and 4th points. Or in other words, if you want to you can make the curve `continuous`, or have a sharper angle between curves.

Then I noticed that if I draw lines from halfway between the first and second points, across to halfway between the second and third points, and similar from there to halfway between the 3rd and 4th points. .. .. and then divide *those* lines in half and draw a line between them, and then find the middle of THAT line, that exact point will be the exact middle of the bezier curve. The curve always passes through that point under normal circumstances.

* Please note that while I came up with this by myself, as you can see from the cubic bezier curve image above (which someone else created) someone else also thought of/knew about this too. *

What I then realized is that by drawing lines between points, I created basically a sub-bezier – splitting the cubic bezier into two cubic beziers. What I’ve basically done is convert one cubic bezier into two cubic beziers which have exactly the same shape together as the original. You could call that subdivision. I then realized that now I have more control points, and if I move those control points I can shift the curve around.

Moving the mid-point along the line between the 1st and 2nd points attracts the curve towards the first point, or bulges it out way from that point. You could call this `bias`. I can adjust that new control point to adjust the bias of the curve – and you get two bias controls per curve. In addition, the angle formed by two curves next to each other, basically represents a `tension`, ie the change from a continuous smooth curve to a sharp angle. It’s possible to connect the bias from one curve to that at the end of another, so that you can `shift` the bias from one curve over to the other.

All together these subdivided cubic beziers give you full emulation of Catmull-Rom splines, plus emulation of Kochanek-Bartels splines. All using ordinary cubic bezier curves. And the nice thing is, you can actually calculate and draw cubic beziers using subdivision in the same way – just keep on subdividing until you get to a small enough resolution to draw short straight lines (or to turn it into geometry). You can thus produce these cubic subdivision splines just by subdividing the distances between points, recursively, rather than moving along the curve in steps.

Playing around with this, I came up with a little play-editor, as seen in the image below.

A simple spline editor

It’s not very advanced yet, but I put in some simple keyboard controls to implement some basic manipulation of all of the features of the curves. If you look at the image carefully, the blue lines join the major 4 control points of the original cubic bezier, and then the orange lines show where these have been deconstructed into subdivision curves.

I plan to use these for my game – they give me a lot of control over the curvature and capability to easily create subtle curves which are not so easy when trying to do it with regular beziers. Also it has the possibility that if you want to tweak a section of the curve, you can further subdivide the bezier giving you extra control points – initially exactly copying the shape of the original curve, but letting you then apply additional `local` bias and tension to a section of the curve. The interesting thing is that if you then manipulate one of the higher-level (of subdivision) control points, the whole curve adapts dynamically while maintaining the same sub-level adjustements.

I think I will have to make a proper editor, where I can choose some `tools` to edit the curves, color them, fill them with textures or gradients, apply effects etc. I will then be able to create all of the graphics and animations for the game. If there is time, later, I can come back to the simpler graphics and add extra detailing. Vector graphics are also nice in that you can come back and remove features without messing up all of the other `pixels`. In a bitmap this would require extensive re-touching.

My task now, then, is to create the editor, and the graphics routines, to manage and render vector objects using lines, splines, and other geometry.

Note: After writing this post, I found a nice page online which shows in somewhat more formal terms (including math) most of the insights that I arrived at myself about using subdivision of cubic beziers, here: Rendering Beziers. They refer to the subdivision as a `mid-point method`. One nice touch they added is that you can modify the mid-point method to divide distances between points by an amount other than 2, if needing to find an exact point along the curve. They also mention that if you use integer math, or fixed point math, then you can do fast calculations with binary shifts and additions. Something to keep in mind ;-) Here Here is another site explaining it well, also mentioning adaptive spacing of line segments to compensate for sharpness of corners.

Casual games = games for women

What’s all this casual gaming about?

To some it boils down to the differences in men and women. There is no denying that more than half of casual gamers are female, maybe more than 2/3 or even as much as 3/4. So do casual games tell us what women are like?

A good series of books on the differences between men and women are the `Men are from Mars, Women are from Venus` books. I learned quite a bit from these about how we differ in our needs, our perceptions, our way of behaving, our emotional style, etc.

I’m generalizing here, but one major point I learned from the books is that women have a much longer, gradual, smooth and stable emotional life. They don’t just suddenly decide to do something and then do it on the spot. They build up to things, and only when they’ve built up to something and reached the peak of that buildup, only then do they start to actually do the thing they were building up to, and they don’t just suddenly launch into it, they gradually ease into it. And they don’t just change to something else once they’ve done that thing, they gradually ease out of it.

A woman might be talking in such a way that men might think means they’ve completely moved on from something, when in actual fact it is just one step along the road. Women might sound like they are apologizing only to still continue to tell you the ways you did something wrong afterwards – because they really haven’t finished moving through the emotions yet. They take longer and their responses along the way come in spurts, not all at once. And when they finally really have moved on, they *really have moved on*, and are in a different place now, where the past topics are irrelevant. Women can’t stretch to being ready before they are, or to going backwards a significant distance.

Women flow and blend and transition gradually and over longer periods of time. A woman needs time to get ready for things. It’s not so much that there is a need to spend 15 hours getting ready to go out, but that time is needed to get ready emotionally for being at the point where they can let go of what came before and ease into what is to come.

You can’t shock a woman either, with sudden abrupt changes or something unannounced. They are more easily startled. They tend not to be or to like aggression or violence because those things epitomize sudden change. A woman is typically more sensitive to change and experiences small subtleties as if they are big changes, requiring a gradual progression of subtle change in order not to be overwhelmed.

Also because women tend to build up to things, you have to be aware of when they have built up to something and are ready, because if you then delay or hold them back it is just as frustrating for them as trying to push them before they are ready. When they are on the money and it’s time to go go go, it really is time, right now. They can neither stall easily when they are ready, nor speed up to become ready before it is time. Women have an intrinsically enhanced sense of when is the right time, and pretty much anything that men would like tends to be too sudden, insensitive and rejecting.

A man can make a decision to do something on the spot and then do it immediately. For example, I can suddenly decide I am ready to go to bed right now, in the shortest most efficient time possible, simply climb into bed and go to sleep. Now. Not later. Not in 30 minutes. Men do not need time to build up to something. They go immediately and directly right to the subject at hand. While women prefer a gradual, subtle, indirect form of communication, which gradually expresses the full emotional content over time, men cut to the chase.

When a woman says it is time for bed, that means it’s time to start easing into bed, and it could take half an hour or more of gradual rituals and talking and progression – what seem like little distractions, little chores, little things that must be done, such that even when in bed it still isn’t time to sleep yet, and even when seeming to have decided to sleep, that still isn’t the end of it. It just takes time. This isn’t a bad thing at all, it’s just very different to how men are.

With men, efficiency and quickness and action and intensity and suddenness and skill and decisiveness are all important. Whether it be social stereotyping or genetics or evolution or whatever, men and women are just wired differently.

Typical game makets in the past catered largely to younger males needing lots of stimulation and action and utilization of skill. These games are still popular today, but it isn’t just men that games are being targetted at. These kinds of games are not popular with most women. They are too rough, too violent, too competitive, too fickle, too disturbing, too shallow and too unemotional. The female audience is quite a different breed.

So now we have this movement towards what is being called `casual gaming`, although if we really be honest about this, for the most part it really should be just called `games for women`. Yes, there are some parallels between women and `being casual`, but you could both say that a) it’s not just about being casual – it’s about catering for women, and b) it’s not just about catering for women, it’s about being casual.

I think that right now there is still much confusion amongst a predominantly male game-development community, as to what it is that women want and like. I think there are many unfair stereotypes out there, trying to guess at what women would like or what they are into, treating them as a weaker sex or belittling their intelligence. Of course, some people are doing a great job of respecting the other gender, but I think there is still room for improvement.

Let’s look at the ways in which the `casual` analogy maps to how women operate. Due to a woman’s more gradual approach to preparedness, you could say that it would be unwise to create a game for women that requires them to master the game quickly, or that pushes them too fast. This can and has led many to think that we should therefore slow the game progress down, ease off on the pressure, and make the entire game `more relaxed`. But I think this is missing the point.

Women don’t necessarily have to feel relaxed all of the time, it’s just that they take longer to get ready for something, to build up to it. If we just generalize by saying that women’s games must be relaxed and undemanding, we are sort of hitting part of the mark but not knowing why.

Yes a women’s game needs to ease into things and introduce things over time and not require too much difficult skill early on, but that is only because they need that extra time to adjust. Once they have adjusted, you can keep building up the intensity. But this is what many casual games don’t do. They just assume that women would prefer not to be pushed so they never push at all. Making the entire game `more relaxed` and `less involved` and `easy to put down at any time` doesn’t necessarily associate with how women operate.

When a woman is ready to put a game down, she really is ready, having built up to that readiness, and the game should be able to stop right there and then with no questions asked. This is why it is important to be able to pick up and put the game down at any time, not necessarily a short space of time. We know that despite casual games being exitable at any time, many peoply play them for many minutes or even hours at a time. Some surveys have reported an average playing time of between 45 and 90 minutes. So obviously it’s not a matter of the game having to be unvinvolved enough that women can let it go at any time, it’s more a matter of catering for the emotional changes over time.

There are some stereotypes that seem to cater to what women want. That is, that the game should be simple – simple supposedly means a woman can start off slowly, doesn’t have a steep learning curve, and can adjust to it more gradually. Okay, so simple is good to begin with, but does this really mean that *eventually* the game could become complicated and women could still master it just as well as men? Sure, women need to be able to stop playing when they’re ready to move on to something else, but does this have to mean the game has no depth? Or is there not enough time for women to get involved to a depth before they want to do something else?

Another sterotype is that a women’s game should require minimal skill. Women are quire capable of doing things requiring skill. It’s just that perhaps they need more time to complete the skill, so intense vigorous reactions to incoming spaceships is too intense. It’s not so much that women can’t think fast enough, but that they need that extra time emotionally to flow along with what is occuring. They can still perform skills that aren’t so urgent.

I think women are also better than men at multitasking. A man can focus on one thing at a time, whatever is in front of him – that one track mind. He can be right in the action, in the moment, but is not so good at being aware of a bigger picture, or in being able to juggle lots of things at once. I think that women, with their greater range of emotion and awareness of a bigger picture, are better suited to multitasking.

I think this may be why the hidden object games are doing so well – you have to be sort of aware of the whole image at once, able to pull out of the image objects that seem to be hiding, as if searching the whole image in one go. A man would methodically search through all separate parts of the image, trying to cover the ground as efficiently as possible, whereas a woman might be more inclined to subtly sense, intuitively, that *several* object might be in a given area at the same time. Women are great at noticing the subtle. If a hidden object game did not allow you to see the whole image at once, perhaps it would not be so great for women, or if it relied on spacial comparisons which is something men excel at.

There are other types of casual gamers, for sure, I mean, there’s still people who play a quick-to-pickup game in their lunch or break time, games that you can just dive right into and have a quick one, two or three games.

Such *accessibility* provides an open door to make it easier for a game to be a viable choice when there isn’t much time. After all, games are competing for time with many other things in our lives and if you don’t make your game seem playable because `you have to sit down and think about it`, or you can only play it `when you’re in the mood` or `when you’re ready` or `when you’re not so busy`, then those are closed doors to your audience.

So I think overall there is something to be said for the analogy of a game being `casual`, but I also think that a lot of this has to do with how women think and feel and move through life. It’s just not a matter of making a game that some guy would want to play for 15 minutes at lunch, make significant progress, learn lots of skill and come back and restart at the exact same level. Women can’t do that so well. Men can pick up right where they left off because their emotions don’t need to build up to the same level again. For men it’s more a case of `I’m here right now, let’s continue`, whereas for women it’s more like `I need some time to get my bearings and remember where I was`.

I think this is why we tend to try to think that women want a `casual` game, because it sort of closely matches the kind of design choices that are going to have to be made to allow a women to accept a game into her life and have it not step all over her sensitibilities. But it’s not JUST about making the game casual, they should be *casual for a reason*, and that reason is NOT just to `get more people to be able to play it in a shorter space of time without having to get too involved`. Don’t forget about the women!

Perhaps if we create our games to be `like women`, this will suit women better. Perhaps if we stop trying to guess what they would like and actually ask them or learn about them, this would help in our game design. Perhaps then we can better produce games which women actually enjoy and can relate to. A game for a guy is a whole different animal than one for a woman and I think the `casual games industry` is still learning about these differences.

Yes, we need to ease off on the male-style presentation in games. It might be cool and impressive sudden-gratification eye-candy for a guy to see a snazzy game logo burst onto the scene with dazzling graphics and particle showers. But this is going to be out of place for a woman if it was not built up to previously, and also if what comes afterwards is not similar in its style and intensity. Women need some warning, some time to get ready. Focussing on smooth gradual progression, subtle nuances, a blended unified kind of presentation, will help women to feel more comfortable and safe.

I think women’s games also need to be less specific. For a guy it would be appropriate to create some alien spaceship which you have to accurately and skillfully target with your impressive manly weaponry, but for a woman this just doesn’t meet their needs. If less emphasis is placed on individual pieces of the game standing out noticeably, and more emphasis is placed on gradual changes in the combined overall `feel`, with contributions from a variety of parts working together, then women are going to be happier with it.

Remember also that women are not so competitive. Men identify themselves with rigid well-defined boundaries, perceive territorial threats in each other, and avoid displays of emotion between each other lest it conflict with their sense of rigid manly identity. For women it’s different, women connect with each other emotionally and in other forms of communication. They aren’t so afraid of losing a sense of identity if they blend in with others. They see others as more connected to themselves, and therefore not as tightly confined to separate identities.

Women also do not fight so much with each other in the same way that men do. Men would `get it over with` in a few swift punches, whilst women are much more indirect. Another good book to read is `In the company of Women`, which talks about the way that women interact and how they solve problems and how they deal with conflict etc.

Women can be very indirect with each other. They don’t just confront each other or work through disputes face to face. That’s too intense and too immediate. Instead, women resolve issues very indirectly, behind the scenes, talking to other people about it, gaining a sense of support or power from those who agree with her. In its worse forms this leads to backstabbing, and sometimes I’ve seen this become quite nasty.

To a man this all seems silly, when it’s so obviously the lack of direct honest confrontation that would seem to be able to resolve the dispute swiftly, maybe accompanied by some fists. But women just don’t do things that way, and game designers need to be aware of this.

When a woman is not happy about some other person or issue, perhaps they did something wrong in the game, instead of obviously blasting or punishing them for it directly, there needs to be a more indirect side-effect to the event. And it needs to be something that can be worked through *over time*. You can’t just knock them back a significant distance – that’s too much change too quickly.

This is why casual games try to focus on being supposedly `more forgiving`. The real reason why we are trying to be more forgiving is because if we aren’t softer we will push women away. But maybe this is a man’s solution to women, and maybe women can actually deal with repercussions and conflicts but just not all at once. Maybe reducing the impact and the size of the repercussion is merely shrinking it, when we could be `spreading it around` in a way that is still appropriate for the degree of the problem but able to be accepted and worked through at a woman’s pace and in ways she is familiar with.

The structure of a game for women has to be designed around how she would operate in real life. I think game developers, which to be honest are almost entirely male (because this is primarily something that men really are suited to doing), have to become more aware of how women are different and what their needs are and then from that understanding we can look at all the ways that up till now we have just been creating `guy games` without realising it.

With a predominantly male developer community, making games predominantly for men, without really stepping outside of their own gender identity, we have for a long time just assumed that all games have the same kind of features, the same kind of presenatation style, the same attractions that men like, the same focus on skill and action and eye candy, but this is no longer the case. We’ve branched out into the wider audience, the audience that includes women, mainly, and this calls for a thorough re-examination of what we always assumed was `what games are like`.

We also need to stop our blind stereotyping of women through games, whereby we think that throwing a bunch of `cuteness` at them is going to appeal to them. Cuteness might appeal to them but just making everything pink and trying to make the game theme be ultra feminine is not necessarily a mastery of women’s needs.

We also should stop associating all women’s games with games for children. Yes there are some similarities between making things more emotionally appreciative for women, and more caring towards children, but women are not children. Making a game cuter and friendlier and less violent does not necessarily mean that we’re really appreciating a grown woman’s capabilities and preferences. Some children are boys, remember – there are differences between boy games and girl games just as much as between men, women and children in general.

We as men really are being patronizing to women by thinking that they will just love our idea of what they want, which surmounts usually to beauty, fashion, chocolate shops, being social, and not doing anything too complicated. Women are not idiots and there is more to their interests and capabilities than these loose generalizations. Yes, it’s probably a good idea to have a sense of what a woman likes – jewellery, clothes, makeup, bla bla bla, but to just make everything in the game revolve around these cliche’s is more of a `guys idea of what women want` than to understand where they’re really coming from.

Whether we call them casual games or games for women, one thing is for sure and it’s that if we want to be successful in the casual games industry then we need to understand women better and cater to their style. I think it is still early days for this area of the games industry and there is still more to be learnt and explored.

What to do

I recently had a bit of a change of heart about what was going to be my plan. I was planning for a long time how cool it would be to create certain kinds of games, games I’d enjoyed over the years and which I wanted to improve upon. But these indulgences of my own interests does not necessary mean they would be a) good for other people, or b) good for business. But when you start thinking about not doing something that you personally like, you start to feel disappointed and that your heart is not in it. So I had to look at this more closely.

First of all, if you have a big ego and identify yourself strongly with being a separate person from everyone else, whereby you want what YOU want and not what anyone else wants, then it’s going to be harder to succeed. Success can be facilitated by openness, freedom, and sharing. When you are open and sharing, your personal self-serving interests are dissolved, as your sense of self loosens its boundaries, and your interests become joined with those of others. In this space of sharing, there can be a more effortless flow of creativity, and one which meets the needs of everyone involved, including yourself.

There are a couple of old fashioned doctrines that many people adhere to in deciding what to do. On the one hand there is the `I want what I want`, and on the other hand there is the `serve others before yourself`. Both of these are flawed. They are both equally flawed because they are both based on the premise that we are all separate from each other, and it is the *separation* that is the problem.

So if I’m saying that I’m gunna create a great cool game that I really like, based on other games I really like, and I don’t care what anyone else will like cus I’m so revved up about it, then I’m basically shutting out the other people with my dreaming. And on the other hand, if I say oh, I should be so guilty for wanting to do something for myself, or to follow my dreams, how dare I, I should be doing what everyone else wants and needs first in order to atone for my guilt, then that too is based on the belief that either myself or the other person is not worthy. These separation ideas, ideas of separate identities, inevitably lead to conflict within and without. Conflict decreases sharing and agreement, which is not helpful.

The higher path is one of not identifying with the ego, or with being a separate identity, and opening up, spiritually, to an acceptance that we are all joined, we are all One Being. This leads to sharing, freedom of expression, and everyone’s true needs are met. It just makes more sense. So perhaps then instead of struggling to find the perfect game idea, or the perfect tightly-grasped next great thing, we should just let go and let something bigger than ourselves express itself. We may share in that which is creative, but making it exclusive or specific leads to dead ends. Openness is the key to creativity.

So here I was trying to decide what to do with my game-development future. On the one hand, part of my, my ego parts, wanted me to pursue the half-finished dreams of the past, game ideas that came along in previous generations of gaming. But things have changed. The market is different, society is different, people are different, I am different. I am not so sure there is such a market for the kind of games that we used to enjoy. All of those action packed games which appealed mostly to guys seeking adrenalin-pumping action, are no longer suitable for the much wider audience of the general public. But I think this can lead to one problem – generalization.

How does a person produce a game which appeals to many people but without spreading itself thin? Without trying to please everyone by removing a lot of the specifics? Can a game still thrill with the daydreams of the specific, while still appealing to a wide berth of people? Can it be both involving at the same time as open? Personal at the same time as impersonal? Perhaps not. Or perhaps so.

I think first of all we need to ask ourselves what people are. Are we all the same? No. There is a basic idea in society somewhere, of a fictional character who embodies all of the supposedly desirable perfect qualities of the `ideal human`. And many of us hold everyone to that standard and generally find everyone to fall short. No surprise there. But the first insight should be that people are NOT all the same. Everyone experiences a subjective reality which can be significantly different to that of other people. Although we all observe a seemingly objective-ish world, we do through through countless different perspectives, which are all in our minds. No two people see the same world, lest they be One.

A second stepping stone can come by learning to be aware of the many many ways in which people are NOT the same. Let yourself be aware of how they differ. To do this requires stepping outside of your own identity as a separate and subjective self. A quietness of mind, a peaceful mind, can observe the motions of others. In this you can begin to see all the fascinating ways that everyone is so different to each other. It is really a giant pool of chaos out there, with barely any consistency of meaning or interest or purpose in any single person. Even within each person there are conflicting aspects of personality, sometimes at odds with each other, a conflict within ones own self. And yet we keep treating people with blind stereotypes and labels and ideas of what is `normal` and commonplace, as if this is somehow an accurate representation of how people are.

The third insight is to go beyond the *apparent* differences that each of us exhibit, beyond even what other people think is true of themselves, and beyond what we think is true of other people and our own self. Going deeper into a place of original being, we can find the truth about ourselves and everyone else – that none of our differences are real, none of our appearances are reality, and we are all One.

We cannot make games which appeal to the One self, it doesn’t give a crap about dream realities. But we should at least be paying attention to the myriad of differences exhibited in everyone’s unique experience. We all live in isolated little worlds of personal daydreams, thinking we’re talking to other people, thinking that other people are doing things to us, but all the while stuck in a dream of our own imagining. I try to figure out the ways that people are different, but it is pointless, and endless, as it is quite a mystery. Still, we can but try to better listen to, learn from, care about, and truly connect with, those who are our brothers and sisters. And then perhaps we can create games which they will, in their temporary insanity, enjoy.

Anyway, psychobabble aside, and back down to earth, I have been considering moving into the more casual side of gaming – the easy to pick up, easy to put down, short or long game session, relaxing, simple, easy to operate world of games which is continuing to thrive. It is perhaps time to hang up the hard core `gamers` games, the retro, the old fashioned and the games of bygone eras. Let us look to the future, to create creative games for creative people.

Next Page »


Welcome

Enjoy the fun and excitement of computer games, but even moreso, the creative expression of developing your own. And the graphics are cool too. :-)

What was that?

Categorically speaking...

Game Development Graphics Uncategorized

What just happened?

  • 1,196 hits