Difference between revisions of "SA-MP"

From GTAMods Wiki
Jump to navigation Jump to search
Line 1: Line 1:
SA-MP (or San Andreas Multiplayer) is a hack to the San Andreas engine to allow network play with other people instead of local play against peds (basically it adds multiplayer options to the game). The project was originally started by Kyeman after leaving the MTA team and the current team is as follows:<br /><br />
+
San Andreas Multiplayer ("SA:MP") is a user-made modification for the PC version of Rockstar Games' Grand Theft Auto: San Andreas ("San Andreas"), adding capabilities to the game's engine to allow multiple players, each on a seperate computer, to play together in the same environment.
 +
 
 +
 
 +
 
 +
== Methods ==
 +
 
 +
Adding multiplayer capabilities to a single player game requires additional code in the game's engine, but like most retail games, the source code to San Andreas is not available.
 +
 
 +
=== Reverse Engineering ===
 +
 
 +
Reverse Engineering is our process of anyalizing San Andreas at it's base level, to identify portions of code that are required or useful and could be used in the development of multiple player support.
 +
 
 +
At the next step, we make changes to San Andreas' code; These changes can be as simple as "nopping" (disabling certain parts of the code that are unneeded for multiplayer gameplay), or as complex as rewriting entire engine functions.
 +
 
 +
 
 +
 
 +
''This section needs stuff adding...''
 +
 
 +
 
 +
 
 +
== Technology ==
 +
 
 +
=== Programming Languages ===
 +
 
 +
SA:MP is developed using a varity of programming languages, each suited to their particular purpose.
 +
 
 +
 
 +
'''C/C++'''
 +
 
 +
The core of the SA:MP client, and the SA:MP server is is written in C/C++.
 +
 
 +
 
 +
'''Assembly (ASM)'''
 +
 
 +
Changes to San Andreas' engine are written in Assembly. When access to the original source code of an application is restricted, the only viable method of changing or adding code is by going to it's most base level.
 +
 
 +
 
 +
'''Borland Delphi'''
 +
 
 +
SA:MP's external server browser software is written in [http://www.borland.com/ Borland]'s Delphi. This language was chosen for this part of the project due to it's Rapid Application Development ("RAD") features.
 +
 
 +
 
 +
'''PAWN scripting'''
 +
 
 +
SA:MP makes use of [http://www.compuphase.com/ Compuphase]'s PAWN scripting language for user-customizable game modes and utilities.
 +
 
 +
 
 +
 
 +
== Contributors ==
 +
 
 +
* [http://www.gtaforums.com/index.php?showuser=50001 kyeman] (''Programming, Reverse Engineering, Scripting'')
 +
* [http://www.gtaforums.com/index.php?showuser=2240 Spooky] (''Programming, Reverse Engineering, Scripting'')
 +
* [http://www.gtaforums.com/index.php?showuser=6313 Mike] (''Scripting, Website Administration'')
 +
* [http://www.gtaforums.com/index.php?showuser=37074 Cam] (''Scripting, SCM)
 +
* [http://www.gtaforums.com/index.php?showuser=37898 jax] (''Scripting'')
 +
* [http://www.gtaforums.com/index.php?showuser=36352 Luke] (''Documentation'')
 +
 
 +
 
 +
== See also ==
 +
[[Multiplayer]], [[Hardcoded]]
 +
 
 +
 
 +
 
 +
== External links ==
 +
 
 +
[http://www.sa-mp.com/ Official San Andreas Multiplayer Website]
 +
 
 +
[http://www.gtaforums.com/index.php?showforum=204 Official San Andreas Multiplayer Forum]
 +
 
  
[http://www.gtaforums.com/index.php?showuser=50001 kyeman],<br />
 
[http://www.gtaforums.com/index.php?showuser=6313 Mike],<br />
 
[http://www.gtaforums.com/index.php?showuser=37898 jax],<br />
 
[http://www.gtaforums.com/index.php?showuser=2240 Spooky] aka spookie,<br />
 
[http://www.gtaforums.com/index.php?showuser=36352 Luke],<br />
 
[http://www.gtaforums.com/index.php?showuser=37074 Cam] aka Camaro dude (aka Ray, aka Camaro d00d),<br />
 
[http://www.gtaforums.com/index.php?showuser=45786 FalconGT] (mainly VC-MP).<br /><br />
 
  
 
[[Category:SA-MP]]
 
[[Category:SA-MP]]

Revision as of 22:42, 11 April 2006

San Andreas Multiplayer ("SA:MP") is a user-made modification for the PC version of Rockstar Games' Grand Theft Auto: San Andreas ("San Andreas"), adding capabilities to the game's engine to allow multiple players, each on a seperate computer, to play together in the same environment.


Methods

Adding multiplayer capabilities to a single player game requires additional code in the game's engine, but like most retail games, the source code to San Andreas is not available.

Reverse Engineering

Reverse Engineering is our process of anyalizing San Andreas at it's base level, to identify portions of code that are required or useful and could be used in the development of multiple player support.

At the next step, we make changes to San Andreas' code; These changes can be as simple as "nopping" (disabling certain parts of the code that are unneeded for multiplayer gameplay), or as complex as rewriting entire engine functions.


This section needs stuff adding...


Technology

Programming Languages

SA:MP is developed using a varity of programming languages, each suited to their particular purpose.


C/C++

The core of the SA:MP client, and the SA:MP server is is written in C/C++.


Assembly (ASM)

Changes to San Andreas' engine are written in Assembly. When access to the original source code of an application is restricted, the only viable method of changing or adding code is by going to it's most base level.


Borland Delphi

SA:MP's external server browser software is written in Borland's Delphi. This language was chosen for this part of the project due to it's Rapid Application Development ("RAD") features.


PAWN scripting

SA:MP makes use of Compuphase's PAWN scripting language for user-customizable game modes and utilities.


Contributors

  • kyeman (Programming, Reverse Engineering, Scripting)
  • Spooky (Programming, Reverse Engineering, Scripting)
  • Mike (Scripting, Website Administration)
  • Cam (Scripting, SCM)
  • jax (Scripting)
  • Luke (Documentation)


See also

Multiplayer, Hardcoded


External links

Official San Andreas Multiplayer Website

Official San Andreas Multiplayer Forum