Dreams (PS4)

Introduction

I'm sure many of us that play video games often have thought of and perhaps even had a go at making our own video games. It's a very challenging but rewarding experience and there's nothing better than someone else playing your game and enjoying it.

Dreams for the PS4, released 14th February 2020 (in beta from 16th April 2019) is software from Media Molecule that enables users to be creative, whether to make sculptures, music or games. These creations can be shared online for others to experience or remix for use in their own productions.

Be sure to also check out the official Dreams site:

https://indreams.me/

You can even search for creations on indreams to get a taste of what's available, even if you don't have your own copy of Dreams.

On this page you will find information about bugs I've found in Dreams, tips and tricks for using Dreams, and my game in progress, MyDream

MyDream

My first game released using Dreams is called MyDream: Adventures of Kitty Wong and is based on my original game that I made for PC. You can see a screenshot below:

To play for yourself, load up your copy of Dreams, go to Dream surfing and search for ‘Kitty Wong’ (without quotes). Note that my username is yoshielectron247. What follows is information about the various versions and links to videos showing off each version.

V0.1 Play as Amy Wong in this single level featuring a grassy hub, swimming pool, underground area and puzzle room as you search for the green and red jewels. There is a simple day/night cycle and random weather too.

To watch a playthrough and learn more about the game please check out my video:

I also did a follow up for V0.1 going into much more detail about how some of the objects work:

Bugs

With each bug description the version number of Dreams is mentioned as the bugs listed in this section may be fixed in a future version and may also be present in earlier version(s). If possible a workaround will accompany the bug report. Some of these bugs may actually be features or oversights of the developer. Please check out the feedback portal to check the bug reports users have submitted and to report your own:

https://feedback.indreams.me/

Editor

V2.09. Sometimes when you rewind while in edit mode the player will be placed in a random position rather than the previous position. This has been experienced by at least one other person and has been logged as a bug. If you ever loose where the player is simply choose to play the game and you will see where the player is so that you can then exit back to the editor and find the player. A workaround is to use a teleporter placed on a puppet and a tag positioned in the scene so that the puppet always starts in a set position; please set the Tips & tricks/Editor section for more information.

V2.09. Gadgets will seemingly randomly have their name changed to another gadget's name. I have only noticed when editing a scene after having turned my PS4 off and then resumed editing the scene I find a gadget will have a different name than to what I previously gave it, taking the name from a different gadget. I'm sure I haven't accidentally edited the gadget previously as this has happened multiple times.

V2.09. Using the Sun & sky gadget, even if you set the sky image to 0, horizontal definition to 0 and sky tint intensity to 200% so that the sky is one colour and then change the sky brightness you will still see the flecks that make up the sky build up as the change occurs (this may not be a bug as such). One workaround is to create your own sky sphere or sky dome using a very large hollow sphere. However, I have still noticed the sky flecks even show through my own sky dome.

V2.09. If you create an indoor scene and have a reflective surface it reflects the sky image even if you have the sky image set to 0. As mentioned above, you can make your own sky sphere or sky dome but the sky image (which shouldn't even be visible) can still show.

V2.09. When adding to or removing from a sculpt I've seen it say, for e.g. +2% yet it actually only went up 1%; this could possibly be due to a rounding issue and may not actually be a bug as such.

Tips & tricks

Please note that Dreams is currently receiving updates so information presented here may be specific to a certain version. It's always best to keep Dreams up to date as well as the PS4 itself. Tips will assume the use of the Dual Shock 4 controller.

You may also want to check out the feedback portal for more helpful information about using Dreams:

https://feedback.indreams.me/

Audio

As of V2.08 only 15 seconds of audio can be recorded for each clip.

Originally, importing audio using indreams.me was possible but this feature has been removed possibly due to copyright concerns.

On a sound object's properties page you can enable Auto 3D panning (3D panning tab) which means the sound will played within 3D space and how you hear it will be dependent on the camera position and rotation in relation to the sound (if, for e.g. the sound is behind the camera it will actually seem like the sound is behind you). When the sound is selected there will be a range sphere which lets you set the position of the sound source and the size of the sphere determines how far the sound reaches. If Auto 3D panning is off, however, then the sound will always be heard regardless of the camera position and rotation; this is good for indicators to the player that mustn't be missed, such as something being activated. When you import sounds from the Dreamiverse take note whether Auto 3D panning has already been turned on and adjust if necessary.

There is no input to a sound object to restart the playing of the sound. However, you can add a sound to a timeline gadget and fit it exactly. Then you can use the timeline's restart timeline input to restart the sound. You can also use the trigger from timeline to know when the sound has ended.

One way to export music you’ve created in Dreams is to record the music playing using a capture card or the PS4’s built-in video recorder. Then it’s matter of extracting the audio from the video.

Editor

Discover for yourself the best control method for operating Dreams, whether it's Dual Shock 4 (DS4) with or without the motion controls, or the move controllers.

Dreams does support a keyboard for entering text but as of V2.09 there is still no support for a mouse. PC-like copy & paste is supported in some instances when using a keyboard. For e.g., when naming an object and you select to enter text using your keyboard you can highlight text just as you would on a PC but the highlight won't show. You can also copy and paste just like on a PC using Ctrl+C and Ctrl+V, and you can even do this between text boxes, but again the highlight won't appear. However, you can not copy from or paste to a text both when naming a creation for saving.

The floor grid is stated as each square is 2m² and this means that each square is 2 x 2m. When using grid snap with a setting of 1 the space between each dot is 0.25m.

The ruler (Cameras & lighting) lets you place a 3D ruler in your scene which can be moved with the move tool and scaled using the stretch tool. It displays the 3 measurements of the ruler along each axis when the imp hovers over the ruler.

Whenever there is an option to choose a number value using a slider on an object's properties page you can press L1 + square to bring up a number entry keypad (or you can use an attached keyboard).

To be able to see and select a hidden object such as an effect, or anything set to have visible off, turn off preview invisibility.

If while editing you hover your imp over an object and the outline flickers then this could be because there is a duplicate of the object at the same or similar position. This can easily happen if you forget that you are using the clone tool and you use R2 to grab an object but immediately let go if will actually clone it at the same position.

If you want to base your own creation using an existing one that was imported but created by someone else you will find that it won't let you edit the sculpture. What you can do is save as a new creation and then you'll be able to edit it as you desire.

Name objects as soon as you add them, it's a good habit, helping you to keep track of the objects in your scene and you can see at a glance what an object does. Be consistent with naming, for e.g., start the name with what the object is (such as Door). Name important components such as microchips, counter and so on - Door delay before opening tells you exactly what the timer does.

For objects that affect things globally, such as music, sun and sky settings, keep them in the same area in your scene away from other objects but easily viewable and put them all into a single microchip.

One way you can back up your Dreams creations other than uploading to the Dreams community is by backing up the Dreams storage on your PS4 to online or USB storage. See:

https://www.tomsguide.com/uk/us/how-to-backup-ps4-saves,news-30106.html

Get used to the different test modes; you can run time within the editor and manipulate settings and logic to see the effects. You can use the test mode to try out your game and still adjust settings. And there is play mode for testing without any real time modification through gadgets although there is no reason why you can't have test objects your player can interact with to handle debug settings (e.g. a switch object).

If ever you can't find your player character, play the game and then enter the editor so the camera is placed where your player is. This is also handy if you are far away from your scene when editing and want to quickly return to somewhere closer in your scene.

It's a good idea to set the minimum and maximum value for a variable to keep the value within a required range, however, if set the maximum too low, for e.g., it could catch you out later when you wonder why the variable won't take on certain values.

Paintings can have up to 8 fleck types combined, which can be done by not fully adding multiple fleck types (don’t hold R2 for too long when adding each fleck).

If you want trig zones to not move with an object that can be moved then don't surface snap to the moveable object or in a microchip surface snapped to a moveable object.

For slow motion player movement, firstly lower the puppet’s walk and run speed, which can be done by accessing the puppet’s object properties. Then set min. stride time to a high value (e.g. 1.00s) to get slow motion movement.

If you want your puppet to automatically be possessed when you play your game please check out the information on this site:

https://www.reddit.com/r/PS4Dreams/comments/bhesow/automatic_possession_of_a_character/

Now that the puppet auto possesses when you enter test mode the imp is still available until you possess a puppet in the usual way but after possession you cannot unpossess until you exit test mode and then once you enter test mode again the imp will appear.

When working on an object externally to a main scene make sure to optimise it to keep the thermos as low as possible. If you open a scene containing an object you have updated and a thermo is now over 100% you’ll either have to lower the thermo in the updated object or reduce the thermo for other objects before you’re able to save your main scene.

If you set an object’s property (e.g. timer value) and then wire into that property the value you send through the wire will not be an absolute value but will scale it. For e.g. if you manually set the property to 2 and then connect a wire and the value sent through the wire is 0.5 then the actual value used for the property will be 1; if 2 is sent through the wire the actual value used will be 4, and so on.

After you have built something it's a good idea to save as new creation which you will find as an option when the object is selected. This will make it independent to your main scene and can easily be used in other scenes, as well as other people if you upload the object. After you have saved the object as a new creation when selecting the object you will now have the option to edit the source which will let you edit just that object in a separate scene; it's a good idea at this point to make sure the object's aligned to the grid. Changes you make to the object that was saved as new creation but used in another scene will only affect that scene; the source object won't be affected. After editing a source object by selecting 'edit source' and then return to your main scene then you won't see the changes until you force an update: go to Modes and select Update mode. Under the edited object listed click Update now. You can also click Auto update to have the update done automatically.

If you want a puppet to always start at a set position when your scene starts then place a teleporter on the puppet and specify a tag name (e.g. Player_start_pos) and set whether you want the orientation to be matched as well as the position. In the puppet's logic have a timer than runs once for 0.1s and have its timer complete (pulse output) connected to the power input of the teleporter. Place a tag in your scene where you want the player to start and name it the same as the name used in the teleporter. Now when the scene first starts or you reset the scene the player will start wherever you placed the named tag.

If you look at the head of the provided deluxe puppet you will see that it’s made up of 2 spheres and what appears to be a tapered cylinder in the middle. If you move the tapered cylinder you will see that it has not been made by subtracting a shape and is instead its own unique shape. Why this was not made available along with the other basic shapes is unknown but you could use it from the puppet head for yourself but you can also make one by cutting the end off a cylinder using a box.

There will be times when you will want to copy an object but you want any changes made to the original object to be reflected in the copies. You can do this by using the clone tool and selecting ‘live clone’ before cloning. Note that only changes to a sculpt or painting will affect the live clones; each clone can still have its properties (colour, etc.) modified independently. To make a cloned object no longer a live clone, with the clone tool selected hover over the object and press triangle (there should be a prompt that says ‘stop live clone’).

Puppets such as Artio will respond to the motion control of the DS4 controller meaning she will turn her head or can be made to lean in response to motion control. To disable, open up Artio’s main microchip, go to controller logic and delete the wire between the Controller sensor motion sensor (Controller I/O page 2) and the Pupper interface lean (Inputs).

If you create an object within a larger scene and choose to 'save as new creation' and then pick 'edit source' you will be able to modify the object within a separate scene but the object will be placed where it was in the previous scene which contains the object. This is not ideal since the object should be at its own scene's origin so that if the object is imported into a different scene it will be placed correctly and not in the distance. It's best then to either create objects separably from other scenes that are to use the object and then import. Or for objects created within a scene with other objects, edit source and place in the origin and then re-import all copies of the object.

If you want to save an object as a new creation and the object is made up of multiple parts (gadgets, sculptures, etc.) you must group them before you save as new creation.

If you have a level where you can go both outside and inside you'll want to disable the rain or other weather effects when the player goes indoors so that it doesn't rain indoors, which can be done with triggers; one defining the outdoor area and one to mark the indoor area. This does mean you won't see the rain outdoors through windows or other portals but then you could animate a rain painting behind the windows to give the impression that it's raining outdoors. Note that if you are using a third-person camera and you have set the outdoor trigger to detect the player (possessed puppet) you may find that as you approach your building's exit it rains indoors as the player is barely outside but the camera is still indoors. One way to get around the issue is instead of the trigger detecting the possessed puppet it detects the camera which should fix the issue.

Technically, anything you make using Dreams is owned by Media Molecule/Sony but if you were to make your own original creations in Dreams there should be no reason why you cannot then use them outside of Dreams (but again, this is a grey area). For e.g., you could prototype some ideas in Dreams and then build into a standalone game for PC or another platform. Media Molecule have hinted that there are future plans to let users of Dreams to make money from their creations built in Dreams. What is very clear is that you should not be making creations based on existing IPs such as Mario, Sonic, etc as they are copyrighted and may be taken down. There is of course no harm in doing such for offline creations and I believe very much that people should be able to make fan creations of existing IPs but we do have to respect them when making such creations available online.

If you have an object you have imported and change something about it, such as the tag name a teleporter uses, and then modify the source object, it will still retain the changes you made to each copy of the object in a scene.

You can change the size of a Text displayer by hovering your imp on the visual representation of the Text displayer and use d-pad up/down to change its size.

Dreams was supposed to have launched with PSVR support but as of V2.09 there is still no support for PSVR.

Gadgets

To set the tag for an object add a Tag gadget to the object and name the tag to set the tag value.

Although there is no standalone gadget to generate random numbers you can use the Randomiser gadget. Set the Randomiser no. of ports to 10 and use the Active port to get the random number. This can be fed into a calculator and multiplied either with a fixed value or another Randomiser, to get a greater range of values.

Make use of the text gadgets to display debug information to help you fix problems and after you fixed the bugs you can simply remove or disable the text objects.

Use the slider gadget to set critical values that you may want to adjust in the future such as the speed of an object. The switch can be used for debugging, such as to enable text display of a changing value, or to disable a certain action an object can perform.

When you have complex logic it's a good idea to break it into additional microchips (within the main microchip) that contain related logic and to name what the microchip does. For e.g., input/detection logic can go in one microchip, movement logic in another microchip, etc. This will make it more clearer how the system works and easier to test and debug.

If you have complex logic consisting of multiple microchips and you are having problems with the way the logic is working you can power off multiple microchips to see what effect it has. That is, if the issue doesn't show when a particular microchip is powered off it may be an indication that that particular microchip is causing the issue. However, be careful as this test can be misleading; the supposed faulty microchip may only be contributing to the issue and not actually contain the faulty logic.

Often you will need to make objects that switch between states such as to move, attack, defend, etc. but the object can only do one of these actions at once: this is known as a Finite state machine (FSM). One way to implement a FSM is to use a counter and set its limit to the maximum number of states and by connecting multiple calculator gadgets checking of an exact value (use '=' operation) from the counter's current value a single microchip can be powered on to provide the required action. So, to give a simple e.g., an object may start of idle and thus the counter will have value 0 but when the player gets close its counter current value becomes 1 so it now chases the player but the player gets too far away and so the counter current value drops back to 0 and so it goes back to being idle.

Graphics

You can turn off the Made in dreams watermark by disabling it in preferences, but there should be no harm leaving it on as it does move about slightly to try to minimise damage to screens sensitive to static images.

To make it easier to see your sculpture when editing turn on Studio lighting (Guides) so you get uniform lighting but remember it will not accurately reflect your scene when being played.

Dreams does not render in the conventional way of using polygons and textures and this has the advantage that objects will generally look better than polygon based models as they rely on models being made up of a large number of polygons coupled with decent looking textures. Because Dreams uses flecks, objects can look good regardless of distance, however, pop-in is apparent on large objects where the flecks suddenly appear as you get close to the object and even altering fleck perspective on the properties page doesn't seem to help. Another advantage of flecks is that by loosening up an object you can quickly add 'texture' but it's a fine line between getting the look you want and having too much looseness which causes the edges of an object to look rough.

Even with the use of flecks you still have to get around the limits of what the engine can manage and the available memory. If you exceed 100% (I once hit 110%!) of the graphics limit you will not be able to save until the graphics use is lowered to within the limit. The approach I've found to be useful is to think in a Minecraft-like way; build stuff out of blocks that can be repeated. It may cost you 1% to add a block but then you can add it hundreds of times without any extra cost. So create a number of bricks or blocks and reuse them, thinking how they can be used to make up a building, etc.

Get used to reducing the level of detail of your creation after you have made it rather than after you've done your scene when you may forget about optimisation or suddenly notice you are almost at the graphics limit.

While it's possible to create some very realistic looking objects and scenes in Dreams, due to the nature of its graphics engine it is limited in some areas. For e.g., you cannot have glass like sculptures and detailed reflections aren't possible. There are ways to get around the limitations; for e.g. the surface of water could be made from a painting as paintings can be transparent. If you wanted to create a large mirror you could duplicate the objects and scenery and place them behind the mirror inverted on the Z axis (the mirror being a transparent painting) and have a 2nd puppet for the player reflection but with inverted controls.

While there is no built-in water gadget there are a number of ways that water can be simulated. One way to do it is to sculpt the water surface and animate it to look like water but make the object not collidable. Add a trigger zone to the water sculpture and then add logic to your puppet so they are able to swim whenever in the trigger zone. If you want your player to be able to swim under water then a larger trigger zone will be needed and some form of button command to make the player go under water. Here are some tutorials on making water:

You can use the gadgets to help you sculpt. Create a sculpt, exit to the main editor and add logic, such as to move or rotate the sculpt. Create a new sculpture or painting and start time within the sculpt/paint mode, using the movement to influence your new sculpting/drawing. When done, exit sculpt/paint mode and delete the logic and now unneeded sculpt/painting. Here is an example video:

Homespace

You can reset the homespace to its default form (could be useful to fix issues): load the game and wait until the indreams.me screen appears. Use the shortcut L1 + L2 + L3 + R1 + R2 + R3 and you will be given a prompt to reset your homespace - press yes.

Misc.

Save often, particularly at key points (after you get something working, for e.g.). Save individual objects as new creations which acts as a backup and allows reuse in other scenes.

Dreams has a steep learning curve and if you want to make the most of it you need to learn the basics and practice often. Make use of the built-in tutorials which can even be viewed within the editing space (use the Search option) and look for videos. Here are a couple of YouTube channels I recommend:

https://www.youtube.com/channel/UCNuinTclsgr-gg5diqLEbUg

https://www.youtube.com/user/MediaMolecule

Take regular breaks; if you are stuck walk away, do something else and return with a fresh mind.

If stuck for inspiration, look online, at other creations, not just stuff that was made in Dreams.

The frame rate will drop when there are a lot of items in a scene so consider whether your creation will run well on a standard PS4 and if possible get someone to test it on an original PS4 or slim version to see how it runs. As well as the PS4 Pro being able to handle more complex scenes it offers you the option to choose whether you want higher resolution or higher frame rate. While using the editor, press Options and go to My Preferences (the 3 dots), then go to the Display section and where it says Graphics choose either Higher resolution or Higher frame rate. Note that even if you select Higher frame rate the PS4 will still output at 4K so perhaps internally Dreams is running at a lower resolution then upscaling.

As of V2.09 there is still no way to save a player's progress in a game as you would have with a conventional video game, however, as was done with old games you could provide a password to the player when they get to a certain point. This password could then be entered the next time the game is played to effectively resume play from a certain point but score, etc. won't be carried over. As for getting the password from the player you could go with a traditional input box or something more in-game such as providing squares for the player to step on to spell out the password.

Multiplayer

As of V2.09 there is still no support for split-screen multiplayer.

Publishing

Rather than upload a scene on its own, to make it more searchable first put it inside a dream by starting a fresh dream and then adding your scene(s) through the search option; be sure to tag the dream and write a description. You can change the Dream's background to an image taken in photo mode so why not capture an interesting location in your scene or snap some action. Note that any pictures you take in photo mode when using Dreams are 1920 x 1080 and can be accessed in the PS4's capture gallery and then transferred to USB storage, etc.

All content of this and related pages is copyright (c) James S. 2020