Designing virtual environments is not an easy task because of the number of activities to coordinate. Describing the virtual space, designing the inhabiting objects, and defining the behaviour of rooms, objects and users according to their surrounding context are some of them. Focusing on MOO environments, this paper describes a simple object-oriented model to design the conceptual aspects of a virtual environment. It then presents a set of design patterns to help VE designers solve recurrent design problems. These patterns provide solutions to the design of virtual space, mobility and behavioural issues. They are named Area, Gate, Locomotion, Transport and Collector. This pattern catalogue represents a first step towards a pattern language for the design of virtual environments.