Category Archives: Porting

Demons With Shotguns (Xbox One & PS4 port)

Details

Project: Demons With Shotguns
Studio: Mind Shaft Games (ported by Stage Clear Studios)
Genre: Arcade, Brawler, Platform, Shooter
Platform: XBox One, PS4
Job description: Gameplay Programmer
Technologies: Unity3D, .NET, C#, SVN, Tortoise SVN
WebSite: http://mindshaftgames.com/
Store links: XBox One, PS4 (US), PS4 (EU)

Credits

Programmers
Sergio Alonso Martínez
José Miguel Sánchez Fernández

QA
Guillermo Regueiro Martín-Albo
Andrés Conde Herranz
Maria Ruiz Algar
Alberto Relucio Gallego

Producer
Raquel Sánchez Illescas

Description

The ultimate couch fragger gibfest! Armed with a powerful boomstick and bullet deflecting shield, up to four players wage unholy war against each other as they compete for souls in nine different local multiplayer game modes (wave mode for 1-2 players also included) across four realms and 40 arenas. This is demonic local multiplayer action at its bloodiest!

A really fun game for play with one or three friends in local!

Gameplay programmer for the porting to Xbox One and PS4 during  mi period in Stage Clear Studios on 2018. Working to improve the performance and stability on console of this game, performance in code and in draw calls, and to finish the console services integration in code, also solving critical problems with the multiplayer, UI and input implementation, and bad using of plugins and frameworks.

Dependency Injection and the InControl plugin: the downway to the hell in Unity

One of the critical issues in this project was the over engineering applied by the original developers when using a bad implementation of Dependency Injection (or Inversion of Control) architecture in Unity using a third-party framework. This issue results in a very complicated code to debug using the Unity and Visual Studio debuggers because the code makes random and unexpected traces in execution, and this results in more time to port the game to XBox One and PS4 consoles (this project took more of a year to was completed the port to both platforms and pass the TRCs to be published).

Other problem to solve in this port was the bad use of InControl plugin, a popular multiplatform input manager for Unity (and the source of most of the bugs to fix in the most of projects that I worked during a year in Stage Clear Studios). Most of the problems to fix was the InControl implementation with the multiplayer logic and the user session pairing. In PS4 adding a critical bug when the console return from the suspension mode (turn off the console when the game is running and turn on to return the previous session). In PS4 (almost in this project), InControl stop to working after the console return from the suspension mode. This result in fail the TRC process when try to publish a game to Sony.

Because the InControl source code is a mess to apply custom fixes, my solution was the implementation of an own lightweight input system using the built-in Unity input system (based on the input system implemented in my master degree final project, Argos: CICE MPV Project) and the needed calls to PS4 DualShock functions (mostly for vibration). Basically, my system was a wrapper that catch any InControl call, and remaped to Unity built-in input system, recreating all needed classes and structures from InControl API to ease bypass the plugin without rewrite any line of code of the game.

Pipe Push Paradise (Nintendo Switch, XBox One & PS4 Port)

Details

Project: Pipe Push Paradise
Author: Corey Martin (ported by Stage Clear Studios)
Genre: Puzzle
Platform: XBox One, PS4 & Nintendo Switch
Job description: Gameplay Programmer
Technologies: Unity3D, .NET, C#, SVN, Tortoise SVN
Store links: XBox One, PS4 (EU), PS4 (US), Nintendo Switch

Credits

Programmers
Juan Escudero Vizcaino
José Miguel Sánchez Fernández

Technical Artists
Sergio Bernardo Sánchez
Francisco Porcel

QA
Guillermo Regueiro Martín-Albo
Andrés Conde Herranz
Maria Ruiz Algar
Alberto Relucio Gallego
Ricardo Pascual Segovia

Producer
Raquel Sánchez Illescas

Credits (Nintendo Switch version) on MobyGames site: https://www.mobygames.com/game/switch/pipe-push-paradise/credits

Description

Gameplay programmer for the porting to Xbox One, PS4 and Nintendo Switch.

I worked on optimization tasks on code and graphics assets in scenes, mainly reducing polygons in major objects in scene, like the pipes, implementing a system to switch original pipe models for a low-poly version when the puzzles are solved (the original pipes, that the player see when play a puzzle, are a compound of several high-detailed meshes with detailed interiors, very unoptimal for realtime videogame rendering), and removing several duplicated/overlaped sprites on decorations (and improved the sprite materials with help of our in-house technical artist, Sergio Bernardo) to reduced the several overdraw and draw-calls when the game shows the entire island or large areas with solved puzzles.

Other task consisted in adapted the user session for working with the console systems, and save game implementation and other related game state code to avoid continuously read/write operations on disk (or the NAND memory in Switch) major bugfixes related with the original Steam version and last-hour game workflow changes requested by the game developer.

P.D.: Before the last Nintendo Switch SDK version on november, Unity games on Nintendo Switch they couldn't reach the full potential on the GPU. Because this, initialy, in an effort to reach almost 30 fps, we created an alternate version of the island scene for the Nintendo Switch version and applied several cuts on effects and decorators, like the water waves effects and some sprite layers in most of the wall decorators like the hedges.

Slayaway Camp: Butcher’s Cut (Nintendo Switch & PSVita Port)

Nintendo Switch Trailer

PSVita Trailer

Details

Project: Slayaway Camp: Butcher's Cut
Studio: Blue Wizard Digital (ported by Stage Clear Studios)
Genre: "killer" puzzle
Platform: Nintendo Switch, PSVita
Job description: Gameplay Programmer
Technologies: Unity3D, .NET, C#, SVN, Tortoise SVN
WebSite: http://slayawaycamp.com/
Store links: Nintendo Switch, PSVita (US), PSVita (EU)

Credits

Programmers
Alejandro Machuca Díaz
Sergio Alonso Martínez
José Miguel Sánchez Fernández

QA
Guillermo Regueiro Martín-Albo
Andrés Conde Herranz
Maria Ruiz Algar
Alberto Relucio Gallego

Producer
Raquel Sánchez Illescas

Description

A killer puzzle game where you control Skullface, a psychotic slasher bent on slaughtering camp counselors at the title campground. Slide this adorable voxel murderer around hundreds of isometric puzzle levels to squash, flay, and decapitate the hapless victims in this darkly comic homage to 80s trash horror.

Gameplay Programmer for the porting to Nintendo Switch and PSVita console versions. I worked on optimization tasks on code and graphics assets in scenes. Other task consisted in adapted and improved some UI elements to use in touch screen and major bugfixes on this platforms.

PSVita version was required most of the enfort, was the most difficult platform to port. Mainly I needed to reimplemented most of the original game core to ensured to fit in the low hardware requeriments, I implemented new resource management systems to cached reusable assets (sounds, textures, etc...) and background load processes (this is the only version that requires of loading screens between scenes and other game states). Also I applied extreme optimization in all graphics assets to avoid continous VRAM overflows adjusting size and compresion parameters in a right way to preserved the original visual feel in the PSVita screen resolution.

Ginger: Beyond the Crystal for Nintendo Switch (Porting)

Details

Project: Ginger: Beyond the Crystal
Studio: Drakhar Studio
Genre: Adventure, 3D Platformer
Platform: Nintendo Switch
Job description: Gameplay Programmer, Tool Programmer, Tester
Technologies: Unity3D, .NET, C#, SVN, Tortoise SVN
WebSite: https://www.drakharstudio.com/ginger
Store links: Nintendo Switch

Description

Ginger: Beyond the Crystal is an adventure platformer in which you have to rebuild and restore balance to a world devastated by the explosion of a mystical crystal. Face quests and challenges set over 3 worlds and gain powerful new skills, costumes and powers that will help you to defeat the fiercest.

Gameplay Programmer and Tool Programmer for the porting to Nintendo Switch version. I worked on optimization tasks on code and helped to optimize asset graphic implementations in scenes (mostly consisted in grouping and baking meshes for reducing draw calls). Other task consist in develop small intergrated tools (to help to search large amount of objects in scene by component type and other filter options, mainly to help in light mapping tasks), studied and tested the game against the Nintendo Switch TRC guidelines and testing the game with the last changes on the Nintendo Switch hardware.

Slot Bonanza for Windows 8 (porting)

Details

Project: Slot Bonanza for Windows 8
Client: Infi Apps (contracted by Plunge Interactive (Starloop Studios), studio responsible of the porting)
Genre: Slot Machine, Free to Play
Platform: Windows 8/Windows RT
Job description: Programmer, Technical Artist
Technologies: .NET 4.5, C#, MonoGame 3.0 Beta, Facebook C# SDK, Json.NET, BugSense, Sprite Sheet Packer, Visual Studio Express 2012 For Windows, Visual Studio Express 2012 For Windows Phone (as tool to compile assets for MonoGame project, with help of XNA 4.0)
Link: Slot Bonanza on the Microsoft Store

Description

Gameplay programmer for the porting to Windows 8 (Metro/WinRT app game).

For this job I worked as a remote freelance to the studio responsible to the porting project.

This project is a port of the original game from iOS to Windows 8 (Windows RT). I had to rewritten from scracth the original Objective-C code, based on Cocos2D framework, to .NET, C# and MonoGame 3.0 framework, and also had to adapt the game to the requirements of Windows RT platform and variable screen resolutions.