Posts

Showing posts with the label Unity

Post-Mortem: Isle Of Spirits, a survival game designed for casual gamers

Image
Isle Of Spirits is a casual oriented survival game released on PC/Xbox One . I will tell you how I designed Isle of Spirits to offer a unique survival game experience to be played casually so that this kind of game is accessible to all players , mostly those who don't play games frequently. How the idea emerged I was playing some survival games like Don’t Starve when I ended up to be a little frustrated because the games didn’t let me play peacefully and casually, and was so hard for me. I asked myself, is there any survival game for casual gamers ? I started thinking about how a survival game could reach an often forgotten public of this genre. The technical choices Before starting coding for months, I started to design the core gameplay and the different ambiances of the game. First, the 3C (camera / controller / character). I liked the view we get in some games like “The Sims” or “Animal Crossing”. Casual gamers are not often comfortable managing themselves the camera. I chose ...

I finally shipped my first game as an indie developper

Image
Yesterday, I was releasing Isle Of Spirits, a casual survival game, on Steam and Xbox One. The game is designed for casual gamers, who are not frequently playing video games. It was a challenge to bring the survival genre to casual gaming. You can check out the Steam page or the Xbox page .

Isle Of Spirits: devlog #1 - Building an island

Image
This is the first post of the dev log serie about Isle Of Spirits , a chill and casual survival game using voxel style. Note: I will often speak about voxel here. This term can be quite wide, it can be used for landscape generation, image generation, or simply for minecraft like blocks. I will focus on the last example, as it is the core of world generation in Isle Of Spirits. I will not explain a generic or good solution for your game, just what I did on Isle Of Spirits. About the world The first thing to note is how is structured a world in voxel . You should see blocks as an ID in a 3D array. But the world is not directly made of blocks, there is an intermediate used to partition the space: the chunks . Chunks are alike small worlds in the global world . They are very useful to manipulate world regions but mostly to  rebuild  mesh after some edit (player destructing or creating a block for instance). I will not expand myself on the subject has so many people ...

Isle Of Spirits - First trailer

Image
Isle Of Spirits  is a  survival  game in which your character has stranded on a mysterious uninhabited isle. Build your home, survive, and fight against microclimates or surnatural phenomenons. The isle will be your home and your enemy: it offers all resources to live, but it is also full of terrible dangers. The first trailer of  Isle Of Spirits  is out. Stay tuned ! Official website:  silverbulletgames.com Twitter:  twitter.com/games_bullet

[Unity][Arduino] The monitor

Image
A demo of an other game controller, based on an Arduino Mega 2560. It uses buzzer, servo motor, switches, pots, joystick, RFID, LCD screen and keypad. The concept of the game is to help a character escaping rooms without controlling him. The player is behind a CRT like screen and have some controls on its board to interact with mechanisms in the rooms.

[Unity][Arduino] Vroom Controller Mini

Image
This is a demo of the Vroom Controller mini, my new racing game controller based on an arduino uno. The vehicle speed is controlled by a linear pot, the wheels direction by a standard pot (hidden by the wood disk), and the moving direction (forward/backward) by a switch. 4 face buttons have been added to navigate in menu, so the game is entirely playable with the controller. A LCD screen has been added to display vehicle speed on the controller.

[Unity][Arduino] Motion controller

Image
This is the motion controller, my new video game controller based on an #arduino. It tracks its rotation on 3 axis. This is a demo done on #Unity, the gun replicates the controller world rotation.

[Unity][Arduino] Steering Wheel Game Controller

Image
This is the Vroom Controller, a steering wheel game controller I did with an arduino. It is not compatible with XInput yet, so I tested it on my own driving game prototype on Unity.

[Unity][AI][Shader] AI detecting player from vision using camera and shaders

Image
Introduction In a lot of video games, raycasting is often an efficient solution to detect the player from an AI. But the player is often partially occluded, and then a simple raycast is not enough. A solution could be to perform several raycasts on the player bounds, but this is quite limited and can be tricky depending on the gameplay. Also, we often just have to know if the player is visible or not, but sometimes we need to know how much of the vision space the player visibility takes. An idea that has been given to me is to use a shader to detect the player, the AI perform the detection in a similar way the human player do: having a rendered image and trying to detect the target reading the pixels. The subject I will explain today is a personal try, there is probably a better way to achieve this but I will try to explain a possible solution to achieve this. I will speak about Unity features I used to achieve this, but it is not Unity dependant, this idea is quite general and can...

[Unity][Shader] Night Vision

Image
A simple shader to make a night vision effect. Features - Screen colorization - Vignette effect - Noise - Scene diffuse (unlit) and scene color (lit) buffer are blended, allow to see in the complete dark while still having luminance difference on pixel affected by lights - Option to have pixels with high luminance tending toward white Screenshots Without effect With effect With/ Without (drag the cursor) Video Source Code [+] Shader Shader "Post Process/Shader_NightVision" { Properties { _MainTex ("Texture", 2D) = "white" {} _ColorTint("Color Tint", Color) = (1, 1, 1, 1) _VignetteRadius("Vignette Radius", Range(0, 2)) = 0.25 _VignetteSmoothness("Vignette Smoothness", Range(0, 2)) = 0.25 _LightSensitivity("Light Sensitivity", Range(1, 100)) = 1 _LightWhiteTreshold("Light White Treshold", Range(0, 1)) = 0.5 _LightWhitePower(...

[Unity][Game Jam] Drunken Master

Image
For the GMTK game jam, we made Drunken Master. The jam theme was to take a game type and to remove one of this core feature (ex: a platformer without jump). Drunken Master is a 2 player fight game in which you can't fight. 2 drunken guys want to fight and each player control a character that try to prevent his friend to fight. If you can't hold your fighter, he will beat the other fighter. If the other fighter is KO, you loose. The game is not finished and bugs are still here, but it's quite expected for a 48h game jam game. Controls Player 1: Hold Q (azerty) or A (qwerty) to prevent fighter to dash Hold Q (azerty) or A (qwerty) +  Z (azerty) or W (qwerty) to prevent fighter to jump S (qwerty and azerty) to prevent fighter to slide Player 2: Hold right arrow to prevent fighter to dash Hold right arrow +  up arrow to prevent fighter to jump down arrow to prevent fighter to slide Preview

[Unity][AR] 3D Platformer in Augmented Reality

Image
This is a simple 3D platformer I've done to experiment AR with Vuforia on Unity. All the game is drawn on a magazine I used for image detection. The game run on a cheap Android smartphone.

[Unity][Game Jam] Pigeon Break

Image
For the Neon Game Jam #2, we had 40 hours to make Pigeon Break. The idea was to make a runner controlled by Quick Time Events and to play with soda cans. We used a MakeyMakey to connect the cans to the player body. When the player touch a can it sends an input, the QTE keyboard key are so replaced by the cans. Note: the game is compatible with keyboard SDFG keys too. Video Credits Download Pigeon Break Windows

[Unity][Shader] Stylized Fog

Image
I wrote a simple shader for Unity to make a stylized fog like Fire Watch's fog. The idea is to get a pixel on the texture depending on the pixel depth, if the fog is near, a pixel on the left on the texture uv will be picked, if the fog is far, a pixel on the right on the texture uv will be picked. Features Choose between a linear fog and an exponential fog Choose between a simple color or a texture Screenshots Video Source Code Image Effect Version (Unity 2017 and older if not using Stack) [+] Shader Shader "Hidden/Shader_StylizedFog" { Properties { _MainTex("Texture", 2D) = "white" {} _FogColor("Fog Color", Color) = (1, 1, 1, 1) _UseStylizedFogTexture("Use Stylized Fog Texture", Int) = 0 _StylizedFogTexture("Stylized Fog Texture", 2D) = "white" {} _FogMinDistance("Fog Min Distance", Float) = 0 _FogMaxDistance("Fog Max Distance",...

[Unity][Game Jam] Douze Brother

Image
For the Neon Game Jam , we had 40 hours to make a game. We made Douze Brother on Unity in C#. You are a dictator after a putsch, your population will ask you questions to know how will be the new polity. The goal is to give answers that will convince the population to accept your polity. If you give the bad answer, people will reject it. You can interact with some elements in the background, it will unlock charismatic sentences to say when using the giant screen. The sentences will unlock new dialogs on population. Note: Use the  DouzMarket  to quit the game beautifully Download the game

[Unity] Steering

Image
This my own steering implementation. This steering project contains: - Steering behavior manager (called SteeringCore) - Seek / Flee / Arrival - Pursuit / Evasion - Obstacle Avoidance / Unaligned Obstacle Avoidance - Leader Following - Path Following - Flow Field Following - Wander - Alignment - Cohesion - Separation - Flocking - Extra: begin of path following working with seek and arrival (WIP) Video Download Download Unity 5 project

[Unity] Bezier curve

Image
Here is implementation of the Casteljau algorithm to construct Bezier curves. This is a tool that deals with path construction using Bezier curves and classic point. Download Download Unity project (updated from Unity 4 toUnity 5)

[Unity][RTS Project] Android compatibility - WIP version

Making a RTS playable on a mobile device play a lot with controller work. For this challenge, I used TouchScript , a free multi touch library for Unity, to deal with gesture logic without reinventing the wheel. Controls - One finger drag: multi selection rectangle - Two finger drag: move camera - Simple tap: select a selectable element - Double tap: cancel current selection - Long tap: order attack unit to move touched point - Pinch / Spread: zoom / unzoom Download - Android APK - WIP version

[Unity][RTS Project] RTS AI - WIP version

Image
Introduction During 2 months, my exercise was to make a RTS AI. The AI had to based on a decision making logic, so it analyzes world state, generating needs, to make objectives to finally have a plan to satisfy the given needs able to lead it to the victory. The main analysis are: - Economy (importance of gold recolt) - Military army composition (which unit type produce to defeat enemy units) - Military situation (which army is the stronger, attack decision importance , defense decision importance) How army is managed Army can be composed by 3 unit type, with a relation as the Rock-Paper-Scissors  principle. How building is managed Each team own some building slots, that are emplacements where Peons can build a new building. Screenshots Video Controls - Mouse scroll: zoom / unzoom - Mouse scroll click: move camera (drag) - ZSQD / arrow keys: move camera, shift to move faster - Left click: drag = multi selec...