--- title: B1.17 Wikinauts — Multiplatform Scribblenauts date: 2011-04-27 location: /B1.17 tags: Pro Tanto --- # Wikinauts — Multiplatform Scribblenauts This is an idea I've had since the first Scribblenauts game was released: A community-driven version. The basic premise is identical to that of Scribblenauts: solving puzzle-based levels using just about anything you can think of by summoning items, NPCs, etc by writing the name down. For example, the objective is to get a star out of a tree. You could summon a lumberjack to cut the tree down, or a saw/chainsaw/axe/etc to cut it down yourself. Or you could summon a ladder to climb up into the tree. Or a jetpack, helicopter, wings... The possibilities are endless. The point of difference between Scribblenauts and my idea of Wikinauts is the social, community-driven aspect. The general idea is to build a robust engine and data structure, and let everyone add to and modify the database of items to be summoned. In this way, a creative mind might decide to summon something that doesn't exist in the database, let's say "Batman" for instance. They can then go to the Wikinauts database and submit graphics and behaviors for Batman, who can then be summoned in the game. The problem is, Batman won't really be well defined, as he's just been created for someone's purposes in one particular level. This is where the advantages of the community-based wiki approach really start to show. Others can see that Batman has been created and decide to modify his behaviours. For example, tell him to fight evil, drive the Batmobile, hate the Joker, things like that. And as soon as someone notices that Batman does not behave the way you might expect in a certain situation, then his behaviour can be modified again to move towards the expected. According to Wikipedia: Maged N. Kamel Boulos, Cito Maramba and Steve Wheeler write that it is the "openness of wikis that gives rise to the concept of 'Darwikinism', which is a concept that describes the socially Darwinian process' that wiki pages are subject to. Basically, because of the openness and rapidity that wiki pages can be edited, the pages undergo a [natural selection](http://en.wikipedia.org/wiki/Natural_selection) process like that which nature subjects to living organisms. 'Unfit' sentences and sections are ruthlessly culled, edited and replaced if they are not considered 'fit', which hopefully results in the evolution of a higher quality and more relevant page. Whilst such openness may invite 'vandalism' and the posting of untrue information, this same openness also makes it possible to rapidly correct or restore a 'quality' wiki page." Given the right community mindset, Wikinauts has potential to outshine Scribblenauts both in number of summoned items and quality of item interactions. As the items and interactions are modified over time by many different people, they will _evolve_ to be of higher quality. Graphics will be touched up, behaviours will be modified, and a community concencus will be formed on how a certain object or behaviour should look or behave in the game world. A game such as this will have to have an exceptionally robust and flexible engine. People will want to throw everything they have at it, and the gameplay will evolve along with the items. It seems a bit difficult to have gameplay evolve with a static game engine, but it shouldn't be impossible. I'm thinking of involving some sort of low-level scripting language, so actions and behaviours can be modified at _almost_ the engine level for the most flexibility. Items can inherit these actions and behaviours from generalizations. For example, a "vehicle" may contain all the necessary code and behaviours to allow movement, and things like cars and aeroplanes will not need to be told _how to_ move, but simply impose restrictions or add actions to the basic movement actions (cars stick to the ground, etc). Development of such an application will have to be split into phases: 1) An initial engine and data structure 2) A public database backend application for development of objects 3) Development of objects using the backend application, while testing items with the engine 4) Polished front end game client 5+) Clients for multiple platforms Once phase 4 is completed, and provided there is an active community producing polished objects for the database, a database snapshot could be created for shipping with standalone versions of the game, for example on a console or mobile version. It's a large and ambitious project, with a great many factors needing to be taken into consideration. And I've already found one (somewhat poor, unfortunately) attempt to fulfill this idea called Project Everything. I couldn't figure out how to work the game itself, and the object back end seems to consist of adding an image and an animation, with not much regard to behavior. And any image can be used with no scaling, leading to overly large, white-boxed, useless items. Looking at this, it's clear that there needs to be more freedom and more direction when building objects and interactions. I'm considering a library of bits, with the ability to draw your own bits where necessary. So for the Batman example, you could build a person from predefined Man bits, with predefined behaviors, and simply draw the cape and cowl, and perhaps add a few small animations and behaviors to differentiate Batman from Man. The cape and cowl bits can then be used for other things, like Batgirl, or the cape for Superman (re-textured).