ADVERTISEMENT

Concrete Genie: review

Published Oct 8, 2019 12:00 am
Concrete Genie is an action-adventure game developed by PixelOpus for the PS4. You play as Ash, a young boy and an artist who returns to his old hometown of Denska against his parents’ wishes. Once a thriving fishing village, Denska now stands abandoned, a tragic incident having caused a strange goop called Darkness to coat the town. Not only that, but a gang of teenage bullies has turned the abandoned town into their own personal playground, and coated the buildings with rude graffiti. After the bullies tear up Ash’s sketchbook and push him onto a cable car headed to the lighthouse, he discovers a magic paintbrush that brings his artwork to life - and his latest creation, Luna, begs him to restore the town to its old, vibrant self.  ps4pro Concrete Genie grants the player a magic paintbrush, used to solve puzzles, make Genies, and paint the town back to life. A huge part of the game is using this paint to light up all lightbulbs in a zone to progress. Controlled either by motion controls or the right analog stick, players are given an array of objects to paint like trees, grass, or stars that they can apply on most any wall in the game. These objects are found by collecting Ash’s stray sketchbook pages scattered around, with white pages giving new objects and blue pages granting genie parts. The game gives you a surprising amount of freedom to muck around with the paint, each stroke adding a colorful and vibrant piece of art on the walls like a projection. Certain areas are covered in Darkness, requiring the use of Super Paint to clear. Only Genies can grant Super Paint, and Genies give you Super Paint energy when you fulfill their requests for a particular object to be painted near them. Once all the lightbulbs in a given area have been lit up, the Darkness is pushed back, allowing Ash to progress further into Denska.  The Genies are incredibly charming, with an array of personalities determined either randomly, or by the body parts you give them. They cheerfully follow Ash around, helping him solve color-coded environmental puzzles or asking him to play with them. They can only travel through walls, however, and they can’t travel through Darkness, necessitating the use of Super Paint to clear the way for them. Red Genies burn away flammable objects, yellow Genies power electric machinery, and blue Genies blow gusts of wind. These puzzles are extremely simple, requiring only the correct Genie be brought to the object, and require minimal involvement apart from standing at the right place at the right time. Not many puzzles in the game take advantage of the possibility of having multiple Genies following you, with the most complex puzzle I found requiring a blue genie and a red genie in the same room. The puzzles, by and large, are extremely simple and almost solve themselves, with the extent of Ash’s involvement requiring him to clear the path for his Genies or flip switches that his Genies can’t.  In contrast to the fine amount of control and freedom you get with your art, there are also the bullies to contend with. The roaming gang of local youth antagonize Ash every chance they get. They’ll throw rocks at him and chase him, making a lot of their encounters a game of cat and mouse. They’ll even paint over Ash’s art, reducing the vibrant colors to dead whites, but Ash can restore them quite easily. Luckily, they’re very easy to avoid, and usually leave when you’re done with an objective, allowing you to explore fully without worrying about running into them. The bullies themselves are characters in their own right, growing as the game progresses through flashbacks of the problems that led them to becoming delinquents in the first place.  In the last third or so of the game, the darkness takes a rather violent turn; Dark Genies begin showing up, emerging from the walls, and the game adds a combat system. The decision to add combat into a rather peaceful game was personally, sort of baffling, but at least it’s just sort of boring as opposed to frustratingly difficult. Switching from a puzzle-platformer to an action game is very jarring, especially in the last act of a 5-6 hour game. While thematically an impressive experience, it’s a miracle that the gameplay even worked at all, with the lock-on camera being frustrating and some of the more cramped sections being downright nausea inducing. Luckily this section doesn’t overstay its welcome, and when the game ends you’re free to return to Denska and finish up everything you haven’t done already.  Overall, Concrete Genie was a fresh, new experience with a bit of an identity crisis. That doesn’t mean it’s a bad game, just a game with a lot of potential brewing under the surface. It’s an experience that I had fun with, and I don’t regret playing. 
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.