A computer-implemented method of generating a model for subsequent 3D printing, comprising the steps of: periodically rendering a virtual environment of a videogame for display at a succession of points in time; periodically recording a video image of at least part of the rendered virtual environment at a succession of points in time; periodically recording a predetermined set of values responsive to the state of at least part of the rendered virtual environment at a succession of points in time, the predetermined set of values comprising data other than video images, useable to reconstruct the state of a specific in-game character within the virtual environment at the respective point in time and that enables a model of the specific in-game character to be generated that is configured for 3D printing and associating each respective set of values with a corresponding recorded video image; reviewing, by a user, one or more of the recorded video images and selecting, by the user, one associated with a specific point in time; selecting, by the user, at least part of the virtual environment in the recorded video images at the specific point in time as the object to be 3D printed; retrieving the respective predetermined set of values, comprising data other than video image information, that define a state of the selected at least part of the rendered virtual environment and is useable to reconstruct the state of the specific in-game character within the selected at least part of the virtual environment at the respective point in time; and generating, responsive to the retrieved respective values, a model of the selected at least part of the rendered virtual environment comprising additional geometry generated through procedural rules, characterized in that the model is configured for 3D printing a 3D printed model that is stable and self-supporting in the real world, wherein the step of generating comprises generating a shell of voxels representing the visible surface of the selected at least part of the virtual environment and modifying the shell through said procedural rules. periodically rendering a virtual environment of a videogame for display at a succession of points in time; periodically recording a video image of at least part of the rendered virtual environment at a succession of points in time; periodically recording a predetermined set of values responsive to the state of at least part of the rendered virtual environment at a succession of points in time, the predetermined set of values comprising data other than video images, useable to reconstruct the state of a specific in-game character within the virtual environment at the respective point in time and that enables a model of the specific in-game character to be generated that is configured for 3D printing and associating each respective set of values with a corresponding recorded video image; reviewing, by a user, one or more of the recorded video images and selecting, by the user, one associated with a specific point in time; selecting, by the user, at least part of the virtual environment in the recorded video images at the specific point in time as the object to be 3D printed; retrieving the respective predetermined set of values, comprising data other than video image information, that define a state of the selected at least part of the rendered virtual environment and is useable to reconstruct the state of the specific in-game character within the selected at least part of the virtual environment at the respective point in time; and generating, responsive to the retrieved respective values, a model of the selected at least part of the rendered virtual environment comprising additional geometry generated through procedural rules, characterized in that the model is configured for 3D printing a 3D printed model that is stable and self-supporting in the real world, wherein the step of generating comprises generating a shell of voxels representing the visible surface of the selected at least part of the virtual environment and modifying the shell through said procedural rules.