Hachiko is a custom built C++ Game Engine developed by Akita Interactive.
Large Files (Place In Assets/Models/Large) https://drive.google.com/drive/folders/1Byno0EpZmpJipA2klS0w_CSnN3oMzuFw?usp=sharing Large Files (Place In Game\ErimosWwise\GeneratedSoundBanks\Windows) https://drive.google.com/drive/folders/1kiIeAMFgggOkSGGYQd_2d5W2VaEsKfuO?usp=share_link
- Alvaro Soppelsa - alvarosoppelsa
- Armando González - armandojaga
- Baran Sürücü - baransrc
- Bernat Güell - bernatgb
- Bernat Martínez - Bernatmago
- Edward Regas - EdwardRegasDuncan
- Eric Torres - Erick9Thor
- Joel Herraiz - Izenz
- Marius Dambean - ermario
- Miquel Miró - miquelmiro3
- Mónica Martín - monikamnc
- Vicenç Bosch - VBoschMatas
- Clàudia Escuder - Linkedin
- Claudia Martín - Linkedin
- Eduard Gállego - Linkedin
- Eduardo Godoy - Linkedin
- Ehsan Zareh - Linkedin
- Isabel Lammens - Linkedin
- Phan Minh Hieu - Linkedin
- Marcio Echevarría - Linkedin
Brief summary of the engine main functionalities
- Unity like camera controls
- Scene serialization (loading & saving)
- Scene creation with gameobjects & components.
- Scene edition via hierarchy, guizmos, inspector & configuration
- Unity like play stop pause controls, scene returns to its original state on stop
- Asset management system
- Navigation system
- Advanced render pipeline:
- Mesh & texture batching
- Deferred rendering
- PBR Lighting with skybox IBL
- Exponential height Fog
- Ambient occlusion
- Particle & billboards with instance rendering
- Unity like materials
- Video Rendering
- UI Rendering with text
- C++ based scripting system with hot reload
Blocks used to extend all gameobjects and build all the game features.
- Transform
- Mesh Renderer (Mesh + Material)
- Camera
- Lights (Direcional, Point, Spot)
- UI (Canvas, Renderer, Transform 2D, Image, Text, Button, Progress Bar)
- Script
- Navigation (Agent, Obstacle)
- Audio (Listener, Source)
- Billboard
- Particle System
- Video
- OpenGL - A cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics.
- SDL - Simple DirectMedia Layer to interact with hardware via OpenGL.
- DevIL - A programmer's library to develop applications with very powerful image loading capabilities.
- Assimp - portable Open-Source library to import various well-known 3D model formats in a uniform manner.
- ImGui - A bloat-free graphical user interface library for C++.
- MathGeoLib - A library for linear algebra and geometry manipulation for computer graphics.
- PhysicsFS - A portable, flexible file i/o abstraction.
- ImGuizmo - Colletion of useful ImGui widgets.
- ImGuiFileDialog - File selection dialog built in ImGui.
- YamlCpp - A fast YAML parser/generator for C++.
- Recast & Detour - State of the art navigation mesh construction toolset for games and path-fiding toolkit.
- Freetype - Library to load & render fonts.
- GLFont - GLFont is a text-rendering library written in C++ for OpenGL, using FreeType.
- Libav - Collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
- Xxhash - Extremely fast Hash algorithm.
- Optik Profiler - A super-lightweight C++ profiler for Games.
- Wwise - Greatest Sound Engine feature-rich for interactive audio.
This project is under the MIT License LICENSE.
To start seeing a model you can drop any file from Game/Assets/Models
into the screen. Alternatively you can load a scene going to File -> Load -> Scene
and choosing the .scene
file you want to use.
Scene navigation controls resemble the ones from unity:
- Move the camera as fps game using right click + W, A, S, D
- Orbit the model using Alt + mouse motion
- Pres F to focus on model
The engine is based arround hierarchies of game objects that have a set of components asociated to them. All game objects will have at least a transform.
You can edit the game objects distribution via the scene hierarchy by dragging them or using the contextual menu that pops up with right click. You can also select objects by clicking them on the scene (As long as they have a mesh).
To tweak components or create them you can select the desired game object and go to the inspector, each component has its own set of options.
Alternatively, you can modify the transform using the guizmo, to change its current mode use the buttons at top left of the scene or the W, E, R keys.
Game built using the Hachiko Engine.
Stranded on a mysterious planet during a reconnaissance mission gone astray, the Captain of Space Fleet AKT must find a way to fight through an infected horde of creatures to defeat their leader and return home. Ancient ruins, hellish canyons, and vicious parasites lie waiting for our lone survivor.
Érimos Project is a fast paced hack-and-slash that allows players to use the corpses of fallen enemies to enhance their character’s body. Discover the possibilities of your ever-shifting arsenal by acquiring parasites from your foes, allowing for engaging replayability. Dash across retracting platforms, navigate past lasers, evade enemy attacks, and slice your way to freedom in two distinct levels that culminate in an epic boss encounter.