Tag Archives: 2.5D

Argos: CICE MPV Project (Unity3D Master degree final project)

Details

Project: Argos: CICE MPV Project
Genre: 2.5D action-platformer, Unity3D game framework
Platform: Windows, Linux, Mac
Job description: Gameplay Programmer, Tool Programmer
Technologies: Unity3D, .NET, C#, Git, Source Tree, Argos.Framework (own Unity3D multiplatform framework)

Description

My final project for my Unity3D game development master degree coursed in CICE on 2017. A 2.5D cinematic action-platformer developed over a custom multiplatform framework (the true core of the project).

This project was developed while I was working on the porting to Nintendo Switch of Ginger: Beyond the Crystal in Drakhar Studio. During this period (3 months) I was working in the idea of creating a framework that ease the common tasks in a multiplatform development with Unity3D, like manage the input setup or the file system over the different operating systems or consoles. After finish my contract with Drakhar Studio, I was working on the playable part of the final project, the 2.5D platformer and how integrating the framework in his development. I made it in only 4 weeks.

The framework cover the following areas:

  • Input system:

    A single player oriented input system, based on Input Map assets witch defines actions and axes definitions for use in separate areas of the game like UI or player actions.

    This system is based on Virtual Axes that bring the posibility to define input based on keyboard, mouse and/or gamepad axes (sticks, DPads), and Input Actions to define actions like jump or shoot, using input from keyboard, mouse and/or gamepad buttons, DPad and triggers. Input Actions can managed from events, and both Input Actions and Virtual Axes can allow input rebind in runtime.

    This system nativelly support the popular game controllers like XBox 360, XBox One, PS4 and Nintendo Switch Pro Controller (on supported systems). The input system manages automatically a common map between different controllers, in a way to only uses a unique button list to setup the actions and axes. The system also allow the use of generic gamepads and uses a generic input map asset to setup the input map, also allow this setup in runtime.

    This system implement a custom Standalone Input Module and some custom components to bring full support on Unity UI components for UI navigation.

  • Multiplaftform file system layer:

    A file system layer to safe manage the basic file operations between Windows, Linux and Mac systems. The system manage a predefined paths to manage savegames, settings, screenshots and custom data folders on user document folder, and avoid errors on path formatting or creation/check the current folders.

  • Localization system:

    A simple localization system that allow to localize UI text elements with rich text formatting support. The system implements a simple component that manage the UI Text component content in realtime. For the project, this system was designed for only support English and Spanish languages.

  • UI components:

    A serie of UI components to bring some functionalities like doble click events, customizable text message events and UI input icon system to show text messages with keyboard, mouse or gamepad button or axis icon based on the common input map system implemented on the first point of this list.

  • Misc additions:

    Multipurporsal scripts and components with various ideas learned and implemented during this master degree on each practical excercise.

Argos.Framework, coming soon

Today, I'm working in this framework to pulished some parts and improved ones (Input System code and his editor inspectors) and rewriting others from scratch (file system, localization system and some UI components), and implementing new additions like XInput gamepad vibration support (with visual pattern vibration assets, to allow to design vibration patterns similar to the classic DirectInput Force Feedback patterns), GameJolt API integration (user session, trophies, leader boards and cloud storage) and more.

Other additions that I'm working is the XBox One support, via Universal Windows Platform, with XBox Live basic services (user session, user stats, leader boards and file storage). The goal of this is trying to unify this services with other like the GameJolt or Steam services (even consoles services like PS4, XBox One (not UWP) or Nintendo Switch) under an unique layer to simplify the development between platforms, the main goal of this framework.

Project Jupiter (Cancelled Prototype)

Details

Project: Project Jupiter (Codename)
Genre: 2.5D Cinematic Action-Platformer
Platform: PC (Windows, Linux, Mac)
Job description: Game Programmer, Game Designer
Technologies: Unity3D, .NET, C#, PlayMaker (used to create base state machines)

Description

A 2.5D Cinematic Action-Platformer. This project is born as a result of a bet between friends. Since 2010, I have been doing small tests with Unity3D, but no projects or prototypes. This project has helped me to try to learn the basics of the engine and gain some experience for future projects.

The prototype implement a functional character player with some of basic states, with functional weapon. The development focused mainly on the player's implementation and the visual style for future game levels (mainly lighting tests and retro look & feel). The project uses free assets, include part of the Angry Bots demo assets from Unity3D 4.

This project was cancelled due to several technical problems with 3D assets (old assets from Unity3D 3 and 4 versions, not compatible with new material system in Unity3D 5) and other related problems.

Full prototype level gameplay

Current State (early 2017)

In September 2016, try a new approach to the concept of the game, using new assets, compatible with Unity3D 5. This is a capture of a prototype with the new material of the project, trying to recreate a control similar to that of games like Shadow Complex:

At present (January 2017) the project is based on the original concept discarded, more typical of games of the 90's like Another World or Flashback:

State of the project in January 9, 2017, some tests focused on player basic mechanics (run, walk, jump, fall, landing, climbing...). Implementing own character controller and FSM system (without PlayMaker).