Artur Nista Games

About

My name is Artur Morelle Nista and these are my game collection.

This portfolio contains my best and/or most interesting productions.

Here you can see my knowledge and improvement of my game developer skills in the last years.

I've been in the TI area for the past 5 years, working as a software developer.

In my current job, I'm a Web Developer, working mainly with Node.JS and PHP for the Backend, React for the Frontend and React-Native for mobile development.

My journey as a game developer started developing maps and mods for Warcraft 3 and simple games using RPG Maker.

Right now, I have over 5 years of game development experience, mainly using Unity 3D, but with some projects built in HTML, Game Maker, C++ with OpenGL and others.

Fun fact, me and my friend developed a TD Map for warcraft 3 over 10 years ago that has more than 1.300 downloads: Magma TD.

Languages

Unity 3D

5 years

C#

5 years

Javascript

6 years

HTML / CSS

4 years

PHP

3 years

Games

Lady of the Colors

Platform with puzzles. You can fly to avoid obstacles and get close to your objective.

Game developed in Unity 3D, with more focus on game and level design.

This game is heavily inspired by Celeste, as my intentions were to create a platform with a little set of player mechanics, that could be changed and developed using interesting level design.

The development follows a composition strategy, as every components is self-contained, working independent of others.

For example, in the game you can fly. This action consume fly fuel, that can be refilled collecting some special objects, like refill orbs and save points. Every object that refills your fly fuel, has the same component, that the only purpose is to refill your fuel.

This design helps a lot with building new features and mechanics, because you can create fun interactions only plugging together small features.

Colorless Ruins

In Colorless Ruins you move around a forgotten realm, avoiding enemies, collecting keys and trying to find a way back home.

Game developed in Unity 3D, for Arcade Jam 2.

The game is short and have a simple ideia of a very popular genre on mobile. The twist of moving freely comes from initial development stage, where I found that changing directions between movement was fun.

My objective with developing this game was make something small, but very polished. Being an arcade game, I also added some secrets and challenges.

A Games Wizard at Armor Games liked my game and invited me to upload the game to Armor Games.

Right now, it has more than 20.000 plays and an 78 score, which, in my opinion, is pretty good.

Mage Arena

Online Battle Arena with a Smash Bros like mechanic, where your objective is to throw your enemies out of the arena using spells.

The Backend of the game was built using Node.js and socket.io for the client-server communication. The Frontend was built using React and PIXI.js as the rendering engine. The art was also done by me.

My mainly motivation for creating this game was learn to build a multiplayer game. The server was my focus, as I come from a web background. I wanted to create an engine that could be easy to develop new features and have multiple games running at the same time.

I used a Component System, like Unity3D uses. Each entity could have multiple components, like being an Physics entity, having an AI (like a bot), having buffs and debuffs, and any other component.

In the first version of the server architecture the same Node process handled multiple game servers. This was a problem because os some reasons:

Node being single thread, multiple games can be a problem for the engine. This could become very heavy on the machine because multiple connections would be open in the same process. And, as an indie game, it has some bugs. Sometimes the server crash and all games go down.

Then I updated the server to be handled by multiple process. Each game is a different process created by the main server and can handles themself.

Today all games run in the same machine, budgets reasons, but, they can run in multiples servers. That way, the problem of multiple connections in the same machine would be solved. And, if a game crashing bug happens, only that game would go down, not messing up with other servers.

I've also came up with the challenge of developing my own physics engine. Since it's a top-down game, I could use a collision handler to manage most of the events, not needing any fancy implementation.

C Jumper

Casual infinite runner, where you jump and dash to avoid obstacles and collect diamonds, unlocking new scenarios.

Pretty casual game made in a couple of weeks. Made in my vacation time, as a challenge to develop and release a full game.

The main loop is pretty fun and entertaining, just have to work on the "game feel" and "juiceness" of the game.

In this project I approached an Event Driven System, where every action (Player Jump, Player Dash, Player Gain Point, Player Die) would dispatch an event and other entities or objects would react to that.

Sounds are played on events, UI elements are shown and hidden based on dispatched events, etc.

So, when I need to create new features, I just need to listen to the events and react to them.

For example, was very easy to develop achievements, because they just react to events.

Destruction chain

Casual top-down spaceship shooting game, where every hit causes a chain reaction, creating more projectiles every time you kill an enemy.

This was my first released game. I was encouraged by some coworkers to publish for mobile after I showed them the PC version.

I developed the initial idea and starting testing some input schemas. My first thought was that pressing where you want to shoot was too easy

After showing to some people, the natural reaction from everyone was to click where you want to shoot.

After that, I became adding goals, enemy powers and other minnor tweaks.

The sound is missing, but I'm aiming at adding basic music and SFX soon.

Retro FPS

A futuristic FPS short game, with some expiration on retro FPS games (fast movement and no gun limit).

One of my first 3D games and my first linear game, with a simple plot.

All assets are from Asset Store, besides some very simple stuff, like the Flying Demon and the glass walls.

I learned to create animations in 3D (all guns animations are done by me). Developed some basic AI for the enemies and coded all the player movement and mechanics.

The core gameplay is heavy based on retro FPS, like Half-Life and DOOM. The mechanics, like the fast movement, are complemented with the enemies.

Enemies was designed to keep the player in movement. The cyclop follow you around and the flying demon attack your position with projectiles.

I also try to vary the battle strategies changing the level design. Corredors and small rooms are opposed with big and open areas, chaning the player style of fighting the enemies.

Web Thresh Game

Simple game that your objective is to collect souls for Thresh. You can upgrade your hook with this souls.

Developed in a single weekend, with a small set of modifications done after that.

This game was done with a team of four, with the aim to improve our code skills, in a kind of self made Gamejam.

My first game developed in a group of people, which improved my communication, decision making and coding skill overall.