PageSourceSearch

https://alekseysavchenko.com/about-aleksey-savchenko/

html alekseysavchenko.com collected 2026-10-08 18:48:05 UTC 94,630 bytes, 963 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en-GB">
3	<head>
4		<meta charset="UTF-8">
5		<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, user-scalable=no">
6		<meta http-equiv="X-UA-Compatible" content="IE=edge">
7				<style>
8						#astroidzContainer {
9				background: radial-gradient(ellipse at center, #383d3f 0%, #000000 60%);
10			}
11		</style>
12		<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
13
14	<!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ -->
15	<title>About - Aleksey Savchenko</title>
16	<meta name="description" content="Learn how a celebrated career in the games industry inspired author Aleksey Savchenko to develop his own creative universe." />
17	<link rel="canonical" href="https://alekseysavchenko.com/about-aleksey-savchenko/" />
18	<meta property="og:locale" content="en_GB" />
19	<meta property="og:type" content="article" />
20	<meta property="og:title" content="About - Aleksey Savchenko" />
21	<meta property="og:description" content="Learn how a celebrated career in the games industry inspired author Aleksey Savchenko to develop his own creative universe." />
22	<meta property="og:url" content="https://alekseysavchenko.com/about-aleksey-savchenko/" />
23	<meta property="og:site_name" content="Aleksey Savchenko" />
24	<meta property="article:modified_time" content="2026-09-18T10:37:26+00:00" />
25	<meta property="og:image" content="https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2.jpg" />
26	<meta name="twitter:card" content="summary_large_image" />
27	<meta name="twitter:label1" content="Estimated reading time" />
28	<meta name="twitter:data1" content="4 minutes" />
29	
29<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/","url":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/","name":"About - Aleksey Savchenko","isPartOf":{"@id":"https:\/\/alekseysavchenko.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/#primaryimage"},"image":{"@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/#primaryimage"},"thumbnailUrl":"https:\/\/alekseysavchenko.com\/wp-content\/uploads\/2026\/03\/Aleksey_Savchanko_about_2.jpg","datePublished":"2026-02-17T15:29:14+00:00","dateModified":"2026-09-18T10:37:26+00:00","description":"Learn how a celebrated career in the games industry inspired author Aleksey Savchenko to develop his own creative universe.","breadcrumb":{"@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/#primaryimage","url":"https:\/\/alekseysavchenko.com\/wp-content\/uploads\/2026\/03\/Aleksey_Savchanko_about_2.jpg","contentUrl":"https:\/\/alekseysavchenko.com\/wp-content\/uploads\/2026\/03\/Aleksey_Savchanko_about_2.jpg","width":1333,"height":2000,"caption":"Games developer and author Aleksey Savchenko"},{"@type":"BreadcrumbList","@id":"https:\/\/alekseysavchenko.com\/about-aleksey-savchenko\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/alekseysavchenko.com\/"},{"@type":"ListItem","position":2,"name":"About"}]},{"@type":"WebSite","@id":"https:\/\/alekseysavchenko.com\/#website","url":"https:\/\/alekseysavchenko.com\/","name":"Aleksey Savchenko","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alekseysavchenko.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"}]}</script>
29
30	<!-- / Yoast SEO plugin. -->
31
32
33<link rel='dns-prefetch' href='//maps.googleapis.com' />
34<link rel='dns-prefetch' href='//www.google.com' />
35<link rel="alternate" type="application/rss+xml" title="Aleksey Savchenko &raquo; Feed" href="https://alekseysavchenko.com/feed/" />
36<link rel="alternate" type="application/rss+xml" title="Aleksey Savchenko &raquo; Comments Feed" href="https://alekseysavchenko.com/comments/feed/" />
37<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://alekseysavchenko.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Falekseysavchenko.com%2Fabout-aleksey-savchenko%2F" />
38<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://alekseysavchenko.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Falekseysavchenko.com%2Fabout-aleksey-savchenko%2F&#038;format=xml" />
39
40<link rel='stylesheet' id='owl-carousel-css' href='https://alekseysavchenko.com/wp-content/plugins/vice-elementor/assets/components/owl-carousel/dist/assets/owl.carousel.min.css?ver=2.3.2' media='all' />
41<link rel='stylesheet' id='vice-elementor-css' href='https://alekseysavchenko.com/wp-content/plugins/vice-elementor/assets/css/extend.css?ver=7.1.3' media='all' />
42<style id="wp-emoji-styles-inline-css">
43
44	img.wp-smiley, img.emoji {
45		display: inline !important;
46		border: none !important;
47		box-shadow: none !important;
48		height: 1em !important;
49		width: 1em !important;
50		margin: 0 0.07em !important;
51		vertical-align: -0.1em !important;
52		background: none !important;
53		padding: 0 !important;
54	}
55/*# sourceURL=wp-emoji-styles-inline-css */
56</style>
57<style id="classic-theme-styles-inline-css">
58/*! This file is auto-generated */
59.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
60/*# sourceURL=/wp-includes/css/classic-themes.min.css */
61</style>
62<style id="global-styles-inline-css">
63:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
63--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
63.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
64:root :where(.wp-block-icon svg){width: 24px;}
65:where(.wp-block-gallery.is-layout-flex){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}:where(.wp-block-gallery.is-layout-grid){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}
66:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;}
67:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
68:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}
69:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
70:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
71/*# sourceURL=global-styles-inline-css */
72</style>
73<link rel='stylesheet' id='astroidz-style-css' href='https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/css/astroidz-style.css?ver=1.0.0' media='all' />
74<link rel='stylesheet' id='contact-form-7-css' href='https://alekseysavchenko.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7' media='all' />
75<link rel='stylesheet' id='mailerlite_forms.css-css' href='https://alekseysavchenko.com/wp-content/plugins/official-mailerlite-sign-up-forms/assets/css/mailerlite_forms.css?ver=1.7.26' media='all' />
76<link rel='stylesheet' id='QtswipeStyle-css' href='https://alekseysavchenko.com/wp-content/plugins/qt-swipebox/swipebox/css/swipebox.min.css?ver=7.1.3' media='all' />
77<link rel='stylesheet' id='cmplz-general-css' href='https://alekseysavchenko.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1789646579' media='all' />
78<link rel='stylesheet' id='vice-css' href='https://alekseysavchenko.com/wp-content/themes/vice/style.css?ver=7.1.3' media='all' />
79<link rel='stylesheet' id='vice-dhrk-css' href='https://alekseysavchenko.com/wp-content/themes/vice-dhrk/style.css?ver=7.1.3' media='all' />
80<link rel='stylesheet' id='dhrk-css' href='https://alekseysavchenko.com/wp-content/themes/vice-dhrk/assets/css/dhrk.css?ver=7.1.3' media='all' />
81<link rel='stylesheet' id='_s-mainstyle-css' href='https://alekseysavchenko.com/wp-content/themes/vice/css/main.css?ver=7.1.3' media='all' />
82<link rel='stylesheet' id='_s-style-css' href='https://alekseysavchenko.com/wp-content/themes/vice-dhrk/style.css?ver=7.1.3' media='all' />
83<link rel='stylesheet' id='elementor-frontend-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.2.4' media='all' />
84<link rel='stylesheet' id='elementor-post-8-css' href='https://alekseysavchenko.com/wp-content/uploads/elementor/css/post-8.css?ver=1791311837' media='all' />
85<link rel='stylesheet' id='font-awesome-5-all-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/all.min.css?ver=4.2.4' media='all' />
86<link rel='stylesheet' id='font-awesome-4-shim-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/v4-shims.min.css?ver=4.2.4' media='all' />
87<link rel='stylesheet' id='widget-heading-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=4.2.4' media='all' />
88<link rel='stylesheet' id='widget-image-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=4.2.4' media='all' />
89<link rel='stylesheet' id='widget-testimonial-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/css/widget-testimonial.min.css?ver=4.2.4' media='all' />
90<link rel='stylesheet' id='widget-divider-css' href='https://alekseysavchenko.com/wp-content/plugins/elementor/assets/css/widget-divider.min.css?ver=4.2.4' media='all' />
91<link rel='stylesheet' id='elementor-post-802-css' href='https://alekseysavchenko.com/wp-content/uploads/elementor/css/post-802.css?ver=1791319186' media='all' />
92<link rel='stylesheet' id='eael-general-css' href='https://alekseysavchenko.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/css/view/general.min.css?ver=6.8.4' media='all' />
93<link rel='stylesheet' id='cmplz-banner-1-optin-css' href='https://alekseysavchenko.com/wp-content/uploads/complianz/css/banner-1-optin.css?ver=1789646586' media='all' />
94<link rel='stylesheet' id='elementor-gf-roboto-css' href='https://fonts.googleapis.com/css?family=Roboto:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&display=swap' media='all' />
95<link rel='stylesheet' id='elementor-gf-robotoslab-css' href='https://fonts.googleapis.com/css?family=Roboto+Slab:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&display=swap' media='all' />
96<script id="jquery-core-js" src="https://alekseysavchenko.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 96
96
97<script id="jquery-migrate-js" src="https://alekseysavchenko.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 97
97
98<script id="google-maps-js" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB-LBXKKQSPihdzG3D2iiClHvCDZ_Xr184&ver=7.1.3"></script>
vendor: 1 bytes, line 98
98
99<script id="google-jsapi-js" src="https://www.google.com/jsapi?ver=7.1.3"></script>
vendor: 1 bytes, line 99
99
100<script id="font-awesome-4-shim-js" src="https://alekseysavchenko.com/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?ver=4.2.4"></script>
100
101<link rel="https://api.w.org/" href="https://alekseysavchenko.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://alekseysavchenko.com/wp-json/wp/v2/pages/802" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://alekseysavchenko.com/xmlrpc.php?rsd" />
102<meta name="generator" content="WordPress 7.1.3" />
103<link rel='shortlink' href='https://alekseysavchenko.com/?p=802' />
104<meta name="cdp-version" content="1.5.6" />        <!-- MailerLite Universal -->
105        
105<script>
106            (function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
107                .push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
108                n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
109            (window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
110            ml('account', '2403752');
111            ml('enablePopups', true);
112        </script>
112
113        <!-- End MailerLite Universal -->
114        			<style>.cmplz-hidden {
115					display: none !important;
116				}</style>
117				<meta name="og:url" content="https://alekseysavchenko.com/about-aleksey-savchenko/" /><meta name="generator" content="Elementor 4.2.4; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap">
118			<style>
119				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
120				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
121					background-image: none !important;
122				}
123				@media screen and (max-height: 1024px) {
124					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
125					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
126						background-image: none !important;
127					}
128				}
129				@media screen and (max-height: 640px) {
130					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
131					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
132						background-image: none !important;
133					}
134				}
135			</style>
136			<link rel="icon" href="https://alekseysavchenko.com/wp-content/uploads/2026/05/cropped-Favicon-1-32x32.png" sizes="32x32" />
137<link rel="icon" href="https://alekseysavchenko.com/wp-content/uploads/2026/05/cropped-Favicon-1-192x192.png" sizes="192x192" />
138<link rel="apple-touch-icon" href="https://alekseysavchenko.com/wp-content/uploads/2026/05/cropped-Favicon-1-180x180.png" />
139<meta name="msapplication-TileImage" content="https://alekseysavchenko.com/wp-content/uploads/2026/05/cropped-Favicon-1-270x270.png" />
140<style id="wp-custom-css">
141/* ===== DHRK / Vice footer fix ===== */
142
143/* Target the actual footer row */
144.vice-footer-widget .dhrk-footer-widget .dhrk-container .row,
145.dhrk-footer-widget .dhrk-container .row {
146    display: flex !important;
147    flex-wrap: nowrap !important;
148    justify-content: space-between !important;
149    align-items: flex-start !important;
150    margin: 0 !important;
151}
152
153/* Target the actual footer columns */
154.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3,
155.dhrk-footer-widget .dhrk-container .row > .col-md-3 {
156    flex: 1 1 0 !important;
157    max-width: none !important;
158    width: auto !important;
159    float: none !important;
160    padding-left: 0 !important;
161    padding-right: 0 !important;
162    margin: 0 !important;
163}
164
165/* Hide the fourth footer column completely */
166.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(4),
167.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(4) {
168    display: none !important;
169}
170
171/* Push the three visible columns apart */
172.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(1),
173.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(2),
174.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(3),
175.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(1),
176.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(2),
177.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(3) {
178    display: flex !important;
179    flex-direction: column !important;
180}
181
182/* Alignment */
183.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(1),
184.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(1) {
185    text-align: left !important;
186    align-items: flex-start !important;
187}
188
189.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(2),
190.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(2) {
191    text-align: center !important;
192    align-items: center !important;
193}
194
195.vice-footer-widget .dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(3),
196.dhrk-footer-widget .dhrk-container .row > .col-md-3:nth-child(3) {
197    text-align: right !important;
198    align-items: flex-end !important;
199}
200
201/* Remove top offsets that make the bio sit higher */
202.vice-footer-widget .dhrk-footer-widget h1,
203.vice-footer-widget .dhrk-footer-widget h2,
204.vice-footer-widget .dhrk-footer-widget h3,
205.vice-footer-widget .dhrk-footer-widget h4,
206.vice-footer-widget .dhrk-footer-widget h5,
207.vice-footer-widget .dhrk-footer-widget h6,
208.vice-footer-widget .dhrk-footer-widget p,
209.vice-footer-widget .dhrk-footer-widget ul,
210.dhrk-footer-widget h1,
211.dhrk-footer-widget h2,
212.dhrk-footer-widget h3,
213.dhrk-footer-widget h4,
214.dhrk-footer-widget h5,
215.dhrk-footer-widget h6,
216.dhrk-footer-widget p,
217.dhrk-footer-widget ul {
218    margin-top: 0 !important;
219}
220
221/* Clean menu list */
222.vice-footer-widget .dhrk-footer-widget ul,
223.dhrk-footer-widget ul {
224    list-style: none !important;
225    padding-left: 0 !important;
226    margin-bottom: 0 !important;
227}
228
229}* tighten footer spacing */
230.dhrk-footer-widget {
231	  padding-bottom: 10px !important;
232}
233
234.dhrk-page-footer {
235	 padding-top: 5px !important;
236	 padding-bottom: 5px !important;
237	 margin-bottom: 0 !important;
238}
239
240.dhrk-pagefooter {
241    padding: 30px;
242}
243
244
245.mailerlite-form-field input {
246    width: 100%;
247}
248.mailerlite-form-field input::placeholder {
249   color:#f7f7ff; 
250}
251.mailerlite-form-inputs label {
252    display: none!important;
253}
254.mailerlite-form .mailerlite-subscribe-button-container button {
255    background: #ff2c7b;
256}
257</style>
258	</head>
259	<body data-cmplz=1 id="theBody" class="wp-singular page-template page-template-elementor_header_footer page page-id-802 wp-theme-vice wp-child-theme-vice-dhrk dhrk vice-dhrk qw_palette_dark qw-menutype1 vice-body-background-fullscreen qw-is_desktop vice-elementor elementor-default elementor-template-full-width elementor-kit-8 elementor-page elementor-page-802" data-vice-glitch-arrogance="30" data-qwajx="1" data-maincolor="#d5003c" data-jsdebug="">
260				<div class="vice-theme-container" id="vice-theme-container">
261			<div class="qw-header-fixed qw-animated vice-menu vice-menu--alternative" id="qwFixedHeader">
262	<div class="vice-menu__contents">
263		 <a href="https://alekseysavchenko.com/" class="qw_site_logo" id="qwLogo"><img src="https://alekseysavchenko.com/wp-content/uploads/2026/02/logo.png" class="img-responsive" alt="Home"></a>		<nav id="viceMenunav" class="vice-menu-horizontal">
264							<div class="vice-menu-horizontal_c">
265					<ul id="vice-menubar" class="vice-menubar">
266					<li id="menu-item-598" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-598"><a href="https://alekseysavchenko.com/">Home</a></li>
267<li id="menu-item-1158" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1158"><a href="https://alekseysavchenko.com/category/news/">News</a></li>
268<li id="menu-item-1601" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-802 current_page_item menu-item-has-children menu-item-1601"><a href="https://alekseysavchenko.com/about-aleksey-savchenko/" aria-current="page">About</a>
269<ul class="sub-menu">
270	<li id="menu-item-1536" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1536"><a href="https://alekseysavchenko.com/books/">Books</a></li>
271</ul>
272</li>
273<li id="menu-item-1372" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1372"><a href="https://alekseysavchenko.com/world-building-fiction-by-aleksey-savchenko/">Fiction</a></li>
274<li id="menu-item-952" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-952"><a href="https://alekseysavchenko.com/breaking-into-the-games-industry/">Games Industry</a></li>
275<li id="menu-item-953" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-953"><a href="https://alekseysavchenko.com/winning-in-the-game-industry-when-youre-neurodivergent/">Neurodiversity</a></li>
276<li id="menu-item-969" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-969"><a href="https://alekseysavchenko.com/media/">Media</a></li>
277<li id="menu-item-979" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-979"><a href="https://alekseysavchenko.com/contact/">Contact</a></li>
278					</ul>
279				</div>
280					</nav>
281		<div class="vice-menu__icon  vice-menu__icon--desktop ">
282			<a href="#" class="vice-menu-icon" id="qwMenuToggle">
283	<hr class="vice-menu-icon__a">
284	<hr class="vice-menu-icon__b">
285	<hr class="vice-menu-icon__c">
286</a>		</div>
287		<div class="vice-menu__functions">
288			<div class="vice-sharepage-top">
289	<a href="#" class="qw-shareall" id="qwShareall" data-toggleclass="open" data-target="qwShareallC" data-toggleclass2="hidden-xs" data-target2="qwLogo">
290	    <span class="qticon-share"></span>
291	</a>
292	<div class="qw-sharepage-top qw-animated vice-sharepage-top__contents" id="qwShareallC">
293		<div class="vice-sharepage-top__contents__inner">
294			<a href="#" data-type="twitter" 
295			data-url="https://alekseysavchenko.com/about-aleksey-savchenko/" 	 
296			data-description="About Aleksey Savchenko Learn how a celebrated career in the games industry inspired Aleksey to develop his own creative universe   About Aleksey Savchenko Originally from Ukraine but now based in the UK, Aleksey Savchenko is an author, futurist, …" 
297			data-via=""	
298			data-media="" 
299			class="prettySocial" ><span class="qticon-twitter"></span></a>
300
301			<a href="#" id="qtFacebookShareButton"
302			data-type="facebook" 
303			data-url="https://alekseysavchenko.com/about-aleksey-savchenko/" 	 
304			data-description="About Aleksey Savchenko Learn how a celebrated career in the games industry inspired Aleksey to develop his own creative universe   About Aleksey Savchenko Originally from Ukraine but now based in the UK, Aleksey Savchenko is an author, futurist, …"
305			data-media="" 
306			class="prettySocial"><span class="qticon-facebook"></span></a>
307
308			<a href="#" data-type="pinterest" 
309			data-url="https://alekseysavchenko.com/about-aleksey-savchenko/"  
310			data-description="About Aleksey Savchenko Learn how a celebrated career in the games industry inspired Aleksey to develop his own creative universe   About Aleksey Savchenko Originally from Ukraine but now based in the UK, Aleksey Savchenko is an author, futurist, …"  
311			class="prettySocial" data-media="" ><span class="qticon-pinterest"></span></a>
312		</div>
313
314	</div>
315</div>		</div>
316	</div>
317</div>
318<div id="nav">
319    <div class="qw-scroller">        
320        <div class="qw-menucontainer">
321            <a href="https://alekseysavchenko.com/" class="qw_site_logo" id="qwLogo"><img src="https://alekseysavchenko.com/wp-content/uploads/2026/02/ALEKSEY-SAVCHENKO.png" class="img-responsive" alt="Home"></a><ul id="qwtoggle" class="qw-sidebarmenu toggle"><li id="menu-item-1677" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-1677"><a href="https://alekseysavchenko.com/">Home</a></li>
322<li id="menu-item-1682" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1682"><a href="https://alekseysavchenko.com/news-about-aleksey-savchenko/">News</a></li>
323<li id="menu-item-1678" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-802 current_page_item menu-item-1678"><a href="https://alekseysavchenko.com/about-aleksey-savchenko/" aria-current="page">About</a></li>
324<li id="menu-item-1685" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1685"><a href="https://alekseysavchenko.com/books/">Books</a></li>
325<li id="menu-item-1684" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1684"><a href="https://alekseysavchenko.com/world-building-fiction-by-aleksey-savchenko/">World-Building: Fiction by Aleksey Savchenko</a></li>
326<li id="menu-item-1679" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1679"><a href="https://alekseysavchenko.com/breaking-into-the-games-industry/">Breaking Into the Games Industry</a></li>
327<li id="menu-item-1683" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1683"><a href="https://alekseysavchenko.com/winning-in-the-game-industry-when-youre-neurodivergent/">Winning in the Game Industry When You’re Neurodivergent</a></li>
328<li id="menu-item-1681" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1681"><a href="https://alekseysavchenko.com/media/">Media</a></li>
329<li id="menu-item-1680" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1680"><a href="https://alekseysavchenko.com/contact/">Contact</a></li>
330</ul><div class="dhrk-widgets-bar"><aside id="search-1" class="dhrk-widget widget widget_search"><section class="dhrk-widget-header"><span class="vice-separator vice-separator--number"><span>Search</span></span></section><!-- /form widget-->
331<form method="get" class="form-horizontal" action="https://alekseysavchenko.com/" role="search">
332	
333	  <input class="" name="s" placeholder="Type and press enter &hellip;" type="text" />
334	  
335	   
336</form><!-- /.form-horizontal -->
337</aside></div> 
338            <div class="qw-footertext">
339                <b>© 2026 Aleksey Savchenko. All rights reserved.</b> |
340<a href="https://alekseysavchenko.com/privacy-policy">Privacy Policy</a> |
341<a href="https://alekseysavchenko.com/website-terms-of-use">Website Terms of Use</a> |
342<a href="https://alekseysavchenko.com/cookie-policy-uk">Cookie Policy</a>                            </div>
343            <div class="qw-socialicons">
344                <a href="https://www.facebook.com/aleksey.savchenko" class="qw_social" target="_blank"><span class="qticon-facebook"></span></a><a href="https://www.instagram.com/_alekseysav_/" class="qw_social" target="_blank"><span class="qticon-instagram"></span></a><a href="https://www.tiktok.com/@cybersideme" class="qw_social" target="_blank"><span class="qticon-tiktok"></span></a><a href="https://www.youtube.com/@AlexeySavchenko" class="qw_social" target="_blank"><span class="qticon-youtube"></span></a>            </div>
345        </div>
346    </div>
347</div>
348			
349			<div class="qw-totalcontainer" id="vice-ajaxcontents">
350				<div class="qw-content-wrapper" id="canvas" >		<div data-elementor-type="wp-page" data-elementor-id="802" class="elementor elementor-802">
351				<div class="elementor-element elementor-element-01be355 e-con-full e-flex e-con e-parent" data-id="01be355" data-element_type="container" data-e-type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
352				<div class="elementor-element elementor-element-9d126bc elementor-widget elementor-widget-heading" data-id="9d126bc" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
353					<h1 class="elementor-heading-title elementor-size-default">About Aleksey Savchenko</h1>				</div>
354				<div class="elementor-element elementor-element-2a50ffb elementor-widget elementor-widget-text-editor" data-id="2a50ffb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
355									<p><strong>Learn how a celebrated career in the games industry inspired Aleksey to develop his own creative universe</strong></p>								</div>
356				</div>
357		<div class="elementor-element elementor-element-0704f24 e-con-full e-flex e-con e-parent" data-id="0704f24" data-element_type="container" data-e-type="container">
358		<div class="elementor-element elementor-element-6678367 e-con-full e-flex e-con e-child" data-id="6678367" data-element_type="container" data-e-type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
359				<div class="elementor-element elementor-element-be648fe elementor-widget elementor-widget-image" data-id="be648fe" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
360															<img fetchpriority="high" decoding="async" width="1333" height="2000" src="https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2.jpg" class="attachment-full size-full wp-image-814" alt="Games developer and author Aleksey Savchenko" srcset="https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2.jpg 1333w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2-200x300.jpg 200w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2-682x1024.jpg 682w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2-768x1152.jpg 768w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2-1024x1536.jpg 1024w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey_Savchanko_about_2-400x600.jpg 400w" sizes="(max-width: 1333px) 100vw, 1333px" />															</div>
361				</div>
362		<div class="elementor-element elementor-element-5fb3a51 e-con-full e-flex e-con e-child" data-id="5fb3a51" data-element_type="container" data-e-type="container">
363				<div class="elementor-element elementor-element-8f1bba4 elementor-widget elementor-widget-heading" data-id="8f1bba4" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
364					<h2 class="elementor-heading-title elementor-size-default">About Aleksey Savchenko</h2>				</div>
365				<div class="elementor-element elementor-element-e99c187 elementor-widget elementor-widget-text-editor" data-id="e99c187" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
366									<p data-start="1173" data-end="1486">Originally from Ukraine but now based in the UK, Aleksey Savchenko is an author, futurist, technology commentator and veteran game developer with more than 26 years in the international games industry. His work spans speculative fiction, mythic fantasy and non-fiction exploring the realities of game development.</p><p data-start="1488" data-end="1803">He studied linguistics and semiotics at the National University of Kyiv-Mohyla Academy in Kyiv, where he also established an early reputation as a writer. He won inter-faculty competitions for original comedy sketches and screenplays, while his poetry appeared in international collections during his student years.</p><p data-start="1805" data-end="2368">While still at university, he began contributing to gaming magazines. Games had been part of Aleksey’s life since childhood — initially as escape, but soon as obsession. Alongside literature and creative writing, he became fascinated by the combination of storytelling, systems and interactive worlds that games could offer. As Ukraine’s late-1990s PC gaming scene expanded, he began designing his own concepts, assembling small development teams with friends in his hometown of Donetsk, and gradually moving into professional game design and world-building work.</p>								</div>
367				</div>
368				</div>
369		<div class="elementor-element elementor-element-1bdf0b7 e-flex e-con-boxed e-con e-parent" data-id="1bdf0b7" data-element_type="container" data-e-type="container">
370					<div class="e-con-inner">
371				<div class="elementor-element elementor-element-13658bf elementor-widget elementor-widget-testimonial" data-id="13658bf" data-element_type="widget" data-e-type="widget" data-widget_type="testimonial.default">
372							<div class="elementor-testimonial-wrapper">
373							<div class="elementor-testimonial-content"><b><i>“Savchenko is a born storyteller with the nerve to take on big ideas head-on — and pull them off. A unique, unmissable talent.”</i></b></div>
374			
375						<div class="elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-aside">
376				<div class="elementor-testimonial-meta-inner">
377											<div class="elementor-testimonial-image">
378							<img decoding="async" width="300" height="300" src="https://alekseysavchenko.com/wp-content/uploads/2026/04/1d-UE_B_400x400.png" class="attachment-full size-full wp-image-1314" alt="" srcset="https://alekseysavchenko.com/wp-content/uploads/2026/04/1d-UE_B_400x400.png 300w, https://alekseysavchenko.com/wp-content/uploads/2026/04/1d-UE_B_400x400-150x150.png 150w, https://alekseysavchenko.com/wp-content/uploads/2026/04/1d-UE_B_400x400-250x250.png 250w" sizes="(max-width: 300px) 100v
378w, 300px" />						</div>
379					
380										<div class="elementor-testimonial-details">
381														<div class="elementor-testimonial-name">John Ward</div>
382																						<div class="elementor-testimonial-job">Daily Express</div>
383													</div>
384									</div>
385			</div>
386					</div>
387						</div>
388					</div>
389				</div>
390		<div class="elementor-element elementor-element-6aa298e e-flex e-con-boxed e-con e-parent" data-id="6aa298e" data-element_type="container" data-e-type="container">
391					<div class="e-con-inner">
392		<div class="elementor-element elementor-element-fd12c41 e-con-full e-flex e-con e-child" data-id="fd12c41" data-element_type="container" data-e-type="container">
393				<div class="elementor-element elementor-element-ea0741e elementor-widget elementor-widget-heading" data-id="ea0741e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
394					<h2 class="elementor-heading-title elementor-size-default">From Page to System</h2>				</div>
395				<div class="elementor-element elementor-element-fb41053 elementor-widget elementor-widget-text-editor" data-id="fb41053" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
396									<p>Aleksey began his professional career in Ukraine’s games industry before later working across international studios and development teams, including roles connected to GSC Game World and Epic Games. Over more than two decades in the industry, he has worked across world-building, production, licensing and studio leadership, contributing to more than a dozen released titles, including <em>Fortnite</em> and <em>S.T.A.L.K.E.R. 2</em>.</p><p>Alongside development work, Aleksey has helped build international partnerships across the European games sector and played a role in expanding relationships between Unreal Engine and developers across Eastern Europe. His wider work has included collaborations and projects connected to companies such as Square Enix, 2K and 505 Games. He is also a BAFTA member and has spoken at international industry events including Game Developers Conference and Gamescom.</p><p>He now writes from inside that environment to help the next generation of professionals to thrive in the games industry.</p>								</div>
397				<div class="elementor-element elementor-element-3fde530 elementor-widget elementor-widget-vice-elementor-button" data-id="3fde530" data-element_type="widget" data-e-type="widget" data-widget_type="vice-elementor-button.default">
398				<div class="elementor-widget-container">
399					<p class="aligncenter"><a href="https://alekseysavchenko.com/breaking-into-the-games-industry/"  class="btn vice-btn vice-btn--aligncenter "><span>Learn More</span></a></p>				</div>
400				</div>
401				</div>
402		<div class="elementor-element elementor-element-b04a4d8 e-con-full e-flex e-con e-child" data-id="b04a4d8" data-element_type="container" data-e-type="container">
403				<div class="elementor-element elementor-element-e0ae684 elementor-widget elementor-widget-image" data-id="e0ae684" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
404															<img decoding="async" width="530" height="796" src="https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-682x1024.jpg" class="attachment-large size-large wp-image-1074" alt="" srcset="https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-682x1024.jpg 682w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-200x300.jpg 200w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-768x1152.jpg 768w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-1024x1536.jpg 1024w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1-400x600.jpg 400w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Aleksey-Savchanko-016-1.jpg 1333w" sizes="(max-width: 530px) 100vw, 530px" />															</div>
405				</div>
406					</div>
407				</div>
408		<div class="elementor-element elementor-element-66b3ec7 e-flex e-con-boxed e-con e-parent" data-id="66b3ec7" data-element_type="container" data-e-type="container">
409					<div class="e-con-inner">
410				<div class="elementor-element elementor-element-7ede5a1 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="7ede5a1" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
411							<div class="elementor-divider">
412			<span class="elementor-divider-separator">
413						</span>
414		</div>
415						</div>
416					</div>
417				</div>
418		<div class="elementor-element elementor-element-034b478 e-flex e-con-boxed e-con e-parent" data-id="034b478" data-element_type="container" data-e-type="container">
419					<div class="e-con-inner">
420		<div class="elementor-element elementor-element-17f3cf2 e-con-full e-flex e-con e-child" data-id="17f3cf2" data-element_type="container" data-e-type="container">
421				<div class="elementor-element elementor-element-2732332 elementor-widget elementor-widget-image" data-id="2732332" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
422															<img loading="lazy" decoding="async" width="1000" height="1491" src="https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover.jpg" class="attachment-full size-full wp-image-839" alt="Cyberside: Level Zero by Aleksey Savchenko" srcset="https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover.jpg 1000w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover-201x300.jpg 201w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover-687x1024.jpg 687w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover-768x1145.jpg 768w, https://alekseysavchenko.com/wp-content/uploads/2026/03/Cyberside-Level-Zero-by-Aleksey-Savchenko-front-cover-402x600.jpg 402w" sizes="(max-width: 1000px) 100vw, 1000px" />															</div>
423				<div class="elementor-element elementor-element-bf88ae3 elementor-widget elementor-widget-text-editor" data-id="bf88ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
424									<p><em>​“A masterclass in speculative fiction, blending insider knowledge of the gaming industry with profound insights into corporate ambition and technological evolution. Utterly unputdownable.&#8221;</em>​</p>								</div>
425				<div class="elementor-element elementor-element-80295e5 elementor-widget elementor-widget-text-editor" data-id="80295e5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
426									<p><em><strong>Chris Riches, Daily Express</strong></em></p>								</div>
427				</div>
428		<div class="elementor-element elementor-element-f3f3bc7 e-con-full e-flex e-con e-child" data-id="f3f3bc7" data-element_type="container" data-e-type="container">
429				<div class="elementor-element elementor-element-512a14c elementor-widget elementor-widget-heading" data-id="512a14c" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
430					<h2 class="elementor-heading-title elementor-size-default">Fiction and Non-Fiction</h2>				</div>
431				<div class="elementor-element elementor-element-93b42cc elementor-widget elementor-widget-text-editor" data-id="93b42cc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
432									<p data-start="687" data-end="1035"><em data-start="687" data-end="707">Game as a Business</em> by Aleksey Savchenko is designed to help readers break into the games industry, explaining from the inside how it really operates and covering everything from production, leadership and publishing to studio structure, international partnerships and the operational realities behind building and sustaining a successful company.</p><p data-start="1037" data-end="1456">Alongside this, Aleksey has written <em data-start="1073" data-end="1095">Method to My Madness</em> to help neurodivergent professionals navigate the realities of the modern games industry. Drawing on his own experience with AuDHD, the book explores executive dysfunction, burnout, instability, overextension, communication, career volatility and the personal systems people build to keep functioning inside fast-moving creative and technological environments.</p><p data-start="1458" data-end="1723">In fiction, Aleksey’s critically acclaimed Cyberside series draws on many of the same themes through dystopian science fiction, exploring artificial intelligence, corporate power, technological dependency and systemic collapse across a multi-generational narrative.</p><p data-start="1725" data-end="1885">His <em data-start="1729" data-end="1741">The Answer</em> series, meanwhile, moves in a more allegorical and mythic direction, following one man’s metaphysical search for meaning, identity and purpose.</p><p data-start="1887" data-end="1944">You can learn more about books by Aleksey Savchenko <a href="https://alekseysavchenko.com/books/" target="_blank" rel="noopener">here</a>.</p>								</div>
433				</div>
434					</div>
435				</div>
436				</div>
437							<div class="vice-footerwidgets">
438						<div class="dhrk-footerwidgets">
439							<div class="dhrk-container">
440								
441<div class="container">
442	<div class="row">
443        <div class="col-md-3">
444            <aside id="text-2" class="dhrk-widget widget widget_text"><section class="dhrk-widget-header"><span class="vice-separator vice-separator--number"><span>ABOUT ALEKSEY SAVCHENKO</span></span></section>			<div class="textwidget"><p><i>Author Aleksey Savchenko is a BAFTA member and veteran game developer who has worked on major titles including S.T.A.L.K.E.R. 2. His fiction writing includes The Answer and Cyberside series, while his non-fiction work includes Method to my Madness and Game as Business. Born in Ukraine, he is now based in the UK.</i></p>
445</div>
446		</aside>        </div>
447        <div class="col-md-3">
448            <aside id="nav_menu-2" class="dhrk-widget widget widget_nav_menu"><section class="dhrk-widget-header"><span class="vice-separator vice-separator--number"><span>NAVIGATION</span></span></section><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-1177" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-1177"><a href="https://alekseysavchenko.com/">Home</a></li>
449<li id="menu-item-1178" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-802 current_page_item menu-item-1178"><a href="https://alekseysavchenko.com/about-aleksey-savchenko/" aria-current="page">About</a></li>
450<li id="menu-item-1180" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1180"><a href="https://alekseysavchenko.com/news-about-aleksey-savchenko/">News</a></li>
451<li id="menu-item-1179" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1179"><a href="https://alekseysavchenko.com/contact/">Contact</a></li>
452</ul></div></aside>        </div>
453        <div class="col-md-3">
454             <aside id="text-3" class="dhrk-widget widget widget_text"><section class="dhrk-widget-header"><span class="vice-separator vice-separator--number"><span>Follow Aleksey Savchenko</span></span></section>			<div class="textwidget"><p><a href="https://www.tiktok.com/@cybersideme">TikTok</a></p>
455<p><a href="https://www.facebook.com/aleksey.savchenko">Facebook</a></p>
456<p><a href="https://www.instagram.com/_alekseysav_/">Instagram.com</a></p>
457<p><a href="https://www.youtube.com/@AlexeySavchenko">YouTube</a></p>
458</div>
459		</aside>        </div>
460        <div class="col-md-3">
461                     </div>
462    </div>
463</div>
464
465						
466							</div>
467						</div>
468					</div>
469										<div class="dhrk-pagefooter">
470						<p><b>© 2026 Aleksey Savchenko. All rights reserved.</b> |
471<a href="https://alekseysavchenko.com/privacy-policy">Privacy Policy</a> |
472<a href="https://alekseysavchenko.com/website-terms-of-use">Website Terms of Use</a> |
473<a href="https://alekseysavchenko.com/cookie-policy-uk">Cookie Policy</a></p>
474					</div>
475									</div>
476			</div>
477			
478<div class="qw-playlist qw-animated" id="qwMusicPlaylist">
479	<div class="qw-scrollable-playlist" id="qwPlaylistContent">
480		  <table class="table">
481		  		<thead>
482			    	<tr>
483			    		<th class="text-center">Play</th>
484			    		<th>Cover</th>
485			    		<th class="hidden-xs"><span class="line1">Release</span><br>Label</th>
486			    		<th><span class="line1">Track Title</span><br>Track Authors</th>
487			    		<th class="text-center hidden-xs">Page</th>
488			    		<th class="text-center hidden-xs">Buy</th>
489			    		<th class="text-center hidden-xs">Delete</th>
490			    	</tr>
491		    	</thead>
492		    	<tbody id="qwPlaylistTable"  data-archiveradio="https://alekseysavchenko.com/radiochannel/?qw_get_json_data=1" data-archive="https://alekseysavchenko.com/release/?qw_get_json_data=1">
493			    </tbody>
494		  </table>
495	</div>		  
496</div>
497<div class="qw-footer-bar vice-musicplayer qw-animated open  hidden" id="QWplayerbar">
498	<div class="row">
499		<div class="col-xs-2 col-sm-1 col-md-1 vice-musicplayer__col__play">
500			<a href="#" class="qw-ui-button qw-player-play qw-hidesstat" data-state="stop" id="qwPlayerPlay" data-mp3="" data-soundmanagerswf="https://alekseysavchenko.com/wp-content/themes/vice/js/soundmanager2.swf"><span class="qticon-play"></span></a>
501		</div>
502		<div class="col-sm-1 col-md-1 hidden-xs text-right" id="qwPlayerCover">
503		</div>
504		<div class="col-xs-8 col-sm-4 col-md-2 col-lg-3  tracktitle">
505			<span id="qwPlayerTitle" class="qw-player-title"></span>
506			<span id="qwPlayerAuthor" class="qw-player-author"></span>
507		</div>
508		<div class="col-md-2 hidden-xs hidden-sm text-right" >
509			<div id="qwPlayerBar">
510
511			</div>
512		</div>
513		<div class="col-sm-2 col-md-2 col-lg-1 hidden-xs qw-footer-bar__volumecontrols">
514			<a href="#" data-title="Audio and Video volume" data-placement="right"  class="qw-ui-button qw-hidesstat qw-tooltip" data-state="1" id="qwPlayerVolume" data-toggleclass="open" data-target="qtVolumeControl"><span class="qticon-volume"></span></a>
515			<a href="#" data-title="Mute / unmute" data-placement="right"  class="qw-ui-button qw-hidesstat qw-tooltip" id="qwPlayerVolumeMute" data-toggleclass="hidden" data-target="qwPlayerVolumeMute" data-toggleclass2="hidden" data-target2="qwPlayerVolumeUnmute"><span class="qticon-mute"></span></a>
516			<a href="#" data-title="Mute / unmute" data-placement="right"  class="qw-ui-button qw-hidesstat qw-tooltip hidden" id="qwPlayerVolumeUnmute" data-toggleclass="hidden" data-target="qwPlayerVolumeMute" data-toggleclass2="hidden" data-target2="qwPlayerVolumeUnmute"><span class="qticon-music"></span></a>
517		</div>
518		
519		<div class="col-md-1 col-sm-1 hidden-xs text-right qw-footer-bar__buy" id="qwTrackBuy">
520		</div>
521		<div class="col-xs-2 col-sm-3 col-md-3 text-right qw-footer-bar__controls">
522			<a href="#" class="qw-ui-button hidden-xs qw-player-bw qw-hidesstat" id="qwPlayerPrev"><span class="qticon-skip-backward"></span></a>
523			<a href="#" class="qw-ui-button hidden-xs qw-player-fw qw-hidesstat" id="qwPlayerNext"><span class="qticon-skip-forward"></span></a>
524			<a href="#" class="qw-ui-button qw-playlist-switch qw-hidesstat" id="playlistOpener"><span class="qticon-list"></span></a>
525		</div>
526		<a id="qwHidePl" data-toggleclass="open" data-target="QWplayerbar" data-toggle="tooltip" data-title="Hide Player" data-placement="left" ><span class="glyphicon glyphicon-chevron-up qw-animated"></span></a>
527	</div>
528	<div id="qwUpdatingPlaylist" class="qw-animated">Updating playlist		<div class="qw-preloader" id="qwAjaxPreloaderPlaylist"><div class="circle"></div><div class="circle1"></div></div>
529	</div>
530</div>
531		</div>
532		<div id="qtCustomPageBg" class="qt-custombackground">
533	</div>
534
535
536
537
538
539
540
541      	
541<script type="speculationrules">
542{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/vice-dhrk/*","/wp-content/themes/vice/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
543</script>
543
544			<div id="astroidzStyles"
545			data-astroidz-quantity="125"
546			data-astroidz-glitchPass="" 
547			data-astroidz-effectFilm="1" 
548			data-astroidz-effectBlur="1" 
549			data-astroidz-light0i="1" 
550			data-astroidz-light1i="1.7" 
551			data-astroidz-light2i="2.6" 
552			data-astroidz-light3i="1" 
553			data-astroidz-light0="#010101" 
554			data-astroidz-light1="#e70331" 
555			data-astroidz-light2="#d5003c" 
556			data-astroidz-light3="#ffffff" 
557			data-astroidz-material1="" 
558			data-astroidz-material2="">
559			</div>
560		
561<!-- Consent Management powered by Complianz | GDPR/CCPA Cookie Consent https://wordpress.org/plugins/complianz-gdpr -->
562<div id="cmplz-cookiebanner-container"><div id="cmplz-cookiebanner-1-optin" class="cmplz-cookiebanner cmplz-hidden banner-1 banner-a optin cmplz-bottom-right cmplz-categories-type-view-preferences" aria-modal="true" data-nosnippet="true" role="dialog" aria-live="polite" aria-labelledby="cmplz-header-1-optin" aria-describedby="cmplz-message-1-optin">
563	<div class="cmplz-header">
564		<div class="cmplz-logo"></div>
565		<div class="cmplz-title" id="cmplz-header-1-optin">Manage Consent</div>
566		<div class="cmplz-close" tabindex="0" role="button" aria-label="Close dialogue">
567			<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg>
568		</div>
569	</div>
570
571	<div class="cmplz-divider cmplz-divider-header"></div>
572	<div class="cmplz-body">
573		<div class="cmplz-message" id="cmplz-message-1-optin">To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.</div>
574		<!-- categories start -->
575		<div class="cmplz-categories">
576			<div class="cmplz-category cmplz-functional">
577				<div class="cmplz-category-header">
578					<span class="cmplz-category-title" id="cmplz-title-functional-1-optin">Functional</span>
579					<span class='cmplz-always-active'>
580						<span class="cmplz-banner-checkbox">
581							<input type="checkbox"
582									id="cmplz-functional-optin"
583									data-category="cmplz_functional"
584									class="cmplz-consent-checkbox cmplz-functional"
585									size="40"
586									value="1"/>
587							<label class="cmplz-label" for="cmplz-functional-optin"><span class="screen-reader-text">Functional</span></label>
588						</span>
589						Always active					</span>
590					<button class="cmplz-category-toggle"
591							aria-expanded="false"
592							aria-controls="cmplz-desc-functional-1-optin"
593							aria-labelledby="cmplz-title-functional-1-optin">
594						<span class="cmplz-icon cmplz-open">
595							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
596						</span>
597					</button>
598				</div>
599				<div class="cmplz-description" id="cmplz-desc-functional-1-optin" hidden>
600					<span class="cmplz-description-functional">The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.</span>
601				</div>
602			</div>
603
604			<div class="cmplz-category cmplz-preferences">
605				<div class="cmplz-category-header">
606					<span class="cmplz-category-title" id="cmplz-title-preferences-1-optin">Preferences</span>
607					<span class="cmplz-banner-checkbox">
608						<input type="checkbox"
609								id="cmplz-preferences-optin"
610								data-category="cmplz_preferences"
611								class="cmplz-consent-checkbox cmplz-preferences"
612								size="40"
613								value="1"/>
614						<label class="cmplz-label" for="cmplz-preferences-optin"><span class="screen-reader-text">Preferences</span></label>
615					</span>
616					<button class="cmplz-category-toggle"
617							aria-expanded="false"
618							aria-controls="cmplz-desc-preferences-1-optin"
619							aria-labelledby="cmplz-title-preferences-1-optin">
620						<span class="cmplz-icon cmplz-open">
621							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18">
621<path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
622						</span>
623					</button>
624				</div>
625				<div class="cmplz-description" id="cmplz-desc-preferences-1-optin" hidden>
626					<span class="cmplz-description-preferences">The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.</span>
627				</div>
628			</div>
629
630			<div class="cmplz-category cmplz-statistics">
631				<div class="cmplz-category-header">
632					<span class="cmplz-category-title" id="cmplz-title-statistics-1-optin">Statistics</span>
633					<span class="cmplz-banner-checkbox">
634						<input type="checkbox"
635								id="cmplz-statistics-optin"
636								data-category="cmplz_statistics"
637								class="cmplz-consent-checkbox cmplz-statistics"
638								size="40"
639								value="1"/>
640						<label class="cmplz-label" for="cmplz-statistics-optin"><span class="screen-reader-text">Statistics</span></label>
641					</span>
642					<button class="cmplz-category-toggle"
643							aria-expanded="false"
644							aria-controls="cmplz-desc-statistics-1-optin"
645							aria-labelledby="cmplz-title-statistics-1-optin">
646						<span class="cmplz-icon cmplz-open">
647							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
648						</span>
649					</button>
650				</div>
651				<div class="cmplz-description" id="cmplz-desc-statistics-1-optin" hidden>
652					<span class="cmplz-description-statistics">The technical storage or access that is used exclusively for statistical purposes.</span>
653					<span class="cmplz-description-statistics-anonymous">The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.</span>
654				</div>
655			</div>
656
657			<div class="cmplz-category cmplz-marketing">
658				<div class="cmplz-category-header">
659					<span class="cmplz-category-title" id="cmplz-title-marketing-1-optin">Marketing</span>
660					<span class="cmplz-banner-checkbox">
661						<input type="checkbox"
662								id="cmplz-marketing-optin"
663								data-category="cmplz_marketing"
664								class="cmplz-consent-checkbox cmplz-marketing"
665								size="40"
666								value="1"/>
667						<label class="cmplz-label" for="cmplz-marketing-optin"><span class="screen-reader-text">Marketing</span></label>
668					</span>
669					<button class="cmplz-category-toggle"
670							aria-expanded="false"
671							aria-controls="cmplz-desc-marketing-1-optin"
672							aria-labelledby="cmplz-title-marketing-1-optin">
673						<span class="cmplz-icon cmplz-open">
674							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
675						</span>
676					</button>
677				</div>
678				<div class="cmplz-description" id="cmplz-desc-marketing-1-optin" hidden>
679					<span class="cmplz-description-marketing">The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.</span>
680				</div>
681			</div>
682		</div><!-- categories end -->
683			</div>
684
685	<div class="cmplz-links cmplz-information">
686		<ul>
687			<li><a class="cmplz-link cmplz-manage-options cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Manage options</a></li>
688			<li><a class="cmplz-link cmplz-manage-third-parties cookie-statement" href="#" data-relative_url="#cmplz-cookie
688s-overview">Manage services</a></li>
689			<li><a class="cmplz-link cmplz-manage-vendors tcf cookie-statement" href="#" data-relative_url="#cmplz-tcf-wrapper">Manage {vendor_count} vendors</a></li>
690			<li><a class="cmplz-link cmplz-external cmplz-read-more-purposes tcf" target="_blank" rel="noopener noreferrer nofollow" href="https://cookiedatabase.org/tcf/purposes/" aria-label="Read more about TCF purposes on Cookie Database">Read more about these purposes</a></li>
691		</ul>
692			</div>
693
694	<div class="cmplz-divider cmplz-footer"></div>
695
696	<div class="cmplz-buttons">
697		<button class="cmplz-btn cmplz-accept">Accept</button>
698		<button class="cmplz-btn cmplz-deny">Deny</button>
699		<button class="cmplz-btn cmplz-view-preferences">View preferences</button>
700		<button class="cmplz-btn cmplz-save-preferences">Save preferences</button>
701		<a class="cmplz-btn cmplz-manage-options tcf cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">View preferences</a>
702			</div>
703
704
705	<div class="cmplz-documents cmplz-links">
706		<ul>
707			<li><a class="cmplz-link cookie-statement" href="#" data-relative_url="">{title}</a></li>
708			<li><a class="cmplz-link privacy-statement" href="#" data-relative_url="">{title}</a></li>
709			<li><a class="cmplz-link impressum" href="#" data-relative_url="">{title}</a></li>
710		</ul>
711			</div>
712</div>
713</div>
714					<div id="cmplz-manage-consent" data-nosnippet="true"><button class="cmplz-btn cmplz-hidden cmplz-manage-consent manage-consent-1" aria-haspopup="dialog" aria-controls="cmplz-cookiebanner-1-optin">Manage consent</button>
715
716</div>
716<script id='kirki-viewport-lists'>var kirkiViewports = {"md":{"value":1200,"scale":1,"minWidth":1200,"maxWidth":1200,"title":"Desktop","icon":"desktop","activeIcon":"desktop-hover","id":"md","type":"max"},"tablet":{"value":991,"scale":1,"minWidth":991,"maxWidth":991,"title":"Tablet","icon":"tablet-default","activeIcon":"tablet-hover","type":"max","id":"tablet"},"mobileLandscape":{"value":767,"scale":1,"minWidth":767,"maxWidth":767,"title":"Landscape","icon":"phone-hr-default","activeIcon":"phone-hr-hover","type":"max","id":"mobileLandscape"},"mobile":{"value":575,"scale":1,"minWidth":575,"maxWidth":575,"title":"Mobile","icon":"phone-vr-default","activeIcon":"phone-vr-hover","type":"max","id":"mobile"}};</script>
716<script id='kirki-variable-lists'>var kirkiCSSVariable = {"data":[{"title":"Colors","key":"color","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Numbers","key":"size","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Text Styles","key":"text-style","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Font Family","key":"font-family","modes":[{"title":"Default","key":"default"}],"variables":[]}]};</script>
716<script id="kirki-api-and-nonce">
717    window.wp_kirki = {
718        ajaxUrl: "https://alekseysavchenko.com/wp-admin/admin-ajax.php",
719        restUrl: "https://alekseysavchenko.com/wp-json/",
720        siteUrl: "https://alekseysavchenko.com",
721        apiVersion: "v1",
722        postId: "802",
723        nonce: "b06f514d06",
724        call_from: "",
725        templateId: "",
726        context: {"id":802,"type":"post"}
727    };
728    </script>
728			<div class="vice-social-footer">
729				<a href="https://www.facebook.com/aleksey.savchenko" class="qw_social" target="_blank"><span class="qticon-facebook"></span></a><a href="https://www.instagram.com/_alekseysav_/" class="qw_social" target="_blank"><span class="qticon-instagram"></span></a><a href="https://www.tiktok.com/@cybersideme" class="qw_social" target="_blank"><span class="qticon-tiktok"></span></a><a href="https://www.youtube.com/@AlexeySavchenko" class="qw_social" target="_blank"><span class="qticon-youtube"></span></a>			</div>
730				<div class="hidden" id="enableRsAjax" data-nnc="ef59854d61" data-admu="https://alekseysavchenko.com/wp-admin/admin-ajax.php"></div>
731				
731<script>
732				( () => {
733					const lazyloadRunObserver = () => {
734						const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
735						const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
736							entries.forEach( ( entry ) => {
737								if ( entry.isIntersecting ) {
738									let lazyloadBackground = entry.target;
739									if( lazyloadBackground ) {
740										lazyloadBackground.classList.add( 'e-lazyloaded' );
741									}
742									lazyloadBackgroundObserver.unobserve( entry.target );
743								}
744							});
745						}, { rootMargin: '200px 0px 200px 0px' } );
746						lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
747							lazyloadBackgroundObserver.observe( lazyloadBackground );
748						} );
749					};
750					const events = [
751						'DOMContentLoaded',
752						'elementor/lazyload/observe',
753					];
754					events.forEach( ( event ) => {
755						document.addEventListener( event, lazyloadRunObserver );
756					} );
757				} )();
758			</script>
758
759			
759<script id="imagesloaded-js" src="https://alekseysavchenko.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0"></script>
vendor: 1 bytes, line 759
759
760<script id="masonry-js" src="https://alekseysavchenko.com/wp-includes/js/masonry.min.js?ver=4.2.2"></script>
vendor: 1 bytes, line 760
760
761<script id="owl-carousel-js" src="https://alekseysavchenko.com/wp-content/plugins/vice-elementor/assets/components/owl-carousel/dist/owl.carousel-min.js?ver=2.3.2"></script>
vendor: 1 bytes, line 761
761
762<script id="vice-extend-js" src="https://alekseysavchenko.com/wp-content/plugins/vice-elementor/assets/js/extend.js?ver=1770917590"></script>
vendor: 1 bytes, line 762
762
763<script id="threeJs-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/three/three.min.js?ver=1.0.2"></script>
vendor: 1 bytes, line 763
763
764<script id="CopyShader-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/CopyShader.js?ver=1.0.2"></script>
vendor: 1 bytes, line 764
764
765<script id="DigitalGlitch-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/DigitalGlitch.js?ver=1.0.2"></script>
vendor: 1 bytes, line 765
765
766<script id="EffectComposer-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/EffectComposer.js?ver=1.0.2"></script>
vendor: 1 bytes, line 766
766
767<script id="RenderPass-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/RenderPass.js?ver=1.0.2"></script>
vendor: 1 bytes, line 767
767
768<script id="FilmShader-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/FilmShader.js?ver=1.0.2"></script>
vendor: 1 bytes, line 768
768
769<script id="RGBShiftShader-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/RGBShiftShader.js?ver=1.0.2"></script>
vendor: 1 bytes, line 769
769
770<script id="HorizontalBlurShader-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/HorizontalBlurShader.js?ver=1.0.2"></script>
vendor: 1 bytes, line 770
770
771<script id="VerticalBlurShader-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/shaders/VerticalBlurShader.js?ver=1.0.2"></script>
vendor: 1 bytes, line 771
771
772<script id="FilmPass-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/FilmPass.js?ver=1.0.2"></script>
vendor: 1 bytes, line 772
772
773<script id="MaskPass-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/MaskPass.js?ver=1.0.2"></script>
vendor: 1 bytes, line 773
773
774<script id="ShaderPass-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/ShaderPass.js?ver=1.0.2"></script>
vendor: 1 bytes, line 774
774
775<script id="GlitchPass-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/postprocessing/GlitchPass.js?ver=1.0.2"></script>
vendor: 1 bytes, line 775
775
776<script id="astroidz-js" src="https://alekseysavchenko.com/wp-content/plugins/astroidz/assets/js/astroidz.js?ver=1.0.2"></script>
vendor: 1 bytes, line 776
776
777<script id="wp-hooks-js" src="https://alekseysavchenko.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 777
777
778<script id="wp-i18n-js" src="https://alekseysavchenko.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 778
778
779<script id="wp-i18n-js-after">
780wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
781//# sourceURL=wp-i18n-js-after
782</script>
vendor: 1 bytes, line 782
782
783<script id="swv-js" src="https://alekseysavchenko.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 783
783
784<script id="contact-form-7-js-translations">
785( function( domain, translations ) {
786	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
787	localeData[""].domain = domain;
788	wp.i18n.setLocaleData( localeData, domain );
789} )( "contact-form-7", {"translation-revision-date":"2026-05-05 18:32:38+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"This contact form is placed in the wrong place.":["This contact form is placed in the wrong place."],"Error:":["Error:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
790//# sourceURL=contact-form-7-js-translations
791</script>
vendor: 1 bytes, line 791
791
792<script id="contact-form-7-js-before">
793var wpcf7 = {
794    "api": {
795        "root": "https:\/\/alekseysavchenko.com\/wp-json\/",
796        "namespace": "contact-form-7\/v1"
797    },
798    "cached": 1
799};
800//# sourceURL=contact-form-7-js-before
801</script>
vendor: 1 bytes, line 801
801
802<script id="contact-form-7-js" src="https://alekseysavchenko.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 802
802
803<script id="swipebox-js" src="https://alekseysavchenko.com/wp-content/plugins/qt-swipebox/min/qt-swipebox-min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 803
803
804<script id="_s-slimscroll-js" src="https://alekseysavchenko.com/wp-content/themes/vice/js/jquery.slimScroll.js?ver=3.5"></script>
vendor: 1 bytes, line 804
804
805<script id="_s-fullpage-js" src="https://alekseysavchenko.com/wp-content/themes/vice/js/jquery.fullPage.js?ver=3.5"></script>
vendor: 1 bytes, line 805
805
806<script id="_s-libraries-js" src="https://alekseysavchenko.com/wp-content/themes/vice/js/qt-jquerylibraries.js?ver=3.5"></script>
vendor: 1 bytes, line 806
806
807<script id="_s-main-js" src="https://alekseysavchenko.com/wp-content/themes/vice/js/min/qt-main-min.js?ver=3.5"></script>
vendor: 1 bytes, line 807
807
808<script id="elementor-webpack-runtime-js" src="https://alekseysavchenko.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.2.4"></script>
vendor: 1 bytes, line 808
808
809<script id="elementor-frontend-modules-js" src="https://alekseysavchenko.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.4"></script>
vendor: 1 bytes, line 809
809
810<script id="jquery-ui-core-js-before">
811jQuery.uiBackCompat = true;
812//# sourceURL=jquery-ui-core-js-before
813</script>
vendor: 1 bytes, line 813
813
814<script id="jquery-ui-core-js" src="https://alekseysavchenko.com/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 814
814
815<script id="elementor-frontend-js-extra">
816var EAELImageMaskingConfig = {"svg_dir_url":"https://alekseysavchenko.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/img/image-masking/svg-shapes/"};
817//# sourceURL=elementor-frontend-js-extra
818</script>
vendor: 1 bytes, line 818
818
819<script id="elementor-frontend-js-before">
820var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnX":"Share on X","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.2.4","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"e_panel_promotions":true,"e_pro_free_trial_popup":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true},"urls":{"assets":"https:\/\/alekseysavchenko.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/alekseysavchenko.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/alekseysavchenko.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"a5ab380a80","atomicFormsSendForm":"690c5d2d4b"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":802,"title":"About%20-%20Aleksey%20Savchenko","excerpt":"","featuredImage":false}};
821var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnX":"Share on X","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.2.4","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"e_panel_promotions":true,"e_pro_free_trial_popup":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true},"urls":{"assets":"https:\/\/alekseysavchenko.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/alekseysavchenko.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/alekseysavchenko.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"a5ab380a80","atomicFormsSendForm":"690c5d2d4b"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":802,"title":"About%20-%20Aleksey%20Savchenko","excerpt":"","featuredImage":false}};
822//# sourceURL=elementor-frontend-js-before
823</script>
vendor: 1 bytes, line 823
823
824<script id="elementor-frontend-js" src="https://alekseysavchenko.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.4"></script>
vendor: 1 bytes, line 824
824
825<script id="eael-general-js-extra">
826var localize = {"ajaxurl":"https://alekseysavchenko.com/wp-admin/admin-ajax.php","nonce":"6375478ff7","i18n":{"added":"Added ","compare":"Compare","loading":"Loading..."},"eael_translate_text":{"required_text":"is a required field","invalid_text":"Invalid","billing_text":"Billing","shipping_text":"Shipping","fg_mfp_counter_text":"of"},"page_permalink":"https://alekseysavchenko.com/about-aleksey-savchenko/","cart_redirectition":"","cart_page_url":"","el_breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}}};
827//# sourceURL=eael-general-js-extra
828</script>
vendor: 1 bytes, line 828
828
829<script id="eael-general-js" src="https://alekseysavchenko.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.8.4"></script>
vendor: 1 bytes, line 829
829
830<script id="cmplz-cookiebanner-js-extra">
831var complianz = {"prefix":"cmplz_","debug":"","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"13","version":"7.5.5","store_consent":"","do_not_track_enabled":"","consenttype":"optin","region":"uk","geoip":"","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https://alekseysavchenko.com/wp-json/complianz/v1/","locale":"lang=en&locale=en_GB","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"35","cookie_path":"/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https://alekseysavchenko.com/wp-content/uploads/complianz/css/banner-{banner_id}-{type}.css?v=13","page_links":{"uk":{"cookie-statement":{"title":"Cookie Policy ","url":"https://alekseysavchenko.com/cookie-policy-uk/"},"privacy-statement":{"title":"Privacy Policy","url":"https://alekseysavchenko.com/privacy-policy/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content","iapi_nav":"fallback"};
832//# sourceURL=cmplz-cookiebanner-js-extra
833</script>
vendor: 1 bytes, line 833
833
834<script defer id="cmplz-cookiebanner-js" src="https://alekseysavchenko.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1789646579"></script>
vendor: 1 bytes, line 834
834
835<script id="cmplz-cookiebanner-js-after">
836	
837		if ('undefined' != typeof window.jQuery) {
838			jQuery(document).ready(function ($) {
839				$(document).on('elementor/popup/show', () => {
840					let rev_cats = cmplz_categories.reverse();
841					for (let key in rev_cats) {
842						if (rev_cats.hasOwnProperty(key)) {
843							let category = cmplz_categories[key];
844							if (cmplz_has_consent(category)) {
845								document.querySelectorAll('[data-category="' + category + '"]').forEach(obj => {
846									cmplz_remove_placeholder(obj);
847								});
848							}
849						}
850					}
851
852					let services = cmplz_get_services_on_page();
853					for (let key in services) {
854						if (services.hasOwnProperty(key)) {
855							let service = services[key].service;
856							let category = services[key].category;
857							if (cmplz_has_service_consent(service, category)) {
858								document.querySelectorAll('[data-service="' + service + '"]').forEach(obj => {
859									cmplz_remove_placeholder(obj);
860								});
861							}
862						}
863					}
864				});
865			});
866		}
867	
868	
869		
870			document.addEventListener("cmplz_enable_category", function(consentData) {
871				var category = consentData.detail.category;
872				var services = consentData.detail.services;
873				var blockedContentContainers = [];
874				let selectorVideo = '.cmplz-elementor-widget-video-playlist[data-category="'+category+'"],.elementor-widget-video[data-category="'+category+'"]';
875				let selectorGeneric = '[data-cmplz-elementor-href][data-category="'+category+'"]';
876				for (var skey in services) {
877					if (services.hasOwnProperty(skey)) {
878						let service = skey;
879						selectorVideo +=',.cmplz-elementor-widget-video-playlist[data-service="'+service+'"],.elementor-widget-video[data-service="'+service+'"]';
880						selectorGeneric +=',[data-cmplz-elementor-href][data-service="'+service+'"]';
881					}
882				}
883				document.querySelectorAll(selectorVideo).forEach(obj => {
884					let elementService = obj.getAttribute('data-service');
885					if ( cmplz_is_service_denied(elementService) ) {
886						return;
887					}
888					if (obj.classList.contains('cmplz-elementor-activated')) return;
889					obj.classList.add('cmplz-elementor-activated');
890
891					if ( obj.hasAttribute('data-cmplz_elementor_widget_type') ){
892						let attr = obj.getAttribute('data-cmplz_elementor_widget_type');
893						obj.classList.removeAttribute('data-cmplz_elementor_widget_type');
894						obj.classList.setAttribute('data-widget_type', attr);
895					}
896					if (obj.classList.contains('cmplz-elementor-widget-video-playlist')) {
897						obj.classList.remove('cmplz-elementor-widget-video-playlist');
898						obj.classList.add('elementor-widget-video-playlist');
899					}
900					obj.setAttribute('data-settings', obj.getAttribute('data-cmplz-elementor-settings'));
901					blockedContentContainers.push(obj);
902				});
903
904				document.querySelectorAll(selectorGeneric).forEach(obj => {
905					let elementService = obj.getAttribute('data-service');
906					if ( cmplz_is_service_denied(elementService) ) {
907						return;
908					}
909					if (obj.classList.contains('cmplz-elementor-activated')) return;
910
911					if (obj.classList.contains('cmplz-fb-video')) {
912						obj.classList.remove('cmplz-fb-video');
913						obj.classList.add('fb-video');
914					}
915
916					obj.classList.add('cmplz-elementor-activated');
917					obj.setAttribute('data-href', obj.getAttribute('data-cmplz-elementor-href'));
918					blockedContentContainers.push(obj.closest('.elementor-widget'));
919				});
920
921				/**
922				 * Trigger the widgets in Elementor
923				 */
924				for (var key in blockedContentContainers) {
925					if (blockedContentContainers.hasOwnProperty(key) && blockedContentContainers[key] !== undefined) {
926						let blockedContentContainer = blockedContentContainers[key];
927						if (elementorFrontend.elementsHandler) {
928							elementorFrontend.elementsHandler.runReadyTrigger(blockedContentContainer)
929						}
930						var cssIndex = blockedContentContainer.getAttribute('data-placeholder_class_index');
931						blockedContentContainer.classList.remove('cmplz-blocked-content-container');
932						blockedContentContainer.classList.remove('cmplz-placeholder-' + cssIndex);
933					}
934				}
935
936			});
937		
938		
939//# sourceURL=cmplz-cookiebanner-js-after
940</script>
vendor: 1 bytes, line 940
940
941<script id="wp-emoji-settings" type="application/json">
942{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://alekseysavchenko.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3"}}
943</script>
vendor: 1 bytes, line 943
943
944<script type="module">
945/*! This file is auto-generated */
946var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
947//# sourceURL=https://alekseysavchenko.com/wp-includes/js/wp-emoji-loader.min.js
948</script>
948
949<!-- Statistics script Complianz GDPR/CCPA -->
950						
950<script type="text/plain"							data-category="statistics">window['gtag_enable_tcf_support'] = false;
951window.dataLayer = window.dataLayer || [];
952function gtag(){dataLayer.push(arguments);}
953gtag('js', new Date());
954gtag('config', '', {
955	cookie_flags:'secure;samesite=none',
956	'anonymize_ip': true
957});
958</script>
958
959							<!-- QT CSS ID 3da33cc79937bb795c5c324bed74ab49 -->  </body>
960</html>
961
962
963<!-- Page supported by LiteSpeed Cache 7.9.1 on 2026-10-08 19:48:04 -->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.