ARTIFICIAL - SimpleGhost
Hello! We are looking for testers!
If you would like to help out and play an early version of the game please join our discord server and ask for the tester role!
Testing should start in a couple of days. We are mostly trying to discover bugs, performance issues and make sure that game is understandable and easy to control.

Discord invite link:
https://discord.gg/5sDEGZM



New Screenshots
ARTIFICIAL is looking better than ever and that's why we have decided to update all Steam Store page screenshots. Here is a little sneak-peek!



See you in our Discord server !
- Ondrej
ARTIFICIAL - SimpleGhost


WELCOME
Welcome to another bi-weekly ARTIFICIAL devlog!

GAMEPLAY
I've decided to release a short playthrough of one of the early levels as it nicely demonstrates different aspects of ARTIFICIAL's gameplay. In this case - simple platforming combined with dynamic obstacles (lasers & turrets) and environment-based puzzles. Everything you can see in the video is still work in progress. Because this level takes place around the start of the game, it shows just the most basic gameplay mechanics. There are many more which are gradually introduced throughout the game.
https://www.youtube.com/watch?v=PIEGG1IR8J0&feature=youtu.be
TURRET TROUBLE
As you could see in the video above, one of the many obstacles you can encounter in ARTIFICIAL is security turrets. They scan their surroundings and shoot any biological entity they pick up with their scanners. You can either sneak around them or disable them by tipping them over.



MODEL IMPROVEMENTS
Several models went through various visual improvements. Here you can see an example. I've decided to add a little bit more detail to the "drum antenna" model in the form of a beveled edge. It's just s small change, but environments which are using this model now look much more detailed.



Models also went through some performance improvements. Many of the prefabs were causing unnecessary draw calls, so by merging together meshes which were using the same material, I managed to reduce overall draw call count by around 30%.
Messy models can get performance heavy really quickly.



Here is a quick description of draw calls from official unity3d.com documentation:
To draw a GameObject on the screen, the engine has to issue a draw call to the graphics API (such as OpenGL or Direct3D). Draw calls are often resource-intensive, with the graphics API doing significant work for every draw call, causing performance overhead on the CPU side. This is mostly caused by the state changes done between the draw calls (such as switching to a different Material), which causes resource-intensive validation and translation steps in the graphics driver.
https://youtu.be/NQ7DnESGvEU
VISUALS AND PERFORMANCE
The other day I ran into GRAPHY - Stats Monitor & Debugger which is a free asset on the Unity asset store. It's a quite reliable and handy tool for checking the performance of your game and seeing how various graphics options affect your game's performance.



While playing around with this tool, I found out that enabling shadows for secondary lights (which are mainly used to subtly light up darker areas of the game) has a really small effect on the overall performance. I've decided to add the possibility to have the shadows enabled in the game and I have to say that environments now definitely look much better. I also decided to make overall shadows a little bit darker as in some cases they were not quite visible.
https://youtu.be/7n3ILbJb7cI
Adding dust particles to the game was something that I had on my mind for quite a long time. I finally decided to work on them last week. After a few iterations, they turned out to be a nice little touch to the overall atmosphere of the game and this is how they look like in action:
https://youtu.be/UXJZLUgN5I4
DISCORD
ARTIFICIAL is mostly a one person Indie game and that's why I'm often relying on opinions of people from my Discord community. Feel free to join in if you would like to chat, or just see more screenshots and videos from development!



JOIN OUR DISCORD!
FOLLOW ME ON TWITTER

Thanks for reading this far and see you in two weeks!
- Ondrej
ARTIFICIAL - SimpleGhost


WELCOME
Welcome to another bi-weekly devlog about the development of ARTIFICIAL!
This time I was mostly solving technical issues and working on performance improvements, but I'm also going to show you some of ARTIFICIAL's gameplay features in closer detail and talk about my past projects.



TECHNICAL DIFFICULTIES
Unity decided to give me trouble once again. It suddenly started spitting out errors about missing libraries. At first, I thought that I broke something in my project but the problem remained even when I tried opening older projects or creating new ones. I spent a whole day trying to resolve this issue while searching for possible solutions on the internet. Even reinstalling Unity & Visual Studio didn't solve the issue, so in the end, I had to reinstall my whole system.



I decided to disassemble my 5-year-old laptop in the meantime and discovered some of the first unity projects I ever made on its hard drive. Enjoy this sneak peek at the quality games I made back in 2011. :)



LASERS!!!
Lasers are one of the first obstacles you will encounter in ARTIFICIAL. Touching them results in instant death. At first, they take the form of mostly static obstacles, but they get more dynamic as you progress through the game. They can switch on & off, change their rotation and even move on rails.
https://youtu.be/bqUIFV767l4
At the programming side of things, each laser has its own set of instructions which control its behavior. This way, I can easily create different laser behaviors by writing down different sets of commands. Each laser is a little state machine that waits for the next instruction and carries it out.



OBJECT INTERACTION
Interacting with objects is a big part of every ARTIFICIAL level. Objects can be picked up, dropped and thrown. Those which are too heavy to be carried can be still pushed around to uncover secret passages or used to reach otherwise inaccessible places.
https://www.youtube.com/watch?v=MUic8GKHDYw&feature=youtu.be
Object interaction is a big part of puzzles and it's closely tied to numerous game mechanics.
https://youtu.be/nKzZBv9Cuug
This is how object throwing looked like back in 2018 when I first programmed it. I kinda forgot to change "isHoldingObject" state to false after throwing an object so I accidentally created a brick machine-gun.
https://www.youtube.com/watch?v=geS_piDIq7o
SLOVAK GAME OF THE YEAR
Also, During last weekend I attended the Slovak Game of The Year Awards. My short experimental game "The Flood" from 2018 got nominated and received honorable mention for best visual design. Yay!



DISCORD
ARTIFICIAL is mostly a one person Indie game and that's why I'm often relying on opinions of people from my Discord community. Feel free to join in if you would like to chat, or just see more screenshots and videos from development!



JOIN OUR DISCORD!
FOLLOW ME ON TWITTER

Thanks for reading this far and see you in two weeks!
- Ondrej
ARTIFICIAL - SimpleGhost
WELCOME
Welcome to the second ARTIFICIAL dev-log!
I was hoping I would be able to release these every week but It seems I'm going to adapt a more manageable bi-weekly format. Otherwise I would bore you by talking about uninteresting parts of the development process. So let's get into it!



MONSTER CUTSCENE
Final game is going to contain numerous cut-scenes. At one point player will be thrown into deep abyss by a huge mechanical monster. I handled visuals and animation, but working with audio is not really my strong suit. Fortunately I happen to be working with two skilled freelancers. Devel Sullivan takes care of all ambient music of ARTIFICIAL and Vlad Drahan helps me out with most of the SFX. We managed to put together this scene and I'm really happy how it turned out!



https://www.youtube.com/watch?v=LfnbQQK45bM

PIPELINE PROBLEMS
Sometimes unpredictable life events can get in the way of development. One of these days I woke up motivated for work, thinking how much stuff I'm going to get done... then I found out about clogged pipe in the garden. I kinda ended up playing real life minecraft for the rest of the day.



CONVEYOR BELTS
Conveyor belts can be found in almost every level. They can carry various objects, they can be truned on and off again, but mainly - they are important part of various puzzles and level design in general.
I never thought that there can be so many issues one can run into with such a simple mechanic.



The most common issue being objects bumping into the wall openings and then getting stuck. This usually ended up in a huge pile of objects wiggling around. I realised that instead of just pushing objects in the direction of the belt, I also have to write a small piece of code to keep the objects centred. This solved most of the "bumping" issues and objects started to happily ride on the conveyor belt.

Conveyors can also affect the player. It's great fun, but player's body is not really a physical object (from the code perspective) so a small bug appeared where player could be pushed into walls from time to time and get stuck. I've managed to solve this by projecting a capsule into player's new location (each frame before moving them by conveyor) and checking it for any collisions. If collisions occurred, it meant that player would be teleported inside a wall or some other object.

I also realised that conveyor belts are pretty long and sound which they make cannot really be emitted from a single point in space. I had to write a small script which compares position of the player relatively to the conveyor belt, and moves the sound emission point to the part of the conveyor belt closest to the player. This way the sound feels like it is always coming from the conveyor and not some static point in the room.



MUSIC
I've already managed to introduce Devel Sullivan up above - he is the guy who stands behind all ARTIFICIAL's music. We currently have multiple finished tracks so we figured that we could show you a little sneak peek.

https://www.youtube.com/watch?v=gW6_R_PWyFw&feature=youtu.be

ENVIRONMENT POLISHING
One of the things which take up most of the time is getting back to old levels and improving them both visually and gameplay-wise. For me, working on ARTIFICIAL is a huge learning process. Most of the time, new levels end up looking far better, than the older ones. It's definitely not a bad thing, but it creates a huge visual inconsistency. That's why I have to revisit old environments from time to time and make sure that I'm still happy with how they look and how they play. Below, you can see small example of how one of the environments changed over time.




DISCORD
ARTIFICIAL is mostly a one person Indie game and that's why I'm often relying on opinions of people from my Discord community. Feel free to join in if you would like to help out, or just see more screenshots and videos from development!



JOIN OUR DISCORD!
@ARTIFICIALGAME ON TWITTER

Thanks for reading this far and see you in two weeks!
- Ondrej
ARTIFICIAL - SimpleGhost
WELCOME
Welcome to the first ever (hopefully) weekly ARTIFICIAL devlog where I would like to summarize some of my recent work on the project and take you behind the scenes of development!



Project is in a phase where most of the key mechanics are in place. Only thing missing is content. That's why I'm mostly focusing on creation of new levels, and occasional polishing.



CRISIS AVERTED
Last week of development started by unexpected power outage which occurred in the middle of the night. Let's just say that my laptop's hard drive didn't take it very well. Fortunately, every change on ARTIFICIAL is automatically uploaded to the cloud so all I had to do, was to power up my desktop and wait for 200 000 files to download.



I also had to set up up proper colours on my desktop screen which turned out to be pure hell. Most of ARTIFICIAL areas are pretty dark, so working with proper screen settings is crucial for my work on environments and their lighting.



UPGRADE
Converting the project to newest version of Unity engine was also loads of fun. Scripts were spitting out errors, models went missing, but 15 minutes of googling solved most of the critical issues.



TESTING
Couple of friends stopped by to do a small play test. I let them wander through first 40 minutes of the game while occasionally scribbling down notes about possible improvements in level design. In one case, all players got confused just because I showed a tutorial message for object pushing mechanic little bit too soon. They started to push random objects near them, instead of walking another 5 meters where barrel was visibly blocking a pathway. It shows pretty nicely that one should never underestimate importance of testing on other human beings.



I have spent quite some time on polishing & fixing problematic areas which were hard to navigate. Most of the issues were easily solveable by adding a few lights or points of interest that show up as a small piece of floating UI text describing important items and locations in the current level.



There were also some more interesting issues discovered during the play test. I had to increase the range from witch you can interact with objects, because picking up objects from under your feet was sometimes little bit tricky and required you to crouch. Crouching had to be remapped from 'C' key to Left Control as people who don't have a pair of baby hands like me, had hard time pressing it. I also had to disable collision detection for power lines and increase fall damage, as players could sometimes walk on them and parkour through whole areas.

DUMB WAYS TO DIE
ARTIFICIAL currently uses a library of almost 100 sound effects. This time I was implementing SFX for various death scenarios. Players can fall and break their legs, end up cut by lasers , get shocked when touching electrified objects and much more.

Worker drones also got their fair share of SFX upgrades. Now they randomly emit beeping sounds and you can hear their thrusters as they fly by.

Death by fall SFX - Youtube Link
Death by laser SFX - Youtube Link
Drone SFX - Youtube Link



DISCORD
ARTIFICIAL is mostly a one person Indie game and that's why I'm often relying on opinions of people from my Discord community. Feel free to join in if you would like to help out, or just see more screenshots and videos from development!

JOIN OUR DISCORD!
@ARTIFICIALGAME ON TWITTER

Thanks for reading this far and see you next week!
- Ondrej



...

Search news
Archive
2019
Oct   Sep   Aug   Jul   Jun   May  
Apr   Mar   Feb   Jan  
Archives By Year
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002