A discontinuity (for me) as computing continues to evolve is how the tools for developing software still seem remarkably basic. While software has fundamentally changed how we make content, programming itself is still a byzantine world of text instructions, compilers, debuggers and arcane syntax. And so it remains the preserve of the technical rather than the creative.
There are tools that have attempted to bridge this gap such as GameMaker, but have always involved massive trade-offs in performance and flexibility. There have also been changes in programming itself, such as object oriented programming and new languages, to make many operations easier than they used to be.
And yet development is still a complex and cold process where one day of design requires 90 days of development to see if it works. Is that the way it has to be, or is it an area ripe for disruption? Are we ever likely to see tools that allow users to design proper applications or games based on logical rules, and yet use a much more intuitive interface to do so?
I think Little Big Planet went some way towards what you're getting at here...
Posted by: Bobiroka | 31 August 2011 at 06:53 AM
Two issues:
Most tools are aimed at "people who want to make games but aren't technical enough". The problem here is that all game makers assume everyone wants to make games (they don't) and they assume there is lots of talent out there (when there isn't).
Second problem: All code types want to build engines. So in every game design team is *someone* who would rather build an engine than design games. And since they are the gating item, they are in control.
Businesses that try to solve this problem are targeting consumers who can't use them and professionals who won't.
Tough sell.
Posted by: Nicholaslovell | 31 August 2011 at 06:58 AM
I think Unity deserves a mention in that they made something to allow people to make a game without coding (much). And I'd argue that depending on the game you're making, the 90:1 dev/design ratio is a bit extreme / flamebait...
The problem we have is that games don't fit into simple slots, every game has it's own experience and feel. If every racing game felt and played like Ridge Racer, then why would you bother playing them after playing the first one?
And there in lies the problem, each game experience being different enough to make it impossible to get us to that magic function BuildGame("racing game").
We also spend all our time beefing up graphics/etc as per your last article...
Posted by: Jasperstocker | 31 August 2011 at 08:07 AM
I've programmed in Java, C++ and right now am using a Unity-like kit.
It's like this...
To express the concept to the computer, you must break things down into procedures. Computers are bureaucracy machines. This is the act of programming.
There are a lot of attempts to make things "easier" by trying to make it "intuitive", but the problem is the same as the one you describe as "opacity" in games; languages like C#, while complicated and strict, have a lot of transparency. Most attempts are a more "natural" approach tend to allow problems to occur more due to ambiguity and, at worst, are like "guess the verb" games.
Now you mention something about "90 days to see if it works". The tools have developed -a lot- and this is simply not the case.
I made most prototypes in about a week's time. Right now I'm working at my first "real job" in game industry, and I got my game semi-working in about a week. (The next two weeks I'll be experimenting with it, trying to find the "dynamic", etc.)
A coworker who I'm "pair programming" with got a simpler game (that is more suited to the kit) working in about a day. We're using the same kit.
Over the years, many many approaches have been tried to escape the need for programmers and, for whatever reason, programmers have not been able to come up with it (not for a lack of trying). The simple fact that computers are machines of finite capability and that they lack genuine intelligence is a problem.
Visual programming languages, "natural" feeling languages, etc. have all been tried and the above facts that the computer is a machine means that if you want to tell it to do something new, you must program.
Finally, there is the problem that kits that try to do more for you (say "RPG maker") naturally restrict you to what the kit designers envisioned. Unless you learn how the machine works and its arcane expectations and force it do something else. In other words, program.
So I say yes, it is possible if the computer is intelligent enough to do the programming, but not for the foreseeable future as we don't know in principle how to make a computer that can do that and therefore you cannot predict when that will change. (Maybe someone's working on it now, maybe the 23rd century...)
Posted by: Joe Cooper | 31 August 2011 at 10:28 AM
That's a great comment Joe. Thanks.
Posted by: Tadhg | 31 August 2011 at 10:31 AM
I agree with Joes comment, but the people are trying to get there.
There's a tool that I think it's worth to mention, the GameSalad Creator.
It can't make big games like RPGs, but it's a time saving one.
Posted by: Account Deleted | 31 August 2011 at 01:42 PM