How to get started?
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
How to get started?
Hi , I was wondering what is the best way to practice modding project reality from a total beginner level.
I have basic background knowledge in c# and java coding.
I was hoping to try and make a mod where you can increase the zoom of the iron sights to get started.
I have basic background knowledge in c# and java coding.
I was hoping to try and make a mod where you can increase the zoom of the iron sights to get started.
- Mats391
- PR:BF2 Lead Developer
- Posts: 7643
- Joined: 2010-08-06 18:06
Re: How to get started?
The ironsight zoom is done by editing the games memory at runtime. I fear c# and Java wont get you far with that. You probably will have more success starting off working with the bf2 con/tweak logic or the server side python. Both give you more insight into how the engine work which will help you if you ever want to get into modifying bf2 code directly.

Mineral: TIL that Wire-guided missiles actually use wire
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
Re: How to get started?
-what is "bf2 con/tweak logic" and how do I access itMats391 wrote:The ironsight zoom is done by editing the games memory at runtime. I fear c# and Java wont get you far with that. You probably will have more success starting off working with the bf2 con/tweak logic or the server side python. Both give you more insight into how the engine work which will help you if you ever want to get into modifying bf2 code directly.
-"server side python" can I access it on a local server? and how?
EDIT - Alright so I found this - https://www.realitymod.com/forum/showthread.php?t=14468
is it a good thing to start with or is there something im missing?
Last edited by Crylink on 2022-05-30 17:16, edited 1 time in total.
- Mats391
- PR:BF2 Lead Developer
- Posts: 7643
- Joined: 2010-08-06 18:06
Re: How to get started?
It is a good start to get you familiarized with how mods are set up. There are lots of tutorials on this forum and on the net on how to get started with bf2 modding.

Mineral: TIL that Wire-guided missiles actually use wire
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
Re: How to get started?
Right so I figured out how to make an automatic firing rpg-26, and a burst firing G3A3 by modifying the tweak logic.
still unsure how to edit the runtime memory.
still unsure how to edit the runtime memory.
-
AlonTavor
- PR:BF2 Developer
- Posts: 2991
- Joined: 2009-08-10 18:58
Re: How to get started?
That is the furthest away you can get from "beginner level". What's your background? Any c++ knowledge?Crylink wrote: still unsure how to edit the runtime memory.
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
Re: How to get started?
do you mean the run time memory is simple or highly advanced?AlonTavor wrote:That is the furthest away you can get from "beginner level". What's your background? Any c++ knowledge?
background is I learned how to code c# in school
and took an entry java course in university.
no c++ knowledge
also I found memory.pyc(not sure if it runtime memory mats referred to) but its compiled and cant access it
-
AlonTavor
- PR:BF2 Developer
- Posts: 2991
- Joined: 2009-08-10 18:58
Re: How to get started?
Highly advanced, impossible without c++ knowledge.
A lot of features in the last decade were not added in with "modding", but with reverse engineering. WithoutLow-level programming knowledge, you're only going to be able to change what was designed to be changeable, through the configuration files (.tweak / .con)
If you insist on the coding side of PR, I'd suggest learning Python first. Its relatively easy.
Otherwise, you'll need quite a few CS courses in university. (You did Java before c++ in university? That doesn't sound like computer science faculty).
A lot of features in the last decade were not added in with "modding", but with reverse engineering. WithoutLow-level programming knowledge, you're only going to be able to change what was designed to be changeable, through the configuration files (.tweak / .con)
If you insist on the coding side of PR, I'd suggest learning Python first. Its relatively easy.
Otherwise, you'll need quite a few CS courses in university. (You did Java before c++ in university? That doesn't sound like computer science faculty).
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
Re: How to get started?
thanks for the info
just to be clear if I learn python I still need to learn c++?(for low-level programming)
just to be clear if I learn python I still need to learn c++?(for low-level programming)
did it in the open universityAlonTavor wrote:Highly advanced, impossible without c++ knowledge. (You did Java before c++ in university? That doesn't sound like computer science faculty).
-
SemlerPDX
- Posts: 530
- Joined: 2011-01-16 21:49
- Contact:
Re: How to get started?
Click the link in his reply for more info on low level programming - by context, this does not include C++ (a high level programming language)
For PR, you would want a base of knowledge in Python, and if delving any deeper, knowledge of C++ as well as low level programming as described in his link - talking assembly/machine code levels of stuff...
EDIT: when they're talking about editing the memory at runtime, they are literally talking about work they did to learn which memory addresses are written to by the game engine so as to edit these values for a desired outcome when the program is run, enacted by some script or code in PR at runtime. This is a means to change or provide the ability to change things that would otherwise not be accessible. The concept is a general one, if you want more info google for keywords like "what is reading and writing memory at runtime?". This is also where highly advanced methods of reverse engineering occur, and where "shit gets deep" real fast.
For PR, you would want a base of knowledge in Python, and if delving any deeper, knowledge of C++ as well as low level programming as described in his link - talking assembly/machine code levels of stuff...
EDIT: when they're talking about editing the memory at runtime, they are literally talking about work they did to learn which memory addresses are written to by the game engine so as to edit these values for a desired outcome when the program is run, enacted by some script or code in PR at runtime. This is a means to change or provide the ability to change things that would otherwise not be accessible. The concept is a general one, if you want more info google for keywords like "what is reading and writing memory at runtime?". This is also where highly advanced methods of reverse engineering occur, and where "shit gets deep" real fast.
Last edited by SemlerPDX on 2022-05-31 21:54, edited 2 times in total.
-
AlonTavor
- PR:BF2 Developer
- Posts: 2991
- Joined: 2009-08-10 18:58
Re: How to get started?
Python and c++ are pretty much the opposite.Crylink wrote:thanks for the info
just to be clear if I learn python I still need to learn c++?(for low-level programming)
did it in the open university
You're not gonna find any single quick course for the methods that were used here. They're more hacking than modding. I recommend sticking to python for now, unless you're planning to go for a CS degree.
In that case -
Must:
C++ introduction
Assembly ( https://www.openu.ac.il/courses/20471.htm )
Reverse engineering ( did https://www.graduate.technion.ac.il/Sub ... Sub=236496 , good introductory but pretty basic)
Recommended:
Object Oreinted programming (and how its implemented in low level languages)
Operating systems
Compilation
Compiled applications are not designed to be modfiable. This is more reverse engineering work than engineering. If you want coding, its realistically only python.
You could still do modelling, mapping and other art instead
Last edited by AlonTavor on 2022-06-01 04:41, edited 2 times in total.
-
Crylink
- Posts: 65
- Joined: 2021-07-21 15:08
Re: How to get started?
Thank you very all much for the replies.
This is all very overwhelming. Aswell as eye opening to what is happening in the background and my appreciation to what has been achieved to this point , far greater than what it was before.
But I suppose I can do other thing like modelling in the meantime, but I fear I won't be able to do much with these assets without knowing all the mentioned above knowledge in CS.
This is all very overwhelming. Aswell as eye opening to what is happening in the background and my appreciation to what has been achieved to this point , far greater than what it was before.
I will aim to get a CS degree.AlonTavor wrote:You could still do modelling, mapping and other art instead
But I suppose I can do other thing like modelling in the meantime, but I fear I won't be able to do much with these assets without knowing all the mentioned above knowledge in CS.
-
AlonTavor
- PR:BF2 Developer
- Posts: 2991
- Joined: 2009-08-10 18:58
Re: How to get started?
Go to the technion if you can.
