diff --git a/frontend/core/src/com/game/tankwars/model/Terrain.java b/frontend/core/src/com/game/tankwars/model/Terrain.java
new file mode 100644
index 0000000000000000000000000000000000000000..c7b143e9b58b7c1796d64a3a80c7566a6f3cf403
--- /dev/null
+++ b/frontend/core/src/com/game/tankwars/model/Terrain.java
@@ -0,0 +1,47 @@
+package com.game.tankwars.model;
+
+import com.badlogic.gdx.math.Vector2;
+import com.badlogic.gdx.physics.box2d.Body;
+import com.badlogic.gdx.physics.box2d.BodyDef;
+import com.badlogic.gdx.physics.box2d.ChainShape;
+import com.badlogic.gdx.physics.box2d.FixtureDef;
+import com.badlogic.gdx.physics.box2d.World;
+
+import java.util.Arrays;
+
+public class Terrain {
+    World world;
+    Body body;
+    final Vector2[] vertices;
+    Vector2 position;
+
+    public Terrain(){
+
+        float xStart = -5;
+        float xEnd = 100;
+        float yMin = 1f;
+        float yMax = 10;
+        int points = 10;
+        int vertNumber = 1000;
+
+        this.world = Box2dWorld.getWorld();
+        BodyDef bodyDef = new BodyDef();
+        bodyDef.type = BodyDef.BodyType.StaticBody;
+        bodyDef.position.set(0,0);
+
+        vertices = new TerrainGenerator(xStart, xEnd, yMin, yMax, points).generateVertices(vertNumber);
+
+        ChainShape chainShape = new ChainShape();
+        chainShape.createChain(vertices);
+
+        FixtureDef fixtureDef = new FixtureDef();
+        fixtureDef.friction = 0.5f;
+        fixtureDef.restitution = 0;
+        fixtureDef.shape = chainShape;
+
+        body = world.createBody(bodyDef);
+        body.createFixture(fixtureDef);
+
+        chainShape.dispose();
+    }
+}
diff --git a/frontend/core/src/com/game/tankwars/view/GameScreen.java b/frontend/core/src/com/game/tankwars/view/GameScreen.java
index 7247d8ddbafa77224753cadf34d393258b117ab0..1b23b2796ece6de15555355f88225d85c947f321 100644
--- a/frontend/core/src/com/game/tankwars/view/GameScreen.java
+++ b/frontend/core/src/com/game/tankwars/view/GameScreen.java
@@ -19,6 +19,7 @@ import com.game.tankwars.TankWarsGame;
 import com.game.tankwars.model.Box2dWorld;
 import com.game.tankwars.model.Bullet;
 import com.game.tankwars.model.Tank;
+import com.game.tankwars.model.Terrain;
 
 public class GameScreen implements Screen {
     final TankWarsGame tankWarsGame;
@@ -32,6 +33,7 @@ public class GameScreen implements Screen {
     private Tank tank;
     private Box2dWorld model;
     private World world;
+    private Terrain terrain;
 
     private OrthographicCamera cam;
     private Box2DDebugRenderer debugRenderer;
@@ -51,6 +53,9 @@ public class GameScreen implements Screen {
         tank = new Tank(tankPos, new Texture("tank-khaki.png"));
         horizontalScaling = Gdx.graphics.getWidth() / VIEWPORT_WIDTH;
         verticalScaling = Gdx.graphics.getHeight() / VIEWPORT_HEIGHT;
+
+        terrain = new Terrain();
+
     }
     @Override
     public void render(float delta) {