Skip to content

Actualization of all already translated to Russian manuals #554

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jun 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/en/manuals/debugging-native-code-ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,13 @@ You have a few options to debug an app

1. Either choose `Debug` -> `Attach to process...` and select the app from there

1. Or choose the `Attach to process by PID or Process name`
2. Or choose the `Attach to process by PID or Process name`

![select_device](images/extensions/debugging/ios/attach_to_process_name.png)

1. Start the app on the device
3. Start the app on the device

1. In `Edit Scheme` add the <AppName>.app folder as the executable
4. In `Edit Scheme` add the <AppName>.app folder as the executable

### Debug symbols

Expand Down
10 changes: 5 additions & 5 deletions docs/en/manuals/debugging-native-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,21 +102,21 @@ You can [upload the debug symbols to Google Play](https://developer.android.com/
$ ls <project>/build/<platform>/[lib]dmengine[.exe|.so]
```

1. Unzip to a folder:
2. Unzip to a folder:

```sh
$ unzip dmengine.apk -d dmengine_1_2_105
```

1. Find the callstack address
3. Find the callstack address

E.g. in the non symbolicated callstack it could look like this

`#00 pc 00257224 libmy_game_name.so`

Where *`00257224`* is the address

1. Resolve the address
4. Resolve the address

```sh
$ arm-linux-androideabi-addr2line -C -f -e dmengine_1_2_105/lib/armeabi-v7a/libdmengine.so _address_
Expand All @@ -133,13 +133,13 @@ Note: If you get hold of a stack trace from the [Android logs](/manuals/debuggin
# it will produce a Contents/Resources/DWARF/dmengine
```

1. If you're not using Native Extensions, download the vanilla symbols:
2. If you're not using Native Extensions, download the vanilla symbols:

```sh
$ wget http://d.defold.com/archive/<sha1>/engine/arm64-darwin/dmengine.dSYM
```

1. Symbolicate using load address
3. Symbolicate using load address

For some reason, simply putting the address from the callstack doesn't work (i.e. load address 0x0)

Expand Down
2 changes: 1 addition & 1 deletion docs/en/manuals/extender-local-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Once you have the above mentioned software installed follow these steps to insta
cp ${TMP_DIR}/$(ls ${TMP_DIR} | grep server-${EXTENDER_VERSION}.jar) ${APPLICATION_DIR}/extender.jar
cp ${TMP_DIR}/$(ls ${TMP_DIR} | grep manifestmergetool-${MANIFESTMERGETOOL_VERSION}.jar) ${APPLICATION_DIR}/manifestmergetool.jar
```
7. __Start the server__ - We can now start the server by running the docker compose main command:
6. __Start the server__ - We can now start the server by running the docker compose main command:
```sh
docker compose -p extender -f server/docker/docker-compose.yml --profile <profile> up
```
Expand Down
1 change: 0 additions & 1 deletion docs/en/manuals/factory.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,6 @@ The project setting *max_instances* in *Collection related settings* limits the

If you set *max_instances* to 1024 and have 24 manually placed game objects in your main collection, you can spawn an additional 1000 game objects. As soon as you delete a game object, you are free to spawn another instance.


## Pooling of game objects

It may seem like a good idea to save spawned game objects in a pool and reuse them. However, the engine is already doing object pooling under the hood so additional overhead will only slow things down. It is both faster and cleaner to delete game objects and spawn new ones.
2 changes: 0 additions & 2 deletions docs/en/manuals/gui.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,9 @@ function init(self)

-- get the new texture file assigned to the texture with id 'theme'
print(go.get("#gui", "textures", { key = "theme" })) -- /assets/mytheme.atlas

end
```


## Dependencies

The resource tree in a Defold game is static so any dependencies that you need for your GUI nodes need to be added to the component. The *Outline* groups all dependencies by type under "folders":
Expand Down
2 changes: 1 addition & 1 deletion docs/en/manuals/importing-graphics.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,4 @@ Learn more about particle effects in the [Particle fx manual](/manuals/particlef

![gui](images/graphics/gui.png)

Learn more about GUIs in the [GUI manual](/manuals/gui).
Learn more about GUIs in the [GUI manual](/manuals/gui).
5 changes: 0 additions & 5 deletions docs/en/manuals/importing-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@ Defold currently support models, skeletons and animations in GL Transmission For

![Model in Blender](images/model/blender.png)


## Importing to Defold
To import the model, simply drag and drop the *.gltf* file or *.dae* file and the corresponding texture image into the *Assets Pane* somewhere.

![Imported model assets](images/model/assets.png)


## Using a model
Once you have the model imported into Defold you can use it in a [Model component](/manuals/model).

Expand All @@ -34,7 +32,6 @@ Defold imposes some limitations on exported animation data:

* Animation clips in Collada are not supported. To use multiple animations per model, export them into separate *.dae* files and gather the files into an *.animationset* file in Defold.


### Requirements
When you export a model it's good to know that we don't yet support all features.
Currently known issues/not supported features from the glTF format:
Expand Down Expand Up @@ -63,9 +60,7 @@ You can then proceed to export the UV layout to an image that can be used as a t

![Export UV layout result](images/model/blender_export_uv_layout_result.png)


### Exporting using Blender
You export your model using the Export menu option. Select the model before you select the Export menu option and check "Selection Only" to only export the model.

![Exporting using Blender](images/model/blender_export.png)

2 changes: 0 additions & 2 deletions docs/en/manuals/mesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ resource.set_buffer(res, buf)

Refer to the [forum announcement post for more information](https://forum.defold.com/t/mesh-component-in-defold-1-2-169-beta/65137) on how to use the Mesh component, including sample projects and code snippets.


## Frustum culling

Mesh components are not automatically culled due to their dynamic nature and the fact that it is not possible to know for sure how the positional data is encoded. In order to cull a mesh the axis-aligned bounding box of the mesh needs to be set as meta data on the buffer using 6 floats (AABB min/max):
Expand All @@ -95,7 +94,6 @@ Mesh components are not automatically culled due to their dynamic nature and the
buffer.set_metadata(buf, hash("AABB"), { 0, 0, 0, 1, 1, 1 }, buffer.VALUE_TYPE_FLOAT32)
```


## Material constants

{% include shared/material-constants.md component='mesh' variable='tint' %}
Expand Down
1 change: 0 additions & 1 deletion docs/en/manuals/optimization-battery.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Refer to the manuals on how to [optimize runtime performance](/manuals/optimizat
## Disable accelerometer
If you are creating a mobile game which doesn't make use of the device accelerometer it is recommended to [disable it in *game.project*](/manuals/project-settings/#use-accelerometer) to reduce the number of generated input events.


# Platform specific optimizations

## Android Device Performance Framework
Expand Down
6 changes: 0 additions & 6 deletions docs/en/manuals/optimization-size.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ Facebook has a recommendation that a Facebook Instant Game should start in less

Playable ads are usually limited to between 2 and 5 MB depending on the ad network.


## Size optimization strategies
You can optimize the application size in two ways; by reducing the size of the engine and/or by reducing the size of the game assets.

Expand All @@ -31,7 +30,6 @@ To get a better understanding of what makes up the size of your application you
Defold will create a dependency tree when building and bundling your application. The build system will start from the bootstrap collection specified in the *game.project* file and inspect every referenced collection, game object and component to build a list of the assets that are in use. It is only these assets that will get included in the final application bundle. Anything not directly referenced will get excluded. While it is good to know that unused assets will not be included you as a developer still needs to consider what goes into the final application and the size of the individual assets and the total size of the application bundle.
:::


## Optimize engine size
A quick way to reduce the engine size is to remove functionality in the engine that you do not use. This is done [application manifest file](https://defold.com/manuals/app-manifest/) where it is possible to remove engine components that you do not need. Examples:

Expand All @@ -40,7 +38,6 @@ A quick way to reduce the engine size is to remove functionality in the engine t
* Image loaded - If your game does not manually load and decode images using `image.load()`
* BasisU - If your game has few textures, compare the build size without BasisU (removed via app manifest) and without texture compression versus a build with BasisU and compressed textures. For games with limited textures, it might be more beneficial to reduce the binary size and skip texture compression. Additionally, not using the transcoder can lower the amount of memory required to run your game.


## Optimize asset size
The biggest wins in terms of asset size optimizations are usually gained by reducing the size of sounds and textures.

Expand Down Expand Up @@ -88,14 +85,11 @@ You can read more about how to optimize and manage textures in [this forum post]
### Optimize fonts
The size of your fonts will be smaller if you specify what symbols you are going to use and set this in [Characters](/manuals/font/#properties) instead of using the All Chars checkbox.


### Exclude content for download on demand
Another way of reducing initial application size is to exclude parts of the game content from the application bundle and download it on demand. Defold provides a system called Live Update for excluding content for download on demand.

Excluded content can be anything from entire levels to unlockable characters, skins, weapons or vehicles. If your game has a lot of content, organize the loading process so that the bootstrap collection and the first level collection include the bare minimum resources required for that level. You achieve this by using collection proxies or factories with the "Exclude" checkbox enabled. Split resources according to the player's progress. This approach ensures efficient resource loading and keeps initial memory usage low. Learn more in the [Live Update manual](/manuals/live-update/).



## Android specific size optimizations
Android builds must support both 32-bit and 64-bit CPU architectures. When you [bundle for Android](/manuals/android) you can specify which CPU architectures to include:

Expand Down
9 changes: 4 additions & 5 deletions docs/en/manuals/optimization-speed.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ If you create loads of short lived objects such as Lua tables every frame this w
### Prehash message and action ids
If you do a lot of message handling or have many input events to deal with it is recommended to prehash the strings. Consider this piece of code:

```
```lua
function on_message(self, message_id, message, sender)
if message_id == hash("message1") then
msg.post(sender, hash("message3"))
Expand All @@ -30,7 +30,7 @@ end

In the above scenario the hashed string would be recreated every time a message is received. This can be improved by creating the hashed strings once and use the hashed versions when handling messages:

```
```lua
local MESSAGE1 = hash("message1")
local MESSAGE2 = hash("message2")
local MESSAGE3 = hash("message3")
Expand All @@ -48,7 +48,7 @@ end
### Prefer and cache URLs
Message passing or in other ways addressing a game object or component can be done both by providing an id as a string or hash or as a URL. If a string or hash is used it will internally be translated into a URL. It is therefore recommended to cache URLs that are used often, to get the best possible performance out of the system. Consider the following:

```
```lua
local pos = go.get_position("enemy")
local pos = go.get_position(hash("enemy"))
local pos = go.get_position(msg.url("enemy"))
Expand All @@ -57,7 +57,7 @@ Message passing or in other ways addressing a game object or component can be do

In all three cases the position of a game object with id `enemy` would be retrieved. In the first and second case the id (string or hash) would be converted into a URL before being used. This tells us that it's better to cache URLs and use the cached version for the best possible performance:

```
```lua
function init(self)
self.enemy_url = msg.url("enemy")
end
Expand All @@ -83,7 +83,6 @@ Reducing the scene graph complexity is needed if the profiler shows high values
## Frustum culling
The render script can automatically ignore rendering of game object component that are outside of a defined bounding box (frustum). Learn more about Frustum Culling in the [Render Pipeline manual](/manuals/render/#frustum-culling).


# Platform specific optimizations

## Android Device Performance Framework
Expand Down
2 changes: 0 additions & 2 deletions docs/en/manuals/physics-shapes.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ There are a number of different external tools that can be used to create collis
# Scaling collision shapes
The collision object and its shapes inherit the scale of the game object. To disable this behaviour uncheck the [Allow Dynamic Transforms](/manuals/project-settings/#allow-dynamic-transforms) checkbox in the Physics section of *game.project*. Note that only uniform scaling is supported and that the smallest scale value will be used if the scale isn't uniform.


# Resizing collision shapes
The shapes of a collision object can be resized at runtime using `physics.set_shape()`. Example:

Expand Down Expand Up @@ -133,7 +132,6 @@ physics.set_shape("#collisionobject", "my_box_shape", box_data)
A shape of the correct type with the specified id must already exist on the collision object.
:::


# Rotating collision shapes

## Rotating collision shapes in 3D physics
Expand Down
4 changes: 0 additions & 4 deletions docs/en/manuals/shader.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,6 @@ Shaders in Defold support including source code from files within the project th
#include "../root-level-snippet.glsl"
```

::: sidenote
Shader includes are available starting from version 1.4.2
:::

There are some caveats to how includes are picked up:

- Files must be project relative, meaning that you can only include files that are located within the project. Any absolute path must be specified with a leading `/`
Expand Down
4 changes: 0 additions & 4 deletions docs/en/manuals/sprite.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,6 @@ The attributes specified in the material will show up as regular properties in t

![sprite-attributes](../images/graphics/sprite-attributes.png)

::: sidenote
Custom attributes are available starting from Defold 1.4.8!
:::

## Project configuration

The *game.project* file has a few [project settings](/manuals/project-settings#sprite) related to sprites.
Expand Down
2 changes: 1 addition & 1 deletion docs/en/manuals/writing-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Defold uses Lua 5.1 and LuaJIT (depending on target platform) and you need to fo

## Using other languages that transpile to Lua

Starting from version 1.8.1, Defold supports the use of transpilers that emit Lua code. With transpiler extension installed, you can use alternative languages — such as [Teal](https://github.com/defold/extension-teal) — to write statically-checked Lua. It is a preview feature that has limitations: current transpiler support does not expose the information about modules and functions defined in the Defold Lua runtime. It means that using Defold APIs like `go.animate` will require you to write external definitions yourself.
Defold supports the use of transpilers that emit Lua code. With transpiler extension installed, you can use alternative languages — such as [Teal](https://github.com/defold/extension-teal) — to write statically-checked Lua. It is a preview feature that has limitations: current transpiler support does not expose the information about modules and functions defined in the Defold Lua runtime. It means that using Defold APIs like `go.animate` will require you to write external definitions yourself.

## Writing native code

Expand Down
6 changes: 6 additions & 0 deletions docs/ru/manuals/adapting-graphics-to-screen-size.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ brief: В этом руководстве объясняется, как ада
msg.post("@render:", "use_fixed_projection", { zoom = 4 })
```

::: sidenote
Тот же результат можно получить, прикрепив [компонент Камера](/manuals/camera/) к игровому объекту, установив *Ортографическая проекция* и задав *Ортографическое увеличение* со значением 4.0:

![](images/screen_size/retro-camera_zoom.png)
:::

Это даст нам следующий результат:

![](images/screen_size/retro-zoomed_1280x800.png)
Expand Down
Loading