Skip to content

Open source Godot recreation Attempt of Armada Tanks, a great arcade game made by ENKORD.

License

Notifications You must be signed in to change notification settings

jupiterbjy/OpenAT

Repository files navigation

image

OpenAT - Open source Reverse-Engineering project for Armada Tanks

A 50-days-long, open-source reverse engineering project made by jupiterbjy and ruminex, as part of Hongik-University Graduation Project.

Armada Tanks are developed by these wonderful developers:

  • Denis Kotov: Game Design, Programmer, Level design, Art & Graphics
  • Pasha Oliynyk: Art & Graphics
  • Yaroslav Yanovsky: Producer
  • Message: Music Composition, Sound Design

Announcement-ish video

1700538000_merged_4


Gameplay Demos

Initial Gameplay Demo (Linux / Windows)

Android on-screen joystick Demo

Controller Input Demo


Public Display

This project was awarded 2nd place in 2023 Hongik Univ. CS Graduation Project Public Display.

We didn't expect this much popularity among public display, our sincere thanks to professors, juniors, seniors, and many more for playing at our booth!

Presentation files

Some photos


Repo Structure

No external godot plugins or resource (other than Armada tanks') were used - pure Godot + python + ClipStudio Paint.

  Contains Markdown documents produced from our reverse-engineering efforts & few helper scripts.
  Majority of project's efforts went into this decoding part.


  Resulting scripts of reverse-engineering efforts on Armada Tanks's seemingly own in-house format.

  • ImageFontSplitter: Old script for splitting each letters from font image. No longer used.
  • DF2FNT: *.df font format conversion script. Converts fonts into AngelCode's BMFont format.
  • DTM2Blender: DTM model reconstruction & model definition reconstruction script. Uses black magic trickery to allow Blender's GLTF exporter export mesh, UV and vertex animations properly.
  • Tex2JSON: texture*.scr texture definition scripts reconstruction script. Also translates DX8 Blending specifiers.

CustomResources

  Collection of hand-crafted models.


Where's the game? How can I play?

Test Builds

Considering that original game Armada Tanks is officially free - I decided to distribute current build. But since this being open source repo, I can't simply put that as release here, as it clearly contain ENKORD's textures or audios that can't be open sourced - so will be hosting it separately on Google Drive.

By downloading OpenAT Builds, YOU ARE AGREEING TO ALSO DOWNLOAD THE ORIGINAL GAME.

Currently game is built for:

  • Windows
  • Linux/X11
  • Android (Main game requires keyboard and mouse for now)

Building yourself

Since this being open-source repository, all the game's source codes are open, however you'll need to follow few more steps to fill in the missing files.

  1. Download & install original Armada Tanks game from Official site.
  2. Follow instruction.
  3. Open GodotProject/project.godot in Godot Editor
  4. Play or download build templates and build yourself!

Ramble: A Bit of history

Precursor: Open Armada

Version 1 was made before OpenAT - Back then it was called Open Armada. That project was made as a homework-ish Unity project for Computer Graphics lecture in Hong-Ik University.

During that project, we failed to decode Armada Tanks for the entire full week.

Game - despite it's simplistic looks - was VERY complex in design, that we couldn't find a single right thing about it back then.

Therefore, at least a working stuff resembling even tiny bit of it had to be done under about 72 remaining hours. Those models used there were Just-In-Time(quite literally) model for use in impending doom called 'Deadline'.

Quality therefore, was quite miserable.


Successor: OpenAT

After failing our original Graduation project, we started working on Armada Tanks again, but from scratch. We only had 50 days till submission and public display.

We thought we could reuse all the thing we did in Unity, and pushed on researching about how we could utilize Armada Tanks resources.

We surely can't simply read x86 ASM as this game seemingly uses DirectX 8.0 directly, however if we could utilize original resources, our project could be run like one of my favourite OpenRCT - by just designating resource path.

Obviously this (and so many much more black magic Armada Tanks implements) was seemingly almost impossible in Unity. So, we nailed down for using godot instead of unity. Not to mention unity's self-destruction with their TOS changes!

During a bit short of a month's hardship, project finally is starting to (at least) run.

About

Open source Godot recreation Attempt of Armada Tanks, a great arcade game made by ENKORD.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published