Overall
Create a game that simulates LEGO bricks. User experience
should come as close to real LEGO-playing as possible, unless we can do better
with computers.
Merge the fun and ease of LEGO
Creator with the freedom of MLCAD and improve the result.
Subject
- Create a game that simulates LEGO bricks
- Allow building and playing
Building while playing and vice versa. Modeless, if possible.
- Construction
- All LEGO models can be built
- Many bricks available
Probably import LDraw part database
- 6 degrees of freedom
(LEGO
Creator can't even tilt bricks (e.g. the usual car lights), which is a severe restriction.)
- One view only
- A 3D view, in which editing is possible. It is assumed that this is the only view.
"3D" here means real 3D, with free POV and hardware-accelerated.
-
Other views (top/side etc., to get the CAD-typical 4 views) are optional, and they may have different editing rules.
- Comfortable building
- Generally: Building should be as similar to real-world LEGO building
as possible, but if the computer offers advantages, use them.
- Easy and fast selection of bricks to be inserted, even for newbies
- E.g. add additional meta-data about bricks ("brick database")
and allow to filter/sort bricks based on searches on the meta-data.
E.g.
- Don't show any bricks with prints
- Show only bricks that are contained in town models of the years
1990-1995.
- Count number of uses (by the user; in sets) of a brick type and offer a view sorted by decending popularity
- Show x most recently used bricks
- Favorites
- Other suggestions highly appreciated
- Easy and fast selection of bricks in the scene
- Select "blocks" of bricks, i.e. bricks that are connected
- Real-world contraints, e.g. collision and snapping, are modelled
and support easy building.
- No explicit "grid" should be necessary.
- Play
- Cars can be moved around manually from the outside
- Functional bricks
Bricks can be POVs and move by themselves. Typical uses:
- Lights, flash-lights
- Movable parts (doors, hinges, turntables etc.) can be moved manually
- Wheels spin, when cars are moved manually (pushed)
- Electric, pneumatic
- Auto-bricks
- Primitive
Endlessly spinning turntables etc.
- Model simulation
Cars, planes etc. drive/fly
- at explicitly pre-defined routes or
- randomly at routes defined by bricks (e.g. street plates, railroad
lanes)
- Steering
- View world from POV of minifig or other brick
- Comfortable movement of models (minifigs, cars, planes, trains,
horses etc.)
- Mindstorms
Programmable
- Be independant of simulating LEGO. E.g. with an appropriate
parts database and code for "functional bricks", Playmobil should be simulated.
Technical
- Scalable
-
Scenes with 1 000 000 bricks playable comfortably, if hardware allows. 100 000+ bricks on a GeForce 2.
(A complete Fire Fighter HQ has ~250 bricks, a boat ~80, a car ~30.)
- Refresh rate never under 30 frames/s
- Export-/Import to common formats. Directly or indirectly:
- DAT (LDraw)
- VRML (Web)
- LCA (Lego Creator), if possible
- Cross-platform
Runs at least under Windows (95, 2000) and Linux.
(I (Ben Bucksch) work on Linux.)
- GUI
Use native (platform-standard) widgets.
Do not use "kids-interface" with big buttons
etc.. (Such an interface could be developed as an alternative, though, see
below.)
- Open architecture
Allow alternative user interfaces and extension especially of functional
bricks.
Keep parts of application as separate as possible.
- External helper apps
Allow to comfortably start external apps, e.g. for ray-tracing.
- Open-Source
- Participation wanted. There's no way for me to achieve all of the above in
a reasonable time-frame without help.
- Should the LEGO Group be able to create a commercial game based on our the code? I think yes.