r/learnprogramming • u/Distinct_Bite_5750 • 1d ago
Learning a new language
Hello! I am a high school student and I've been interested in programming but never had the motivation to learn how to code. I'm doing a school project where I have to create something. I would like to make a 3d Aim Trainer game but I don't know where to start. My only experience in coding is Roblox lua, but even then I'm mediocre. If anybody can give me tips, it would be very helpful.
1
1
u/YungSkeltal 18h ago
I would STRONGLY advise not getting into anything 3D as a beginner. That's like learning math for the first time and going straight to algebra but even more extreme. Developing anything from the ground up that renders in three dimensions requires alot of mathematics and strong programming skills. There are API's available that can alleviate alot of the initial hurdles but it's still really really tricky. Unless you're a whiz with vectors and linear algebra... don't dive straight into 3D.
If you want to learn "PROGRAMMING" I think learning C first is the best intro you can get. If you want to hit the ground running and start building cool stuff early do Python, but if you have alot of time and are okay with learning something a little less glamorous, C introduces the fundamentals of computer programming at a valuable level of abstraction for learning.
If your goal is to just throw something together for school and have some basic scripting skills by the end of it (scripting is an extremely valuable skill to have btw), Python is your best bet. If you want to dive deep, learn C first and then learn Python to build cool stuff.
1
u/Substantial_Ice_311 9h ago
C introduces the fundamentals of computer programming
Details and fundamentals are not the same thing.
1
u/Kungpost 7h ago
Hey!
Try https://godotengine.org/, it's very small and easy to install. If you've never done programming before, it will be very challenging, but an aim trainer is a very good first 3D project. Check out the tutorial for 3D games: https://docs.godotengine.org/en/stable/getting_started/first_3d_game/index.html.
Here is an aim trainer alresdy made in Godot: https://github.com/erkkon/OpenAimTrainer. You might be able to take inspiration from it.
Alternatively, you could try making a game in https://www.luanti.org/sv/, since it also uses Lua. You also get a lot of stuff out of the box, such as a world, a character and aiming, etc.
Good luck!
0
u/5eeso 23h ago
Try Pygame!
1
u/MCplayer331 23h ago
Pygame doesn’t have native 3d rendering support
1
u/5eeso 23h ago
I was trying to start you up slowly, but if you insist, use Unity with C#.
2
u/MCplayer331 23h ago
I think you’re mistaking me with OP. Anyway, I would recommend unity as well, but it might take a bit to learn
3
u/Dismal-Citron-7236 1d ago
Well, Lua is a good programming language tbh, but if you want to learn another new programming language, why not try Python? It's quite easy, the libraries are immense, and the community is vibrant. How about give it a try?