Rawbots has its own special ways of how things work, therefore it isn't that easy to find out all about these features on your own. This page should explain them all very detailed. There are a couple of things to get familiar with, but it's not hard to master them and the devs still do their best to improve the userfriendliness in further releases.
All known controls since blueshift 0.1.X
At the moment there are two main view modes in Rawbots:
- Use the Arrow Keys, to rotate the view arround the focused part
- LeftShift + Up/Down-Arrows to zoom in/out
- Tab + LMB (left-mouse-button) on a part to focus the view on this part
- Tab to toggle between 1st/3rd person view
- If the actual focus isn't a camera, the game will choose one automatically for the 3rd person view. If the focused part is somehow connected to a bot with a camera, it will use this one, if not, it will take the next camera in the cam-cycle.
- LeftShift + Tab to jump to the next camera in the cam-cycle
- As you add new camera parts to the world, they will be added to the end of the cam-cycle. At the moment there is no other way to determine this sequence.
Rawbots has its own special ways to manipulate bot parts, which can be mastered with ease.
- LeftCtrl + LMB on the ground (the planets surface or any world geometry) to quick-spawn parts
- LMB + Drag a part, to grab and move it arround
- The effective force depends on the current zoom distance
- Hold "1" to start a step-by-step connecting operation (release "1" to cancel it)
- Be sure to hold "1" and not "Num_1" on the num-pad!
- LMB on a part to select part-1
- It will be highlighted and a connection point will be shown.
- RMB on part-1 to switch the connection point
- LMB on another part to select the part-2
- A preview of the result will be shown.
- To determine the used connection point on part-2, simply hover the one you would like to use with the mouse
- You may need to adjust your camera angle, which can still be done without releasing "1".
- RMB to rotate the preview
- You can still move to another connection point of part-2 after rotating
- LMB on the preview will confirm the operation
- Part-1 will be forced to move to its desired location on part-2 now.
- In some cases this may fail because of different reasons.
- You can not connect two parts of one and the same construction to each other with this operation.
- The force is based on the orientation and distance of part-1 and -2 so replacing them before the operation may help.
- If part-1 is not connected to any other parts, it will have no collision while it is forced to move to part-2.
- The operation is completed as soon as both parts are stuck together. Release "1" before this is done to cancel it.
These are distanced connections which can also be used to create supports in your constructions. It is done in much the same way as a basic connection.
- Hold "2" to start a voltaic arc operation
- LMB on a part to select part-1
- RMB on part-1 to switch the connection point
- LMB on another part to select part-2
- RMB on part-2 to switch the connection point
- LMB the preview to confirm the operation
- The arc will remeber the orientation and location of the parts, as they have been connected, and do its best to keep these.
- If the operation fails, the points you tried to connect may be to far appart from each other.
- The maximum range of a VA is 10 units of length (5 continuums).
- "0" + LMB on a part will break all its connections
- BackSpace + LMB on a part to permanently remove the part + all parts connected to it + their programs from your world
- Just be carefull when using this combination
- It's not confirmed yet, but it may be Delete instead of BackSpace on your keyboard.
There are many different names used for the world geometry, so i will use the expression world-hex for now. At the moment the only way to add new hexes is to "extend" from given ones. There are different styles and types of geometry which you can add.
- Hold "6"
- A list of possible styles will apper on the right border of the screen
- and hover a specific area of an already existing world-hex
- A preview of the new geometry will be shown.
- Some styles also have different types. These are for example the ramps.
- - RMB on the preview to switch the type
- LMB to place the selected geometry
Since blueshift 0.1.X we are again able to add energy bridges.
- Hold "8" and hover a specific area of a world-hex
- A preview will be shown
- Bridges can only be placed on specific areas like corners, side-faces, on the bottom...
- RMB on the preview to rotate it
- LMB to confirm
- Hold "7" and hover a player-added geometry
- You can not remove prebuilt geometry right now.
- LMB on the geometry to remove it
This is the place where you can use the command line to acces the system commands and where you can do the visual programming.
- Esc to open and close the console
That's the bottom line of the console. Above it you got a list of recently used commands.
(There exists a little issue atm after using Alt + Tab to get to the desktop. As you come back to the game, the console wont register your inputs like usual any longer. This is because it didn't catch the release of Alt and still belives it's pressed now. Hit Alt once again and it will be fixed)
Type a command and press Enter. If it is a known command, it will be written to the left side of colon. load : To make it easer to use, the game usually generates its sub-commands/entries and writes them to the right side of the colon.
load : stardust
Most commands contain multiple entries. In this case a list will be generated. Horzontal lines ( | ) are the seperators between each entry.
spawn : camera | continuum | elbow | fin | ...
You can now use Tab or LeftShift + Tab to jump to the next or previous entry, or delete the first entry and type it manually. Press Enter to confirm your selection. The game will take the expression between the colon and the first horizontal line only.
spawn : motor | continuum | elbow | fin | ...
In this case a motor will be spawned at the mouse pointer (if it hovers a legit spawn location).
With the Up/Down-Arrows you can iterate through recently entered commads
- "help" shows a list of commands
- "load" shows a list of worlds you can load
- Since 0.0.11 the only world you can load is "stardust".
- Load doesn't mean "load a savegame" it means "load the latest saved state of the specific world"
- "save" saves the current state of the loaded world
- Windows: "C:\Users\USERNAME\Documents\rawbots\defs"
- Mac / Linux: "~/rawbots/defs"
- The game creates a new savegame "[worldname]_[timestamp]" each time and also overwrites the '[worldname]' file, which is the default savegame and will be loaded with the command "load : [worldname]". For pre-built worlds, if you delete this file (maybe you had problems to load your default savegame), the game will generate a new one.
- "reset" shows a list of savegames related to this world and will reset the world to this state.
- "shutdown" exit the game
- Without saving the last state!
- "settings" shows the settings grid
- There you can confrim your serial-key (0.0.9 only) and set the daytime of your world
- "spawn" spawns bot parts at the mouse pointers location
- The mouse needs to hover a planets surface or any world geometry.
- A very handy way to spawn a big amount of one and the same part (in combination with Up-Arrow)
- LeftCtrl + A moves the cursor to beginning of the command line
- LeftCtrl + E moves the cursor to the end of the command line
- LeftAlt + BackSpace deletes a word
- LeftCtrl + U clears the command line
- LeftCtrl + K deletes everything after the cursor position
- LeftCtrl + L clears the list of recently used commands
Visual ProgrammingEditThe background of the console is the place where you can breathe life into your creations.
Rawbots offers a collection of basic operands, which can be combined to complex and powerful programs.
These hexagons have many different names, I will stick to the developers expression "tile". And for the console background I will use "grid".
The grid has a limited amount of space.
- Hold MMB (middle-mouse-button) to drag/move arround the grid
- MouseWheel Up/Down to zoom in/out
At the beginning the grid will be empty, so you wont see any changes.
Tile Colors and TypesEdit
There are 4 different types of tiles, each has its own functionality
|Green tiles represent bot parts|
|Yellow tiles are operands|
|Blue tiles are inputs|
|Red tiles are outputs|
They are a logical representation of bot parts inside the console.
- LMB on a bot part (through the background) to open its program
- This will close the actual grid (if it doesn't already contain the clicked part's tile)
- Beware! Many people have lost quite complex programs this way, because they had no connection to any other part tiles and therfor no chance to open them.
- LeftShift + LMB on a bot part, to bring up its grid into the already opened grid
- So this wont close the actual grid!
- It may happen that tiles that have been placed in the same place are stacked/overlapped then.
- Hover a part tile with the mouse to highlight the related part in the world
- If the related part is out of sight, a green line of arrows will direct to it's location
There is a quite limited collection of pre-built visual programming operands. Each one represents a quite simple stand-alone function, but they can be combined to get much more complex ones. (Some day we may be able to take such combinations and define our own operands in a way)
- LefCtrl + LMB on an empty space of the grid to add a new operand tile
Input and Output TilesEdit
These are the "connection points" between the operands. Inputs got the prefix ">", outputs "<".
- LeftCtrl + LMB on a part/operand tile to add their inputs/outputs to the grid
To edit your programs, there are a couple of things you can do with each tile.
- LMB + Drag a tile to move it arround on the grid
- LMB on an input tile to enter its value//select its entry
- Some input tiles have a list of given entries. They wont accept any other value than one of these entries.
- - Tab or LeftShift + Tab to select an entry
- - Enter to confirm
- Some input tiles will kinda ignore player-typed values. For example the oscillators >time: If you enter a value into it, it will jump to the specific timeframe, but then it countinues to listen to its inner time. Such input tiles need to be "feeded" with output tiles to work correctly.
- LeftCtrl + LMB + Drag an input tile on an output tile to a connection
- You can also drag output tiles on input tiles.
- Both, the input and output tile, need to be of the same data type. You can not, for example, connect a numeric input tile to a string based output tile.
- At the moment known types are decimal, string, boolean, colorcode enumerations and part
- While dragging tiles, you can still use the MMB to move the grid, if the destination tile is not on the screen
- LeftCtrl + LeftShift + LMB on a tile to break its connections/remove it
- If the clicked tile is an input/output tile with connections, the first click will break all its connections.
- If the clicked tile is a part/operand tile it and all its input/output tiles will be removed, even if they are connected to other tiles!
- You may encounter a strange behavour when deleting input tiles, if you already changed its value. The game will remeber the changed value until you add the input tile again. When doing so, the value will be reset to its default.
Permissions & PasscodeEdit
- LeftAlt + LMB on a tile to access its permissions
- For example: Set "permission : -drag" on a part tile, and you wont be able to move the related bot part with your mouse any longer.
- Tip: It is useful to set "permission : -delete" for at least one part of your bot to prevent it from accidentally deleting.
- LeftAlt + LMB on a hex, to enter the passcode
- To add a passcode, unzip the desired map/blueprint then open the file with a text editor. Add this to the desired part/code hex without the parentheses:
- (name)@(number) . passcode #0000
- the passcode must be a four digits number.
True or FalseEdit
Values lower or equal 0.5 are handled as False, values higher than 0.5 are True.
For example: A multiplexer with a >selector value of 0.5 will still output >sample_a. Above 0.5 it will output >sample_b.
Since blueshift 0.1.X the blueprint feature is available for us the first time. It allows you to save bots in a file, which means a single bot (all parts need to be connected) and its program.
This blueprint can then easily inported to any existing rawbots world. This allows easy sharing your bots with other or simply dublicate them.
Create a blueprintEdit
- "4" + LMB on a bot
- The console will be opened and you have to type a name for the new blueprint
- LeftCtrl + LeftShift + LMB on the grond
- The console will be opened, showing a list of your saved bluprints
- Tab/LeftShift + Tab to select the blueprint
- Enter to confrim
- Back to the world view a preview will be shown
- LMB on the ground to spawn the bot
The devs plan to create a market-place for sharing/trading blueprints easily with each other, but for now we have to transfer our blueprint-files directly.
The files are located in
- Windows: "C:\Users\USERNAME\Documents\rawbots\blueprints"
- Mac / Linux: "~/rawbots/blueprints"
All files located there will be listed in the ingame blueprint list.