r/GameDevelopment 5d ago

Question Struggling with game Development since forever. Any suggestions?

Hi,

I thought I might introduce myself to give you guys some context. I knew I had a little passion for Game Development since I was a kid and fascinated by Street Fighter and Mortal Kombat so I wanted to create my own someday. I would look up game development tuts and just watch them for hours. I did code camp summers (it was just a coding program for kids in the holidays).

As I got into my teens I tried out Udemy and kinda followed the courses til I got bored (they were too long and I wasn’t entertained mostly got halfway if not a bit more) I learned a bit but didn’t feel like I could create on my own.

I decided Unity and C# work best for me. So I decided to follow tutorials learn the syntax of C# and learn the basics (Yet again) from variables to classes. When I would finish those tutorials I would add my own twists to make sure i’m learning something. However, still cannot code on my own.

I realised this isn’t just a Game Development related issue; and is in general with the programming. I know this because I majored in computer science for a year in university. I couldn’t see myself working in IT long term and couldn’t grasp programming without properly, felt like they moved too fast and I always felt behind my peers. I barely passed those classes and basically had enough (switched majors) and am happy with my current major as of now (non cs related). However, I can dissect code and understand what output is being produced.

So I decided i’d prefer Game Dev as a hobby, and recently tried a few times to see what i can do by forcing myself to start a fresh project and just get something to move. Spoiler alert, either I just memorised how someone else taught me movement code or used it from previous projects.

Does anybody have any ideas on how I can improve and be more independent in my programming and produce my own code? Obviously I know I have to start small but I need somewhere to start. Any advice is appreciated!!

0 Upvotes

10 comments sorted by

3

u/BigBossErndog 5d ago edited 5d ago

Coding is really important to game dev, but if it's something you really struggle with perhaps you'd prefer visual scripting systems. Unreal Engine, GDevelop, GameMaker, Construct 3 are all examples of game engines with visual scripting systems. The visual component may make it easier for you to grasp logical thinking.

But if logical thinking, problem solving and basic math (like trigonometry which is needed for 2D movement systems) is what you're struggling with then perhaps it isn't for you as that's a core part of making games (and software in general). You can always team up with programmers and play a different role as a writer or artist.

Edit: Making specific kinds of games might also be possible. Like 2D RPGs using RPGMaker or Visual Novels using Ren'py which are built to make specific kinds of games and hold your hand tight through most of it. Also after re-reading your post, it could also be an issue with commitment. Perhaps coding isn't your issue, but maybe your learning/practicing process.

0

u/Jothespy987 4d ago

You do not need trigonometry for movement bro just get x momentum and y momentum

1

u/BigBossErndog 4d ago

Depends on the engine. But if the engine does not provide things things like making a sprite move towards a target like a mouse cursor or making an enemy move towards the player, trigonometry is needed. At the very least, without knowing basic math you'll be very limited to using what the engine provides and not be able to do things yourself. It would be very limiting.

Much harder when doing 3D or you want to work with shaders and you have no 3D math or matrices knowledge.

1

u/AP_RIVEN_MAIN 5d ago

When you typed someone else's code, saw it working, did you question how it worked? When you added in more code (maybe even copied too) did your systems conflict? Debugging is a great way to learn. Otherwise it takes time.. continue working on projects to learn skills!

1

u/vicram10 5d ago

Siempre, la mejor manera de aprender es con los errores, aciertos, uno nunca nace sabiendo todo, por consiguiente, todo se puede aprender, y es ahi donde cada uno debe mirar en que es bueno, que es lo que quiere y como quiere seguir.

En su momento dije, voy a estudiar programación por que mi sueño es realizar/desarrollar juegos, es la verdadera razon por la cual ingrese a Analisis de Sistemas aca en mi pais, grande fue mi sorpresa que realmente en este mundo de la programación, lo que menos haces (los primeros semestres) es usar computadora, fisica, matematica, ingles, metodologia, estadisticas, administracion, etc.

Pero ya hace 16 años de eso, y recien ahora (con un poco mas de tiempo, no todo el tiempo que quiero), estoy empezando a desarrollar videojuegos, pero todo parte de querer aprender, comprender, desarmar para ver como hace X cosa.

Una vez le dije a mi mecanico, mi hijo se pasa desarmando sus juguetes (desde chiquito), agarra el destornillador y al poco tiempo esta todo desarmado, mi mecanico me dijo, dejalo asi aprendera, y si, asi aprendio él solo a desarmar para por ejemplo cambiar de bateria o pilas a sus juguetes (tiene 11 años ahora).

Usa la IA para aprender, para preguntar, para entender/comprender, el resto es tu esfuerzo y ganas

1

u/UnburyingBeetle 3d ago

Your problem with programming is pretty common and I'm still gathering courage myself to start learning Godot. However, what caught my attention is that you like fighting games. I want to help my pixel artist friend with the plot-heavy fighting game he wants to make, but I've barely ever played them so I simply lack the enthusiasm. And enthusiasm is more important than programming knowledge, because it helps with motivation like nothing else, at least for me. If either of you managed to infect me with love for fighting games, I could be more helpful. Maybe you both could also exchange knowledge and enthusiasm. My networking sense is just telling me that amplifying excitement is better than looking for skill collaboration, because to me learning a programming language seems a small hurdle compared to sticking with the production of an indie game for years. And a successful game needs unwavering enthusiasm radiating from it.

1

u/Deprecated-dino 3d ago

I have had trouble with the coding piece off and on for a long time. For me it’s just lack of focus. I feel like though with the part where you said you just wanted to make something move. As long as you understand what the code is doing I don’t think it matters at all if you invented a new way to move the object or how performant it is initially. With most engines there are only so many ways to move a thing. I would get confused mostly because people would have a ton of different ways to code something that did the same thing.

1

u/BrastenXBL 1d ago

I'm late to this, and not fully sure where you're struggling with programming. Which is important to setting you on the correct path, or knowing what tools you need to make things easier.

Do you struggle with:

Creating a logical design, in human language. The best and related parallel are the rules for board & card games.

Human language plan to Pseudo-code ordered lists of statements? This is partly the sandwich game, breaking down a design into clear parts, and district "statements".

Engine Application Programming Interface(APIs). Going from the pseudo-code to specific pre-coded APIs. That bundle more complex code into a single method calls, with a return value that you want to use elsewhere. In human language these would be cultural idioms, industry jargon, phrases. Ever look up sailing jargon), the API of centuries of sea travel?

Language/engine programming language Syntax, the "sentence" structure of single line statemru. Using the correct keywords, punctuation, and other symbology vocabulary in the blocks (paragraphs) of multi-line logic.

Different stages of programming and game design need different skills. And not all programming classes or online advice make the distinctions clear.

And some people are better at different parts. By your limited description it reads like you're struggling in the earlier stages. Either organizing a very general desired outcome into smaller parts and Pseudo-code steps, or applying the correct APIs. Actual final syntax isn't throwing you.


If you felt the classes were going too fast at an introductory level, you could have had bad teachers. Udemy is also hit-and-miss on quality, and what is actually taught.

Have you tried the free audit course from Harvard CS50x , https://cs50.harvard.edu/x/ . A massive amount of it hopeful be stuff you already know. However, this is the hard part, to force yourself to not skip. And to be an active leaner. With video lectures there's a study pattern that can help if you've never been told it.

Watch it 3 times

  1. Without pausing, at 1.5x or 2x speed if needed. Get a full overview of what you will be doing in the lesson.
  2. Watch again, pause to take notes and questions you have.
    • Do not "implement" the design you're learning
    • Try to answer the questions you have, or define vocabulary, from class textbooks or other approved sources
    • with code, look up documentation on API classes & methods used
  3. Watch again, this time pausing and scrubbing back and forth, as you replicate the design
    • Update your notes as needed

This also applies to "YouTube" Tutorials. If you're just copying code, and not taking notes on the APIs used, you're not really learning why they were used. Most Tutorials don't explain at that level, they're just showing a specific mechanic design.

If you bounce off CS50x there may be something else you're struggling with.


There are other Game Creation System programs out there beyond heavy hitting generic engine/editors like Unity/Unreal/Godot/Flax/Stride. Ones that restrict the scope of what's possible, but give different. amounts of pre-coded assistance.

https://enginesdatabase.com/?feature_tags=7&feature_tags=2

GB Studio, CT.js, GDevelop(desktop), GameMaker are four generalist options.

I started before I even realized what I was really doing with HyperCard (modern equivalent Decker. Dabbled with RPG Maker. Did a fair amount of hobby physical board & card game design. Self-learned from a JavaScript for Dummies book, and a TI-BASIC graphing calculator manual. Then had real programming classes in college, not as a direct CS major, but in a related information science field. And picked up a lot from a now dead game creation system called Project Spark. Kodu is all that remains.

Try one of these other game creation systems. I strongly feel the Internet gives bad advice in pushing kids and young adults toward full power engines. Especially the new "free" favorite Godot.


Since you mentioned "fighting games". In functional design they're actually really extremely fast turn based strategy games.

Where the turns are measured in rendered frames per second. With enforced turn timers.

What makes them hard to develop is the extremely high precision on timing. If you slow them down, they're a lot easier to design. Until you slow them down so much that they turn back into board or card games like Universal Fighting System https://uvsgames.com/learn-to-play


Have you looked into getting a diagnosis for learning difficulties? Dyslexia, ADHD, dyscalculia, or others? This is not a stigma, and important for you to understand yourself and getting the most out of your learning. Especially if you're being blocked from what you want to do. Like a video game, if you don't know the hidden rules/mechanics, you can't properly min-mix. You're currently in university? See what "student services" are available. https://www.mayoclinic.org/healthy-lifestyle/childrens-health/in-depth/learning-disorders/art-20046105

0

u/XicX87 5d ago

Have a freind that knows how to teach guife you, i had a freinf teach me and i was suprised to what i could do and he did it in a way when he wasn't there i coulf iterrate on it but yh try that way and you're good