"Languages" within games

Started by
6 comments, last by Yvanhoe 15 years, 3 months ago
I have a neat game concept - I'm sure it's been done before - where the player must program or script in order to progress through the game. I've gone through a few scenarios of implementations: - The player programs a robot with 'modules' that he can purchase. The robot must perform tasks or compete against other robots in order to progress. The player chooses between upgrades to his hardware and upgrades to his AI modules as he earns more money. - The player has organisms that he can grow and modify, including their intelligence. Spore-esque, but focused primarily on building intelligence rather than civilization. The 'scripting' would probably be done visually somehow, with players clicking and dragging to create links, loops and conditions. - The player actually has to script a level in order to defeat an AI bot. Laying traps, calculating distances etc. Could be interesting to be expanded upon but it's really nothing more than a whimsical thought at the moment. So, what kind of "languages" (note quotemarks) have you encountered or considered in game design? What do you think of the rudimentary ideas expressed in this thread?
Advertisement
Take a look at RoboSport and Core War. Very different games, although they do relate to the ideas you've explored here.
Thanks for the references, RoboSport looks very similar to my first idea.

One thing I've come to realise about this concept is that it needs some interaction in addition to just programming. Programming is fun, but watching your robot navigate a maze would just be downright tedious - and skipping the animation entirely would remove the sense of involvement. Perhaps the player could modify the gameworld as the robot progressed through it, through a limited interface... The scripting would serve as a way to overcome these limitations.

In a very simple example: You program your robot to move towards light. In the game world you can turn lightso n and off
I remember playing the game "Robot Odyssey" as a kid, a long time ago. And look, WikiPedia knows about it too:

http://en.wikipedia.org/wiki/Robot_Odyssey

It was a neat game; you had to navigate a series of levels using a set of robots. I don't remember exactly what the goals were but they were things like getting a robot to a certain point, or having a robot carry an object somewhere, or so forth. In the early levels, you could basically sit in the robot and control it. Later, you weren't allowed in the robot while doing the task, but the robots were pre-programmed with behaviors, so if you used them correctly, you could finish the level. And later still, you had to modify or program the robots in order to achieve the more complicated tasks. I conked out on the harder levels; I think I was a little young for the game at the time.

Really neat though; the robots actually had properly functioning circuits and chips simulated in them. It was more along the electrical engineering side of things than "programming", but similar idea.

Geoff
One thing you might consider is that the more involved you make the programming, the smaller the audience will get. I think genre is pretty important here too...you can probably get away with more programming-like activities in puzzle games than an action game.

As an aside (in response to the "languages" I've encountered question) I wanted to bring up FFXII for consideration:

Final Fantasy XII was hugely popular, and with its gambit system, had some programming element to it. It was pretty much entirely optional, but a well-planned gambit setup could get the player through tougher situations than would be otherwise possible without micromanagement of commands. Many of the new targets and conditions you obtained over the course of the game offered real incentive to tweak gambits. Although I have no way of backing up this claim, I think a majority of players did some experimenting with gambits, so I think FFXII proves it could work as an important component of a mainstream game.

It wasn't an incredibly deep system (the game's designers originally had a much more complex system), but it still received some criticism for even being there. KOTOR had a similar combat system, but it just allowed the player to choose general AI characteristics for the party members not under direct control. As a result, your party members would choose some pretty stupid actions, like always performing a first level power attack instead of a second or third level flurry. You could switch to them and queue commands, but it's not always easy to do so and can slow the game down.
Some scripting by the player that doesn't require typing a script: Supreme Commander did a great job with their factory queues, where units can be queued, delivered on a route to the front lines, and then engage in an attack patrol.

Basically, a quick-draw nav mesh :)

And the 'language' could be expanded to have filled zones like SimCity for marking resource harvesting areas (instead of nodes) allowing the dynamics of grazing to flourish.

Other 'colors' of the language could be added, such as resource delivery areas so that supply lines don't require microing but still have player control.

Or stealth/scout waypoint paths, for units that will break and run. And maybe an ambush killzone color, which the previously mentioned scout units might flee towards.

[Edited by - AngleWyrm on January 9, 2009 5:04:27 AM]
--"I'm not at home right now, but" = lights on, but no ones home
Yeah, the audience limitation is a serious one. I remember being blown away by a Playstation game named Carnage Heart (the Wiki says it's a turn based strategy game, but the mecha battles where your AI shines through is not turn based). I thought it was the best thing since electricity. But when I talked to all of my friends, they hated it, and didn't even want to understand how to play it. This was before I ever learned to actually program (it was partially responsible for my interest in programming), so I did learn the game from the ground up, but apparently, I was the only one who wanted to. It didn't even use text scripts, it used graphical chips.

I would only recommend this as a secondary gameplay mechanic. Something that's possible but optional. For example, if the scripting is for warring robots, the player could opt to buy AI behavior with game money instead of writing them. You could do this in Carnage Heart as well, but it didn't have another primary gameplay, so there was little else to play the game for.
Niche game is still a valid genre. You can't appeal to everyone. Unless your goal is to compete with Blizzard or Valve, having a small audience that appreciate greatly your game can be better than having a big audience that only have a mild interest in your game.

Now about programing inside games... Some "games" focus on the programing aspect. Core wars, NERO (http://nerogame.org/), etc... I put quotation marks because I believe that the game facet is not really important in this case. Those target programmers, people who already know how to code efficiently a memory allocation algorithm in exotic languages. The programming language is in this case more important than the gameplay part and I would argue that the game itself appears from the pre-existing programming language : core wars comes from security techniques to DDOS a remote computer, NERO is a test platform for AI researchers, etc...

Then you have games that allow you to script some behaviors. I liked the under-used BAT system (in the game BAT2) that allowed you to code your implanted computer to make some simple operations in a graphical language (boxes and connection). You would for instance say "if life<10 then use drug X" "if someone speaks language X, then translate from language X", etc...

Like Kest pointed out : most gamers don't like to program. My advice however would be contrary to what he concludes : either make the programming central to the gameplay or not include it at all. If you have a non-programming way of solving a level and a programmable way, both type of players will feel cheated by the existence of the other path.

I must say that I would love to see a game where I would have programmable allies. Not necessarily through a Turing-complete language, but being able to give instruction about when to engage or disengage from a fight give to any combat an immediate tactical feeling.

If you provide a Turing-complete language, however, be sure to include a way to save, import/export such programs. It means players will experiment with it, will make complex program and, if you give them the ability to share it, it will allow complex behaviors to emerge.

This topic is closed to new replies.

Advertisement