Giter VIP home page Giter VIP logo

mafiaunity's People

Contributors

davosk avatar zakfarmer avatar zpl-zak 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

mafiaunity's Issues

Implement MafiaTest developer menu

A simple imgui menu containing all sorts of functions to make development and playtesting easier.

Features included:

  • mission selector
  • object spawner
  • player cheats (god mode, infinite ammo, speedy gonzales, ...)
  • particle spawner
  • car spawner
  • car cheats (repair car, refuel, set damage level)
  • police cheats (set wanted level, ...)
  • AI cheats (spawn bodyguard, spawn enemy, gang wars, ...)

Fix glow textures

Some textures are supposed to be seen as a glow. Right now, all glow textures avoid transparency.

New logo for README.md request

Since the project is going to be renamed to MafiaUnity, our current logo is outdated and I'd like to ask if anyone's willing to design a brand new logo for this project. Any help would be appreciated.

The title should be MafiaUnity with the slogan: Recreating the classic

Improve documentation

This issue contains a list of formats or things that have to be documented. Anything missing that is useful can be added to this list as well:

  • 4DS model format
  • 5DS animation format
  • scene2.bin
  • cache.bin
  • check.bin
  • road.bin
  • tree.klz
  • TCK format
  • MafiaScript
  • cutscene files

Project status

Project Status

This is a document describing the current progress of the project as well as how far it is from reaching the goals.

Primary focus

Our primary focus at this stage is to have the ability to load Mafia assets and make use of them. Once the majority of the formats has been taken care of, we will focus on gameplay features and miscellaneous tasks.

Terminology

  • - Not worked on yet
  • WIP - Work in progress
  • - Completed

Current objectives

General

  • Implement VFS, responsible for loading data in a configurable order, supporting custom mod paths
  • Implement basic Mafia Editor, serving as a tool to import mission/city/model into the scene to work with in Unity's editor
  • Mod support
  • Implement Object Injector. Its purpose is to resolve access to specified scene objects and take actions upon them, such as removal, etc.
  • WIP Design Object Injector's editor tool.
  • Console Manager that can load cfg file or receive a string buffer containing commands that would execute.

Native formats

  • Load mission's static visuals into the scene
  • Load 4DS static model
  • Support texture transparency
  • Support animated alpha/diffuse texture maps
  • Support skeletal meshes
  • Parse 5DS animation files
  • Skinned mesh animation support
  • Parse and generate Mafia's menu
  • MafiaScript (native scripting language) interpreter implementation
  • Ability to load data from DTA archive files
  • Scene lighting support
  • Use of scene's native lightmaps (to be decided)
  • Parse tree.klz, which defines static collision inside of scene.
  • Generate colliders based on data parsed from tree.klz

Gameplay features

Nothing has been decided to work on so far, to be added later.

Inventory system

Implement the basic inventory system to support weapons, tools and items, as well as the ammo. UI is optional for now, the first version should give us the ability to order AI to attack player and vice versa. This is also tied with Health system that is required to define rules for death.

Handle scene2 object redefinitions for scene graph

Objects can be used as re-definitions of their real representation inside of the scene graph to change their transformation at will.

Ex. mission's scene.4ds has objects that form a line. Scene2 objects can modify the transformation of these objects to form a square.

Player movement

We should implement PlayerController to allow controlling the pawn as well as manipulate the camera, so that we can move around in the world.

PlayerController depends on CharacterController which describes movement properties as well as behavior.

List of tasks to do for completion

  • Make sure we have required native formats parsed.
  • Implement CharacterController
  • Implement PlayerController
  • Create a test scene where PlayerController gets tested and tweak values accordingly.

Loading freeride takes huge amount of memory

Loading the mission, freeride, takes a huge amount of memory (8 gigs of ram) on my system. This seems to be an issue and has to be solved.

transform.localScale assign attempt for '#rad18.Object01' is not valid. Input localScale is { NaN, NaN, NaN }.
UnityEngine.Transform:set_localScale(Vector3)
MafiaUnity.CityGenerator:LoadCollisions(String) (at Assets/Scripts/Generators/CityGenerator.cs:184)
MafiaUnity.MissionManager:LoadMission(String) (at Assets/Scripts/Managers/MissionManager.cs:53)
MafiaUnity.MafiaEditor:OnGUI() (at Assets/Scripts/Utils/MafiaPanel.cs:117)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Game data fails to load from Mafia GOG DTA archives

Describe the bug
Game data fails to load from Mafia GOG DTA archives

To Reproduce
Steps to reproduce the behavior:

  1. Use Mafia GOG game directory
  2. Start the game
  3. Assets fail to load

Expected behavior
Assets should load without any issues.

MafiaScript Interpret

Brief
Implement an interpreter of MafiaScript language. The interpret should implement following features:

  • MafiaScript lexer
  • MafiaScript parser to IR
  • IR intepreter
  • Function call / lambda binding for predefined commands (e.g. find_frame)

Optional:

  • Syntax analysis (detect missing label names, invalid argument types, etc)

Implement AI

Implement AI using Finite State Machine and develop basic AI packages such as Pedestrian, Gangster and such.

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.