Skip to content

gitter-badger/SanAndreasUnity

 
 

Repository files navigation

San Andreas Unity

We're porting GTA: San Andreas to Unity!

This won't be a complete re-implementation of the game, but we're hoping to build something similar to Multi Theft Auto with assets streamed from an existing installation of San Andreas.

Setup Instructions

Before starting the game, create/edit config.user.json inside project folder to specify path to gta.

Also, after building binary, you need to copy 'Data' folder to 'game_name'_Data folder. The script which should do that, doesn't work right now.

CodeFactor GitHub license GitHub issues GitHub closed issues GitHub forks GitHub contributors

Misc Stats

GitHub top language Github search hit counter GitHub language count GitHub code size in bytes GitHub repo size in bytes

Commit & issues & pull requests coverage

GitHub pull requests GitHub issue age GitHub commit activity the past week, 4 weeks, year GitHub last commit GitHub last commit (branch)

Some social networks buttons...

GitHub stars GitHub forks GitHub watchers GitHub followers [Twitter](https://twitter.com/intent/tweet?text=Look this incredible project!&url=https%3A%2F%2Fgithub.com%2Fz3nth10n%2FSanAndreasUnity) Twitter Follow

Coming soon: Release downloads

In game controls

V - spawn vehicle

P - change pedestrian model

L - turn off / on car lights

L shift - run / fly fast

mouse scroll - zoom in/out

F1 - toggle debug menu

F2 - Open console

T - enable debug flying mode

R - enable debug noclip mode

backspace - fly up

delete - fly down

Z - fly very fast

E - Enter/exit vehicles

Space - Jump

F10 - Toggle FPS

F9 - Toggle velocimeter

O - Toggle quality

CLI

  • --handlelog // --h => Enables log handling (in HTML)

  • --console // --c => Display a console to see what is Unity outputting

  • --stopdebug // --s => Stop debug when reached x messages

  • --html => Output log in html instead of text

Here is a list of what I think should be done next

  • Animations must be loaded/played by index – because different anim definition groups (man, woman, etc) use different anim names ( walk_civi, woman_walknorm, respectively).

  • Weapons. Aiming with weapons – aim animation.

  • What else can be imported: ai paths, character spawn info, item pickups, audio,

  • Rigid body character.

  • Airplane.

  • Load map in editor.

  • Async geometry loading.

  • Make everything networked.

TODO

Features

  • Weapons

  • Two driving camera modes (aim to front and free look)

  • Multiple car cameras: exterior (3 distance switches), interior & cinematic

  • See the entire map (pressing M)

  • Work on a menu like MTA:SA (F1)

  • Dev profiles (for paths) and for the keyboard & mouse controls

  • Health, stats (stamina, stength), money & armor system

  • AI System for Peds

  • Peds (and worker peds)

  • Cars can be damaged

  • Cars & fuel stations can explode

  • Wheel explosion (I have to convert colliders, from a capsule collider generate a mesh collider with the shape of a capsule)

  • In-game input manager

  • Flip & repair cars

  • CLI for Console app to know where to connect

  • Collapse message logs

  • Maybe I will use my sockets implementation to do a server system (I will made a paid assets with examples from Unity Forums

Effects & Enhancements

  • Jump, swim & fall animations

  • Water effects (Swim, bouyancy, get darker and blurry the deeper you get)

  • Work on props (lampposts, fences, etc)

  • Decal system for Weapons

  • Burnout trace

  • Vehicle damage

  • Dust and water particles with vehicles (cars travelling through dirt and boats, respectively)

  • Stars, clouds and enviroment enhances

Environment

  • Weather

Vehicles

  • Enhance car lights, turning, doors and braking

  • Gear system (to make cars keep stoped on slopes)

  • Boats, airplanes and bikes (+ fall)

Mods system

  • Integrate a mod system that is capable of reading source files and managed compiled assemblies, some exaples of mods:
    • Access to all interiors (without any yellow marker) generating them
    • Speedometer and rpm meter (like FO2) + fuel
    • GMOD physics and prop menu
    • Map editor
    • Ragdoll effects (like GTA IV) when falling and dying
    • Broke car windshield on hard impact
    • Animals (mobs)
    • Terrain modificable through digging & explosions
    • Territory (gan wars) on Multiplayer
    • Integration of UltraGTA

Bugs to fix

  • Weird circular shadow appears when drving and the car passes next to a building that projects a shadow (low quality)

  • Car moves when the player is still getting inside it

  • Auto-zoom with big vehicles

  • Some cars have its suppension to low to allow them to move

  • Cars sometimes spawn under other cars, this makes that the cars jumps

  • Make cars spawn appropiate for each zone

  • When vehicles are damanged light goes weird

  • Once vehicles are despawned they don't re-spawn

  • In some cases damages to vehicles aren't performed at first collision

  • When console is opened cursor ticks

  • If you put the same close & open key for console, it never closes

  • Colors for debug messages in console

  • HTML (from logger) indent is not perfect

  • Console Application is not launching on build (CLI was checked and work properly)

  • Sometimes in old gpus, all goes black, like for example here (https://i.gyazo.com/b3a682b86ab0808ca132bad803194cab.mp4) the way of fixing this is running Unity Editor undr --force-glcore and going to Assets > Reimport all

Leaks

  • With the new car light system batches has aumented

Inneficiencies

  • Curent socket system only allows messages of 8KBs

  • Log extension is printed in hexadecimal on Sublime Text (change extension)

Must be reviewed

  • If you regenerate scripts while running Unity Editor crashes (patch it?)

  • Find in the project for "me" keywords and delete them

  • Running with --force-glcore makes Unity Editor slower when near objects has to be rendered

  • I think that car light break system doesn't work fine

  • HUGE REFACTOR (compiling Assembly into DLLs will solve most problems)

Media

screen shot 2017-04-01 at 00 01 31

screen shot 2017-04-01 at 00 03 25

screen shot 2017-04-01 at 00 02 13

Resources

About

We're porting GTA: San Andreas to Unity!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.3%
  • ShaderLab 4.7%
  • HLSL 4.6%
  • Classic ASP 2.4%