Always snap to grid
Single Player, non-violent
This is a bit of a curious mod idea. It doesn't actually provide any real gameplay features itself (in fact, it removes some), but lays the groundwork for other games to be built on top.
Ever since I first saw Pyzzle, I've thought about writing a Myst style puzzle game. Unfortunately, it looks like development has halted on Pyzzle. Recently I started thinking, what would be involved in writing a Myst game using the Unreal engine?
And the more I thought about it, the less it seemed needed to be done. Certainly, there is a great deal of work in creating a complete Myst game, with a lot of detailed mapping and event scripting; but most of that goes into creating the map itself. As far as developing the base game code (the sub-engine, if you will), only a few simple changes need to be made:
- No weapons
- One of the pleasant elements of the Myst games is that they are non-violent by nature. You don't physically interact with other people, and in most you actually spend most of your time totally alone, exploring the world.
- By default, the player has one "non-weapon" with a range of about an arm's reach (basically a "Use" function). When the player "shoots", the weapon hitscans anything in the map within range, and if the target is scripted to react, it does so.
- The weapon slots could be used for 10 generic items that can be collected and used during the game. Items should be picked up by clicking them, not by walking over them. The map creator would need to provide map models, hud models and hud icons if he wanted to use them, but they could be used as tags to identify to event scripts whether to respond to the hitscan. (Lock "shot" with Gold Key, trigger Open event)
- No health
- Damage should be irrelevant to most games of this type, and even death can be considered optional. The player should never need to know how much health they have, and whether they can afford to safely do something. Kill zones could be used in some maps if appropriate.
- No HUD
- Beyond a cursor to show exactly where the player is pointing (which is important in this game type), there doesn't need to be anything else on the screen. If collectable items are included as above, then the currently collected items should be displayed, but that is all.
- Game Save / Checkpoint system
- This is the tricky part. A good puzzle level might take hours to finish, so ideally there should be a way to save your progress and return to the level later. I can't think of an easy way to achieve a complete save system, but one approach would be to use checkpoints. When you reach certain stages of the level, you are issued a code (which you should write down). When the game starts, you are prompted for a code (or leave it blank to start fresh). Checkpoint codes should only be issued at "choke points" in the game, where you must have acheived a precisely known set of tasks, otherwise you won't know what state to put the map in. Simpler again would be to put multiple points through your level which empty your inventory and prevent you from going back; then entering the code could simply start you at a different point in the level without having to set up the map state. It's up to the map maker to actually set those states based on the trigger event; all that is needed from the sub-engine is a way to enter the codes, and a standard way to issue them.
Pretty much everything else would be built into the map design. To a large degree, a Myst map could be built as a standard Unreal level, but the lack of a general purpose "Use" function would severely hamper the puzzle design, and the presence of Health could complicate things (falling damage, for example). Providing a base from which to start gives the level design a bit more focus, and removes the elements of Unreal that would distract from the intended nature of the game.
It also creates a special game type that clearly marks the purpose of the maps, each of which is actually its own self contained puzzle game.
Kagato: It's been well over a year since I was last here (prior to this entry), and I still haven't done any mod work myself. :(
I have, however, got myself a copy of Mastering Unreal Technology, and intend to work my way through the whole book in my spare time (hahahaha... "spare time").
It won't help me much with UnrealScript, but at least it'll finally get me into game content creation; and it fits well with this mod! :)