Archive for June, 2009

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.

Blast from the Past

So I finally got around to trying the E-UAE emulator on Mac OSX. I got up it up and running pretty quickly and there’s  a nice front-end out there called Hi-Toro which helps immensely with configuration. It’s pretty quick too, and there is an intel version of the emulator available. So of course this meant I had to try out some things. I have yet to try one of my favorite games – Datastorm, but I did figure out how to get my fruit machine game up and running. I had to duplicate the Workbench 1.3 disk so that it was writeable, then remove some fonts to make space, and then copy the amos.library into the libs folder. Then booting from that disk allowed me to run the superfruits game from a virtual harddisk, which is basically a folder on the mac with normal files in it. Easy.

SuperFruits starts out with a very simple title screen animation, which I did in the fabulous Deluxe Paint 3 on the Amiga – it’s a whole bunch of `move` animations, which basically means I split up the title image into a grid of tiles and then animate each tile separately. They all sort or wind their way into place and merge together to form the logo. I had to do it in 2 colors because, being written in Amos Basic, it wasn’t fast enough at displaying it full-screen at full speed on the lowly Amiga 500. So instead, I used a copperlist rainbow, which is like a hardware trick to change the colors as the display is being updated.

SuperFruits title screen

Then after a couple of very simple menu’s where you enter your names and how much money to play with etc, you enter the game proper …. all the way from 1993, I present to you, in full 32-color technicolor, and complete with British spellings, it’s SuperFruits!

SuperFruits in-game screen

In this screenshot I have just matched two watermelons next to each other, so it then drops down into a gamble feature. In the gamble feature you get to try to increase your winnings and to access a variety of bonus features, which is where much of the fun is. There’s lots of flashing lights and special features and even a cheat mode for when nudging. Three 7’s gives you a jackpot, although you can also gamble your way up to it. The gambling is done by trying to stop the lights flashing on the number 3, out of 3 lights/sounds, which is not too easy, and actually a bit hard for the lower-value levels. I did get one jackpot so far! The green goes crazy with flashing lights and *color cycling*, woo woo!

A beginning

Greetings, and welcome to this exciting new web log. My aim here is to enlighten, educate and entertain on a variety of computer topics,mainly focussing on the design and development of computer games. As I continue to create games as an independent developer, I will be talking about my progress, sharing insights, ideas and discoveries.

I also aim to explore the spiritual, metaphysical and psychological aspects of games and their design. I will attempt to reverse-engineer the psychology behind todays trends, arriving at the bigger picture, and then returning to the real world with new found inspiration. There is more to life than meets the eye!


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,403 hits