Git Product home page Git Product logo

aottg-2's Introduction

AoTTG-2

Discord
Quality Gate Status Code Smells Coverage

The future of AoTTG

Welcome to the official AoTTG 2 repository! From here, we are developing an open-source project known as AoTTG 2. AoTTG 2 is a community effort to continue the development of an indie game known as "Attack on Titan Tribute Game" (AoTTG) developed by FengLee. AoTTG was released in 2013, yet development ceased ever since 2016. Whereas FengLee is not working himself on AoTTG 2, he has given us permission to work on AoTTG 2 (Source)

The community kept the game alive by creating various mods, but now it is time to move to the next level. The community of AoTTG is large, and by combining our powers, we have forged the AoTTG 2 community.

How to contribute

As this project is open-source, the development is completely community driven. To make AoTTG 2 become reality, we need you to make it happen! Whether you can create 2D or 3D art; music or animations; code or ideas; everything is welcome! Please read our contributors page and join our Discord Server https://discord.gg/GhbNbvU

Will the game be free?

Yes. The game is available to everyone, free of charge! It's a project by the community, for the community. The only costs we have are for hosting AoTTG 2 Photon Servers, and currently we are also hosting Photon Cloud servers for AoTTG. These costs are also covered by the community thanks to our Patreon

When will the game release?

AoTTG 2 will be ready for release once every issue within the Release milestone is completed. Please do not pay too much attention to the % number, is that is only calculated based on the amount of issues that are completed. Some issues can take weeks, others can take minutes.

aottg-2's People

Contributors

8vestory avatar adonca2203 avatar alexwolski avatar anthonyl6 avatar dark3art avatar dasquyd avatar djfrytek avatar fastre avatar fizzysd avatar fizzysd2 avatar ghegi avatar gisketch avatar lithrun avatar mi-sad avatar mikasitaart79 avatar mrlurkin avatar mwndk1402 avatar nolanrdavenport avatar peteanidev avatar phantomryser avatar saudbako avatar sebascapo avatar sidsayshmm avatar sonicv6 avatar sxlksxskul avatar theboredprogrammer64 avatar tonytwohands avatar toorah avatar zoap avatar zynku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aottg-2's Issues

Dummy Titan

Is your feature request related to a problem? Please describe.
A dummy titan is a titan that cannot attack, and can only be damaged.
Dummy Titan appearance

Describe the solution you'd like
For players, we'd like to have dummy titans, so that they can safely practice their techniques.

@AoTTG-2/art-team

  • Develop a Dummy Titan model. The model should be in 2 parts: the dummy titan, and it's base. By having it in two pieces, it will be possible to rotate the dummy titan.
    Dummy Titan In-Game Result

@AoTTG-2/development-team

IMPORTANT: To ensure that a Dummy Titan is correctly synced in Multiplayer, you MUST place the prefab within a Resources folder.

  • Dummy Titan hitboxes (Nape & knees). Damaging the nape may reduce health (see below), damaging the knees does no damage.
  • Add a health to the nape. Damage dealt to the dummy titan nape must be identical as if a regular titan were hit. If a dummy titan does not have health, then it cannot be killed
  • When a Dummy Titan is "killed", it will fall over
  • Add an optional rotation setting. When rotating is enabled, the dummy titan will rotate with X speed

Command Line Interface (CLI)

Is your feature request related to a problem? Please describe.
Chat room should just be for chat. For commands, there will be the CLI. From this CLI users can execute commands, and see a log of recent actions that occurred.

Describe the solution you'd like
A complete CLI

Describe alternatives you've considered
Outputting everything within RoomChat would making the chat too crowded. Thereby a CLI will suffice.

  • Investigate a proper way of managing commands. We don't want to end up with 1000+ line method like InRoomChat/ Report findings to @AoTTG-2/development-team on discord channel #43-cli.
  • Opening and closing the CLI can be done with the same key (Can be hardcoded for now, will be changed once new rebinding structure is setup)
  • Upon opening the CLI, you can directly start typing the command
  • Predictive commands

Move weapon logic from HERO.cs into abstract Weapon classes.

This issue is intended for Junior developers, as it involves basic code structure and structuring logic.

How will this enhancement improve the game?
We currently have an abstract class named "Weapon". Weapon should contain all logic which a weapon should have of a player. Currently all these values are stored within HERO, yet why should HERO know if it has 7 AHSS ammo left, if they only use blades? The weapon related logic from HERO class should be moved into Weapon. Do note, that weapon is an abstract class, and that each derived class must implement its methods. Currently reload logic is moved into Weapon, Blades and Ahss weapon classes, but there's still more work to do. Once this is setup, we can easily add thunder spears as thunder spears only needs to derive from the weapon class.

Describe the solution you'd like
No more weapon specific details should be within Hero class. A hero should only know that they have to reload their weapon as an example, the exact implementation details are managed within the derived classes. A weapon knows how to exactly reload, and how much ammo it has left.

Implementation assistance:
Within Hero class, check references of the following variables:
public bool useGun -> There's quite some references within Hero class like this: if (useGun) then do Ahss logic, else do blades logic. This can be moved within the weapon classes.
totalBladeNum, rightBulletLeft, hasRightBullet, leftBulletLeft, hasLeftBullet, currentBladeNum -> these are all related to the amount of blades / Ahss ammo you have left. Can also be moved.

If you need help, just ask! It's okay ๐Ÿ‘

  • Move all Weapon related code from HERO into abstract weapon class, and ensure that blades and Ahss implement this.

Gamemode infrastructure

How will this enhancement improve the game?
A map will have one or multiple game modes. As a direct example, you can take City I, II, and III from AoTTG. The same map, yet with different game modes. The logic of game modes is scattered through the FengGameManager, as won't be easy to extend upon that, so it's advised to implement an abstract Gamemode class, on which other classes can derive from. A "Room" can only have on game mode active at a time.

Describe the solution you'd like
A SOLID infrastructure on how game modes will be implememented

Describe alternatives you've considered
Extending on FengGameManager is a no go, as it would only increase further complexity.

Additional context
Please note that this issue is only about the infrastructure setup, not about the actual implementation, as there will be an issue per gamemode for that.

  • Setup generic game mode setup which rooms and maps can implement.
  • Discuss results /w @AoTTG-2/development-team
  • Create a method which returns supported game modes per map.
  • Move GAMEMODE enum usage within derived gamemode classes.

Cannons

This issue is for both Art & Development Team

Is your feature request related to a problem? Please describe.
Cannons should become interactable, so implement the interactable abstract class for cannons. Additionally, use the new cannon model as per #65

Describe the solution you'd like
Cannons are interactable, and will have enhanced features

@AoTTG-2/art-team

  • Cannon interactable/minimap sprites (Perhaps one sprite for both cannon types should suffice, or even an unique sprite for each of the two cannon types (ground cannon, wall cannon)
  • Cannon sound effect

@AoTTG-2/development-team

  • Confirm that PR #74 is done
  • Use the new cannon models from #65
  • Implement the "Interactable" abstract class for cannon (Both ground & wall cannons can use this), so that players can mount the cannon, and use it.
  • Ground Cannon will have an extra interactable component (can be done by just adding the interactable component to only the ground cannon prefab), named "MoveCannonInteractable". This will allow the player to move this object. We could also name it "MoveInteractable", which can be re-used to move other interactables in the future
  • Assure that cannons have a photonview, so other players can also see that you are firing / moving the cannon

In the future we could perhaps move wall cannons via the rails atop of the walls, but out of scope for this issue

Upgrade .NET 3.5 to .NET 4.X

Current code is written in .NET 3.5. From a developers point of view, this means that we are lacking several language features, as .NET 3.5 is using C# 3.0.

Some common language features that we are missing: nameof (operator), string interpolation (cmon, we really want this), null propagation.

If there is a significant of issues that cannot be resolved within two days, then mark that step as done and report those findings to development team.

[BUG] Character components not loaded correctly

Describe the bug
Upon spawning as a player, the body and arms are missing.

To Reproduce

  1. Spawn into a lobby
  2. You will not have a body & arms

Expected behavior
Upon spawning as a human, you should have a body and arms.

Update default AoTTG player costume to higher resolution

How will this enhancement improve the game?
Currently player skins are of an old and outdated resolution.

Describe the solution you'd like
A higher resolution and better looking skin, compared to the current ones

Describe alternatives you've considered
N/A

Additional context
Default AoTTG skins are located within:

Assets/Resources/newtexture

RC Assets

How will this enhancement improve the game?
The textures and models from RC mod are needed for gamemodes like bomb PVP and for custom RC mod maps.

Describe the solution you'd like
All models imported as prefabs with internal meshes. All materials imported with the correct shaders and import settings.

In-game UI enhancements

How will this enhancement improve the game?
This issue serves as a continuation of #19. Please await and confirm #33 is done before starting with this issue. This issue is a collection of small UX improvements.

Describe the solution you'd like
A complete UI, with additional UX effects

  • Damage "pop" animation. When a player kills a titan, the damage is instantly displayed on the screen. Within AoTTG, an effect would be played where the damage would "pop" into the screen, by making use of scaling. Goes from small to big, and big to small after x seconds.
  • Player Label stabilization. Player labels (their name) are displayed, yet they are attached to the player itself. When a player moves with their head, the label remains in place. Thereby, ensure that the label always stays above the head of the player
  • Block input when typing. When a player is typing in the in-game chat, block the input, so that they for instance won't reload all their blades when they say: "Rrrrrrr". The same applies to other UI elements
  • Chat scrollbar - Add a scrollbar to the ingame chat, and increase the limit of max messages to 100.
  • Chat Limit - Add a limit of 500 characters per message, so that not the entire chat is spammed
  • Pressing spacebar after sending a message activates the chat again, this should not happen
  • Increase font size and reduce the text field size to get more clear text
  • Using the pause menu to exit to the main menu, and join a game again, the pause menu stays disabled. Menu GUI elements should be reset prior to joining
  • Kill feed is tied to the screen height, different resolutions can have the kill feed in the middle of their screen. It should be anchored to the top of the screen

[BUG] - Unexpected reel-in

Describe the bug
During ODM, a player is supposed to fluently ODM through various locations. However, when hooks are supposed to be rotating, instead a reel-in method is activated. Instead of rotating around a corner, you will reel in.

Class: HERO.cs
Method: FixedUpdate()

Two bools flag3 & flag4 are set. By removing this code, the logic works as intended, yet reeling no longer works if this logic is removed. Find a solution so that reeling is only activated when user gives input.

To Reproduce
Steps to reproduce the behavior:

  1. Spawn within any map
  2. Activate your ODM
  3. Make a corner / try to rotate

Expected behavior
It is expected that you do not reel in when trying to make a turn without clicking on the reel-in command.

Screenshots
If applicable, add screenshots to help explain your problem.

Log file
Not relevant, as no exceptions are thrown.

Additional context
N/A

Setup Code Architecture

Is your feature request related to a problem? Please describe.
Current code architecture is too complex. Especially Junior Devs will have a difficult time working with it, and so do more experienced developers as the code is all over the place.

Describe the solution you'd like
As a solution, @AoTTG-2/development-team will create a new software architecture which eases future development

Describe alternatives you've considered
Continuing with the current software "architecture" is not possible, since there is none.

  • Cleanup Redundant files & code
  • Setup software architecture
  • Discuss with @AoTTG-2/development-team

After this issue, unity migration can be classified as done, and the team can start working towards release by new features & upgrading the broken ones.

[3D Model Request] Supply Wagon

Information
There was the idea to have an NPC roam around a map with a wagon of supplies. The NPC will stop at a specified path, deploy a flare and players can refill their supplies. After several minutes, the NPC will move again to another location. Develop a wagon model for this, which can be attached to a horse.

References
https://www.youtube.com/watch?v=B4dIgqY4k4o (But with supplies instead of corpses >.>)

  • Wagon Model

  • Wagon Texture

Map Editor

Is your feature request related to a problem? Please describe.
Develop a map editor, so that players can create their own maps within AoTTG 2.

  • Migrate the Map Editor to AoTTG 2

Levels & Settings

Is your feature request related to a problem? Please describe.
Whereas gamemodes are there, its settings cannot be managed yet. There's some obsolete classes which causes unexpected behavior on several gamemodes, so those have to be deleted and its logic transferred to the correct gamemodes.

Describe the solution you'd like
A solution where gamemodes are stable, and no longer depend on obsolete classes. Additionally the solution MUST allow settings to be changed, without restarting. A few setting changes are exempt from this however, such as changing a gamemode.

This means a new UpdateSetting RPC, where the sender must be the MC. Logic might be similar to restarting, so check that as well.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

  • Remove any LevelInfo references, as the class is obsolete. Use Level and LevelBuilder instead. Any LevelInfo settings are moved to GamemodeBase
  • Move RCSettings into Gamemode
  • Allow gamemode to be changed on restart.
  • Allow gamemode settings to be changed without restarting. Changing gamemode in-game however does require a restart
  • Develop UI to manage the settings that Gamemode exposes. This is similar to the one RC mod has, yet here only settings that are related to the gamemode are displayed. If the gamemode is waves, then there shouldn't be a setting visible for racing, as it does nothing. #InformationHiding

Player Rebinds

How will this enhancement improve the game?
Rebinds are currently managed in three different ways: default unity input, InputCode and InputCodeRC. This means that rebinding is done in three different ways. Investigate our available options, and report back to @AoTTG-2/development-team, so that we can use one system instead of three.

Describe the solution you'd like
One input system, on which we can extend.

  • Investigate Input systems that Unity offers, check the existing ones and determine which one is the best for AoTTG 2. Then report findings to @AoTTG-2/development-team and discuss.
  • Implementation depends on above results...
  • Add an option in the new solution where input can be blocked if the player is within a menu
  • Add an generic approach to allow players to rebind, which is very easy for developers to extend.

Shaders

Ingame shaders like realistic shadows, realistic waters, realstc smoke, and fire :)

Reworked Titan Class

How will this enhancement improve the game?
We want to be able to add new features to titans, yet with their current logic this is very difficult due to the poor quality of the TITAN class. Thereby, refactor the TITAN to improve its maintainability

Describe the solution you'd like
A rewritten titan, so that maintainance and improvements for the future are possible

  • Titan must have the same functionality as before
  • Titan limbs
  • Titans Stamina
  • Titan Focus

Racing Objectives

New game mode: checkpoint racing

Checkpoint racing is a new game mode, which opens up a lot of new opportunities and options for racers and racing map makers. Whereas in the regular racing game mode, you'd have to go from start to finish, with checkpoint racing players will have to go from checkpoint to checkpoint to checkpoint. You will go from checkpoint A, to B, to C, to D (ect. ect. ect.), where the final checkpoint acts as the finish line. In order to finish, you need to sequentially go through the checkpoints (A-B-C-D ect.).

Additional context
May need to discuss this game mode further in the Development Squad channel, or investigate for more information.

[BUG] Female Titan nape & leg sweep

Describe the bug
Female Titan's nape cannot be damaged and she never executed the leg sweep.

To Reproduce
Steps to reproduce the behavior:

  1. Spawn the Female Titan within a map
  2. You cannot damage the nape, and when you are standing on the ground, she never executes the leg sweep.

Expected behavior
Female Titan should be able to get damaged and she should be able to kill players that are standing on the ground with her leg sweep.

Weaken/nerf Titan Shifters

How will this enhancement improve the game?
The majority of AoTTG players greatly dislike Titan Eren and don't want them in the lobbies.
Weakening Eren's ability would make it less hated, which could hope to return Eren to the game after being essentially redundant. The overwhelming majority (over 80%) of people agreed that Eren's ability should be weakened.
Describe the solution you'd like
For Titan Shifters to be heavily nerfed.
The link below has many useful
suggestions!
https://cdn.discordapp.com/attachments/683107211983323164/699915285100101632/Weaken-Nerf_Titan_Shifters.pdf

  • SaintNAIWA's suggestions.

[3D Model Request] Titan Tree

Information
Develop Trees which can be used for Titan Forests in the new upcoming maps. The average tree in a titan forest was said to be 80m tall.

Why is this 3D Model needed?
The existing trees aren't that large, and can block titan movement. They also can use some improvements, so inspire your model from references.

References
https://randomc.net/image/Shingeki%20no%20Kyojin/Shingeki%20no%20Kyojin%20-%2034%20-%20Large%2007.jpg
https://attackontitan.fandom.com/wiki/Titan_Forest

UI: In-game

Is your feature request related to a problem? Please describe.
Develop a new user interface for in-game. "In-game" refers to: the moment you are connected into a lobby.

@AoTTG-2/art-team

  • Develop draft for how main in-game UI should look like
  • Character selection menu draft (Before you spawn, you first have to select a character / loadout.)

@AoTTG-2/development-team
Art team design: https://cdn.discordapp.com/attachments/585552221425631254/688887243846582376/AoTTG_2_UI_Blades.png
Avoid hardcoding! Make use of unity UI.

  • Add hook & speed indication (Middle of screen. Follows mouse.)
  • Add Titan hit damage output
  • Gas & weapon ammo left (blades, AHSS rounds or thunder spears)
  • Player names.
  • Titan health

The following UI components should eventually be allowed to be moved by players, so keep this in mind:

  • Minimap
  • Chat
  • Playerlist
  • Spawn Menu (Select Human, Equipment Set and PT. Regular character sets will be done in new issue once #33 is done.)

Death upon impact

What is the use of the feature?
Death upon impact would help make the game more challenging and fun (to those who wish to turn it on.) It also adds more content; if people get bored of certain modes, they can try to master this. In the future. (Over 80% of people wanted to add this feature, which likely means it would get decent use)

Describe the solution you'd like
If your character crashes into an object past a certain speed (should be decently fast) the character will die. Needs to be optional.

Leaderboard/user list to be shown through tab

How will this enhancement improve the game?
Many games use tab to show information such as the leaderboard or list of users playing in a lobby. It will help free up space on the screen, which is already very crowded. Pressing tab would also allow you to show more information in the pop-up than the top left corner would.

Describe the solution you'd like
An optional feature which allows you to press tab to show the user list/leaderboard.
Could have different information for different game modes (hence the investigate tag, as we need to figure out what information it should display for each game mode)

GAMM!

Describe the solution you'd like
Implement another mode for using gas to move on air.
Controversial feature, although 83% agreed to add it to the game. You may want to make it optional in a lobby or test thoroughly to make sure it is not overpowered and will change the game too much.

You need to press a key / hold a key (to be determined) to activate the GAMM ( Gas Aerial Maneuver Mode ). While this mode is active, you will consume a lot more gas, receive a "burst" stream of gas, but you will be able to manipulate your movement depending on where your camera is looking. Useful when you want to rapidly change your movement speed to avoid collisions (or give it an extra speed boost)

Extra details on burst:
It is similar to what we know in Aottg "gas bursts" but could be sustained for longer duration and is manually operated instead of pushing you instantly for 5 meters or so. It doesn't build up but a fixed(debatable, but should at least have a minimum of 50mps at the start after turning on and applies to gas after turning on) speed is maintained when just using gas ( to push you on a direction ). There are times they use gas to change view/directions.

Source material references:
Jean used a hook downwards, in Aottg game, but while gas should only accelerate you downwards since you hooked downwards he managed to move at a higher speed descent with GAMM evading the hand and rotates to the back of Annie while using GAMM again to push himself upwards, no hooks used.
https://youtu.be/mAKrZFfp8DY?t=48 (52-55s)

Levi used gas only to rotate to the back of the beast titan and move downward to the legs using GAMM , the hook is for him to stop himself smashing to the ground.
https://youtu.be/gQJyCtELWaU?t=40

Remove unused UI classes

Within the project, there's about 60 UI classes. Most are related to AoTTG UI, and thus can be removed. Keep in mind however, that there are a lot of references within those classes, even though we don't use them.

It may be a little pain to resolve all those references, but will significantly help to keep our code more clean and easier to manage

#Code Clean Up

Character Customization Phase 2: Implementation

Is your feature request related to a problem? Please describe.
This task serves as a continuation of #33. Only start with this issue once Phase 1 is complete.

This task focuses on the actual implementation of the additional character customization features. Both @AoTTG-2/art-team and @AoTTG-2/development-team are involved in this task, multiple people will also work on this branch, yet create a new discord issue channel for this issue to communicate.

Describe the solution you'd like
A proper character customization screen, where players can easily create their characters without much of a hinder.

Describe alternatives you've considered
N/A

  • Confirm that #33 is done, and approved
  • Discord Issue #34 channel setup

@AoTTG-2/art-team

  • Develop sprites for: Equipment sets and skills.
  • Design an UI layout. Within the UI, the following must be possible: selecting different objects for several skin components (hair, body, outfit ect ect), recoloring an individual component, an option to insert a skin url for component, selecting equipment, assigning character stats
  • Create a scene with multiple environments. Within this scene there should be various regions, think about city, forest, open field. Upon a click, the camera will move to a different in-game location. This allows players to customize their characters while also seeing them within different environments.

@AoTTG-2/development-team

  • Load a human model within the Character Customization scene
  • Implement the UI as per @AoTTG-2/art-team design.
  • Implement functionality which allows the camera and character model to be moved to a different location within the scene. Probably a label with previous and next items will do.
  • Implement logic which allows recoloring of individual skin components, ensure that this is also synced via photon for other players.
  • Upon applying texture URLs for character components within the character customization scene, by clicking on a single button, those new textures are directly applied on the character model. This will be a great quality of life improvement, as people can manage their entire skins from one place.

[BUG] Titan Collision Misconfiguration

Describe the bug
Titan Collisions don't work as intended because their layers aren't setup correctly. Whereas some layers are meant to be ignored, they are now used as physical collisions.

To Reproduce
Steps to reproduce the behavior:

  1. Spawn into the game
  2. Engage a titan, you will see that its collisions are different

Expected behavior
Titan collisions should be the same as in AoTTG. You should Project Settings at: Edit / Project Settings / Physics. At that page, experiment and apply the correct configuration. You might also want to check the Titan's prefab (TITAN_VER3.1) and see if its collisions are setup correctly

Interactables

Is your feature request related to a problem? Please describe.
The interaction wheel is a main new feature of AoTTG 2. It's purpose is that a player no longer has to bind keys to objects and entities in the world that are interactable.

Describe the solution you'd like
Other existing entities should also implement the interactable abstract class, so that the interaction wheel has more usage. At the moment, the interaction wheel can only be used for supply stations. Go to a nearby supply station, hold the interaction wheel button (Hardcoded to "F"), and a green bar will appear. While holding F, select an item and press left mouse button, and then the interactable action can be executed.

_The GUI is ugly at the moment, yet this is out of scope for this issue. If you want to update the UI, please discuss with @Lithrun _

Additional interactables should be discovered. If there's any existing interactables that you can think of, please comment.

[BUG] AHSS issues

Describe the bug
When spawning with Equipment set "AHSS", you will have blades instead of guns. Additionally AHSS hitboxes are not working.

To Reproduce
Steps to reproduce the behavior:

  1. Modify the Hero prefab by making EquipmentType AHSS the default (You cannot switch equipment sets via UI yet)
  2. Open a room and spawn in
  3. You will have blades instead of AHSS, yet do have proper AHSS animations.
  4. When trying to damage a titan, you will never hit it

Expected behavior
Upon spawning the player should have AHSS guns, and upon shooting a titan the titan should be able to get damaged.

  • Players with EquipmentType.AHSS will have AHSS guns upon spawning
  • Upon shooting a titans eyes or nape with AHSS, the hit should register.

Internationalization

Is your feature request related to a problem? Please describe.
Internationalization (Translations) will allow the mod to be exposed to non-English speaking players. Some may also prefer to play the game within their native language, so having support for multiple languages would be nice.

Describe the solution you'd like
A setting where language can be selected. A proper localization structure should be set up, @AoTTG-2/development-team check if something like this already exists within Unity.

  • Investigate options on how internationalization can be applied
  • Choose option with @AoTTG-2/development-team
  • Implement the option
  • @AoTTG-2/management-team gather translators for translations.

[BUG] Horse Run Away

Describe the bug
A horse is supposed to follow the player. Yet instead of following the player, the horse runs off into opposite direction.

To Reproduce
Steps to reproduce the behavior:

  1. Spawn within the City Level (MultiPlayer -> Region -> Create)
  2. When moving away from the horse, the runs off into opposite direction

Expected behavior
It is expected that upon moving away from the horse, that the horse will follow the player.

[BUG] Camera is unable to use mouse Y-axis

Describe the bug
Camera cannot use the Y-axis

To Reproduce
Steps to reproduce the behavior:

  1. Launch the game
  2. You cannot use the Y-axis

Expected behavior
You're supposed to use the Y-axis of the mouse

Screenshots
N/A

Log file
N/A

UI: Lobbies

Is your feature request related to a problem? Please describe.
Develop a new lobby overview UI.

Describe the solution you'd like
Upon clicking on "Multiplayer" from the main menu, a lobby screen will appear. At this screen, I can find all available lobbies for my selected region. The game should remember what my last selected region was. For this one region, all available rooms are presented.

On my screen, there is a dropdown region button. From that dropdown button, I can select another region. Add support for all photon regions.

@AoTTG-2/development-team
Await further action until art team is done.

  • Develop draft of how lobby overview should look like

CLI Enhancements

How will this enhancement improve the game?
Current CLI is working, but severely loses points on the UX aspect. This issue is thereby to resolve those issues

Describe the solution you'd like
An user-friendly console

Implementation

  • Console is hidden by default
  • Opening the console is done by using the ~ key
  • Opening the console, automatically lets the user start typing

The console should visually look like a well known console. For references: https://user-images.githubusercontent.com/20344300/48319456-7fa12d00-e60e-11e8-875a-e3f6d77d97ca.gif and https://media.moddb.com/images/games/1/16/15565/new_ingame_console_and_pdcurses_dedicated_console.png

To translate that into tasks

  • Console has a black, slightly transparent background, with white text, and takes up 45% of the screen height (top)

Reverse hook

How will this enhancement improve the game?
It will help players avoid certain threats by being able to shoot themselves backwards.

Describe the solution you'd like
Set a key that can shoot an ODMG hook backwards.

Additional context
Add any other context or screenshots about the feature request here. https://youtu.be/CeLvx_1FBdk?t=37
Seen here at 40 seconds.

https://youtu.be/C1843Q-adWI?t=15
Seen at 15-19 seconds, very clear view.

Character Customization Phase 1: Setup

Is your feature request related to a problem? Please describe.
Character Customization requires an overhaul. Internally it's structure is odd and doesn't always makes sense. A new character customization screen is requested. This issue focuses on setting up a code infrastructure.

This requires complicated refactoring of HERO, HERO_SETUP and CustomCharacterConverter. This issue will not be easy! Please consult @Lithrun and define an appropriate code structure with him.

Describe the solution you'd like
A structure which can support the new features.

Describe alternatives you've considered
The current structure is too highly coupled. Hard to work it and cannot support new features.

The solution must contain the following:

  • SOLID compliant
  • Support characters having one or multiple skills
  • Remove hard coded set limitations, and allow users to create as many sets as they want. Sets should thereby be able to get imported / exported.
  • Allow to store a EquipmentSet per set (Before spawning you can still change that, but not relevant for this issue)
  • Custom skin URLs must be saved within the character set itself
  • Each skin element must hold a Color property, which is used in phase 2 so that players can recolor a specific part within their skin if they wanted to.
  • Support the 4 human stat attributes (Acceleration, Speed, Equipment and Gas)

[BUG] Titan Collisions

Describe the bug
When playing during a map, titan collisions are sometimes not working correctly. Hooks may go through titans, and sometimes titans cannot be hit anymore.

To Reproduce
Steps to reproduce the behavior:

  1. Main Menu
  2. Host any room
  3. Try to kill some titans. Hooks sometimes go through, and sometimes you cannot hit titans anymore

Expected behavior
Hooks should not go through titans, and you must always be able to hit a titan.

Character Customization

Player models aren't correctly loaded yet, and some hacks were applied in order to load default Annie. Existing code base is poorly written in the way it manages skins and stats. If we wish to extend on this further, with i/e roles, equipment sets and so on, then perhaps a rewrite is required.

  • Determine if rewrite is required to current character customization
  • Player body & cape are correctly loaded

[3D Model Request] New Supply Station model

Information
Supply Stations are receiving an overhaul in AoTTG 2. Whereas in AoTTG you could only change your supplies there, within AoTTG 2 you can also change your equipment (Blades, AHSS or Thunder Spears). Additionally you can also restock your items, and change your item setup. The new Supply Station model should represent these features

Why is this 3D Model needed?
A new supply station model

  • 3D Model of the Supply Depot
  • Texture of the Supply Depot

New User Interface

Is your feature request related to a problem? Please describe.
Existing RC & AoTTG UI is so poorly written, that extending upon it would be a technical nightmare. RC UI is written by code, so that's a lot of Gui.Create with hardcoded coordinates. A baseline of new UI is there, but in the end we want a more solid UI.

Describe the solution you'd like
Technical level: An user interface that is easy to extend, modify and develop
Design level: An intuitive design that is simple for users to understand.

Describe alternatives you've considered
Using AoTTG & RC UI elements was considered, yet on a technical level too unmaintainable.

Implementation

  • @AoTTG-2/art-team create an UI design (Wireframes)
  • @AoTTG-2/development-team check with Art Team if it's also technically possible
  • @AoTTG-2/development-team Implement it

[3D Model Request] Cannon

Information
Cannon Models are outdated, so let's refresh them!
Wall Cannons: Wall cannons are cannons that are atop of the walls. Assure that the Wall Cannon consists of two objects, so that the cannon itself can be moved (See references)
Ground Cannons: A cannon on the ground

Why is this 3D Model needed?
Cannon models look outdated, so to assure AoTTG 2's freshness, we need something newer

References
https://i.ytimg.com/vi/FeA-d3tXnh0/maxresdefault.jpg

  • Wall Cannon

  • Ground Cannon

  • Wall Cannon Texture

  • Ground Cannon Texture

Thunder Spear

Is your feature request related to a problem? Please describe.
As a third equipment option, we'd like to have thunder spears. Whereas actual in-game implementation may still take a while as there's higher priorities, the art team can start with making models, sound effects and animations in advance.

Please research on how thunder spears work, and discuss it with @AoTTG-2/art-team on what is exactly needed, as the model would have to be in several parts, so that we can actually shoot a thunderspear into a titan's nape and kaboooooom.

  • Thunderspear model
  • Thunderspear sound effects
  • Thunderspear animations

@AoTTG-2/development-team

  • Implement UpdateSupplyUi in ThunderSpear weapon class, so that ammo is displayed for this weapon

[BUG] Spawning the Female Titan is giving some errors

This issue is intended for Junior Developers only!
A branch is already created. Please clone the branch with the same issue number.

Describe the bug
Upon spawning the female titan, there are some errors. These errors are caused because of during the asset extraction, script references weren't present. Via code it is easy to backtrack which script reference is where, but gameobject references aren't there anymore either. Simplest way of solving this, is to simply spawn the female titan, see where errors occur, and then fix it.

Additionally, some animations aren't correctly configured. The asset export placed all animations within the same folder, these animations weren't overwritten, but file names with the same name, were appended by _X. The Female Titan script is looking for an idle animation, but the animation within her animations list is idle_1. Same applies for run, and perhaps more once those are resolved.

To Reproduce
Steps to reproduce the behavior:

  1. Pull branch #40-female-titan
  2. Spawn within the city (FT is automatically spawned, so you don't have to figure that out yourself ๐Ÿ‘

Expected behavior
It's expected that the female titan works without giving any errors in the output log.

Additional hints
You may want to move Female Titan specific animations within a new folder called: "Assets/AnimationClip/Titan/Female Titan" to prevent conflicting file names.

If you need help, feel free to ping any dev on discord channel #40.

  • Ensure that the right animations of the Female Titan are applied
  • Resolve any additional errors that occur during testing
  • Remove the hack that spawns the Female Titan (FengGameManagerMKII/OnLevelWasLoaded -> line 5055 & 5056)
  • See the //HACK comments at ServerList.cs

UI: Title Screen

Is your feature request related to a problem? Please describe.
Develop a new UI for when you open the game

@AoTTG-2/art-team

  • Create a draft of how the in-game title screen should look like

@AoTTG-2/development-team

  • Identify components which the title screen should have (Singleplayer, multiplayer, settings, credits ect.)
  • Implement buttons for identified components
  • Change main menu scene

New Titan Models

Working on this task with multiple contributors is required
It will take a while before these new models appear in the game, since animations are also required.

Is your feature request related to a problem? Please describe.
Existing titans always look the same. The only thing that is changeable about them is their hair, and skin (body, hair, eyes). In the source material, every titan looks unique. Thereby, it is desired that new models for titans are created. Titan body parts can have different models, similar to how a player character works. This applies for:

  • Head

  • Hair

  • Arms

  • Body

  • Legs

Each of these components can get resized as well, so keep that in mind.

Describe the solution you'd like
A new titan model which can have different body parts, so that every titan can feel truly unique.

  • Create designs of how the new titan could look like. Define a style, once we have three different drafts, we will do a community poll and choose one style.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.