r/learnprogramming 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.

3 Upvotes

12 comments sorted by

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?

1

u/Technical-Pizza237 21h ago

. For an aim trainer specifically, look into something like pygame first, it handles the window, input, and drawing without much boilerplate. Once you get a moving target and a click counter working, you can worry about making it 3D later.

1

u/Physical_Wing_3298 23h ago

Python imo is the best starter programming language

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

1

u/5eeso 21h ago

Oops, my bad

2

u/MCplayer331 18h ago

It’s all good. I make the same mistake all he time as well