I want the program but I don't know how to start

Lod 10

Lover in the 2000s aesthetic
Level 4
55%
Joined
Dec 7, 2024
Messages
776
Level up in
224 posts
Reaction score
5,158
Points
2,477
Location
Loading
Hello to all my friends, how are you? My name is lod. I've liked programming since I was a child. I've always seen guys creating games and things like that, but I don't know how I can do it. What would be one?What good programming language would be good for me to learn?
 
Hello to all my friends, how are you? My name is lod. I've liked programming since I was a child. I've always seen guys creating games and things like that, but I don't know how I can do it. What would be one?What good programming language would be good for me to learn?
I’d recommend starting with GameMaker to get your feet wet, it’s super versatile and easy to get into. There are tons of good educational videos on YouTube to help you get started.

 
I'm not an expert but if I wanted to start learning gamedev, I would begin with picking the engine itself. There are many options today and things to consider. For example, I don't have a powerful PC so I would drop Unreal right away. I'd try thinking about what type of game I want to make and look into what engines those games usually use. Then learn what language that engine has and go from there. Some of them require good programming knowledge, some only minimal, but with some you can get away without any coding skills. Youtube tutorials are the best way to learn these days, so when you deside which engine and language you need, try looking there.
::dkapproves
 
If you want to understand how things work, you can start programming on machine language for Z80 for example ( An 8 bit CPU ). On machine language there's no automations. You'll learn the registers of the CPU, instructions for loading, moving, manipulating data from the registers to RAM, to I/O, etc, working on binari,hexadecimal and a lot of more things just on the CPU. Depend on which system you would like to program, they have his own idiosyncrasy. On Amstad CPC, if you want to paint a pixel, you'll write from $C000 on RAM, on the other hand if you want to do the same thing on Master System or MSX(the same architecture) you'll have to talk to VDP(Visual display processor) from I/O ( $BF and $BE) and write more information on different regions on VRAM( sprite atribute table, screen map,etc). Those last one systems, have hardware sprites. That means they have automations for moving them for you.
Then, when you masters machine code you can jump to assembler. I good started point would be using WinAPE for Amstrad CPC so you can inject machine code easily on RAM.
There's a course from profesorRetroMan on youtube starting on machine code for z80 on amastradCPC. "Dez80 -- Dominando ensamblador". It's a course for learning machine code, the most low level a programmer can program, for learning the basics on retro video games.
Right now I'm programming little programs on assembler for the Master System as gif shows.
It's a very rewarding travel.
 

Attachments

  • caractersPantalla.gif
    caractersPantalla.gif
    1 MB · Views: 14
Well I have a Game maker and Rpg Maker Mz and Rpg Maker Xp for Pokemon Essential I. Still learning how to make a skills and damage and I also have a notepad++ for learning coding for plug in
 
1760804333258.png

Other give you already good practical advice, so I'm going to provide more "fun way" to get into programming. There's a game on Steam title "The Farmer Was Replaced" (currently on sale for 25% off). The game teach you the basic of programming in very interactive way, also help you visualize what's happening and how your code flow within the context window.
 
Não sou especialista, mas se eu quisesse começar a aprender desenvolvimento de jogos, começaria escolhendo a engine em si. Existem muitas opções hoje em dia e coisas a considerar. Por exemplo, não tenho um PC potente, então abandonaria a Unreal imediatamente. Tentaria pensar no tipo de jogo que quero fazer e pesquisar quais engines esses jogos costumam usar. Depois, aprenderia qual linguagem essa engine possui e partiria daí. Algumas exigem bons conhecimentos de programação, outras apenas mínimos, mas com algumas você pode se virar sem nenhuma habilidade de codificação. Tutoriais do YouTube são a melhor maneira de aprender hoje em dia, então, quando decidir qual engine e linguagem precisa, tente dar uma olhada lá.
::dkaprova
Thanks for the tips
Post automatically merged:

View attachment 120098
Outros já dão bons conselhos práticos, então vou oferecer uma maneira mais "divertida" de começar a programar. Há um jogo no Steam chamado "The Farmer Was Replaced" (atualmente em promoção com 25% de desconto). O jogo ensina o básico da programação de forma bastante interativa, além de ajudar a visualizar o que está acontecendo e como seu código flui dentro da janela de contexto.
Then I'll try to buy a game to learn, thanks for the tip
Post automatically merged:

Bem, eu tenho um Game Maker e um Rpg Maker Mz e um Rpg Maker Xp para Pokémon Essential I. Ainda estou aprendendo a fazer habilidades e danos e também tenho um notepad++ para aprender a codificar para plug-ins
Understood, then I'll try to learn programming to create my own Pokémon game or a small game to start from scratch.
 
Dave Chappelle Unity GIF

It all depends on what your goals are for the game/experience you are trying to achieve. Is it 2d/2.5d or 3d, a platformer, an RPG, a platformer RPG hybrid, or something else entirely? Or is it something highly specific like homebrew development for an old console. The goals tend to dictate the tools. In general I would recommend Unity as there are a plethora of tutorials and videos on Unity game development using C#. It's also interactive so you don't have to learn C# first.
 
The exact language doesn't matter, it really depends on your goals. What's important is you know the fundamentals, get good at the programming language, learn how to break things down to their logical components, etc. Just read documentation to learn the language.
 
Unity and AI is how I've slowly been making a game
 
Dave Chappelle Unidade GIF

Tudo depende dos seus objetivos para o jogo/experiência que você está tentando alcançar. É 2D/2.5D ou 3D, um jogo de plataforma, um RPG, um híbrido de RPG de plataforma ou algo totalmente diferente? Ou é algo altamente específico, como desenvolvimento homebrew para um console antigo? Os objetivos tendem a ditar as ferramentas. Em geral, eu recomendaria o Unity, pois há uma infinidade de tutoriais e vídeos sobre desenvolvimento de jogos Unity usando C#. Ele também é interativo, então você não precisa aprender C# primeiro.
I just want to learn to program to distract myself, which has been my dream since I was a child.
Post automatically merged:

A linguagem exata não importa, depende dos seus objetivos. O importante é que você conheça os fundamentos, domine a linguagem de programação, aprenda a decompor as coisas em seus componentes lógicos, etc. Basta ler a documentação para aprender a linguagem.
I think I'll try to learn that I just want to learn programming. I want to enter the world of this career.
 
If you want to understand how things work, you can start programming on machine language for Z80 for example ( An 8 bit CPU ). On machine language there's no automations. You'll learn the registers of the CPU, instructions for loading, moving, manipulating data from the registers to RAM, to I/O, etc, working on binari,hexadecimal and a lot of more things just on the CPU. Depend on which system you would like to program, they have his own idiosyncrasy. On Amstad CPC, if you want to paint a pixel, you'll write from $C000 on RAM, on the other hand if you want to do the same thing on Master System or MSX(the same architecture) you'll have to talk to VDP(Visual display processor) from I/O ( $BF and $BE) and write more information on different regions on VRAM( sprite atribute table, screen map,etc). Those last one systems, have hardware sprites. That means they have automations for moving them for you.
Then, when you masters machine code you can jump to assembler. I good started point would be using WinAPE for Amstrad CPC so you can inject machine code easily on RAM.
There's a course from profesorRetroMan on youtube starting on machine code for z80 on amastradCPC. "Dez80 -- Dominando ensamblador". It's a course for learning machine code, the most low level a programmer can program, for learning the basics on retro video games.
Right now I'm programming little programs on assembler for the Master System as gif shows.
It's a very rewarding travel.
Much as I love/hate my history as a dev with assembly, I think if the person's motivations for learning is to solve a particular problem (in this case learn game dev) starting off with low-level computer architecture details is likely going to scare them away.

OP, there are really two aspects to your journey:
  • Learning "Game Programming"
  • Learning "Game Development"

These might seem like the same thing but really Game Development is far more than just programming, it is game design, art / graphical design, sound design, publishing/deployment, marketing, etc.


Some general "thought process" advice
In terms of Game Programming you've probably heard the legendary tales of game devs of old able to perform insane feats with limited hardware due to their creative use of programming techniques. You can learn the fancier "Game Programming" stuff properly, after you've focused on giving yourself a firm foundation or scaffold with the basics of "Game Development" and the very basic programming techniques which can support simple ideas within it.

You might hear some developers recommend their particular preferred programming language to start off with...
Programming languages are just a means of expressing your idea through the precise, logical steps of how the computer is going to manipulate some data to perform a task, the effect of this is that when you are programming you should focus on clearly deciding 'what you want to tell it to do' before you try to say it.

This deciding on precisely "what you want to tell it to do" is actually the real difficult part of programming, the "coding" part in comparison is a matter of translating those precise instructions/steps into a form the computer can interpret.

So to start off with don't focus on trying to learn programming by focusing on a "programming language" in particular. A carpenter doesn't learn their trade by specialising in a particular brand/kind of hammer, they learn by leveraging the tools they have to hand to solve a particular problem (e.g. building an oak table). Novices tend to focus on trying to "learn the tool" rather than learning the thought processes required through using the programming tool. This is often why learners tend to struggle with programming as they are given the impression it is about learning the technologies rather than the thought process - it isn't about the code itself it's about the precise idea the code is trying to express!

Selecting tools to get to your goal
You should instead focus on finding some tools / engines / frameworks that are going to make it as simple as possible for you to explore and develop some intuitions about game development, some people have already suggested the likes of GameMaker, which I agree is one of the better starting points.
There is also the likes of
Go through each replies recommended tools, have a quick look at them and see which seems the most friendly to you. Review your different options, play around with them and go with the tool you feel gives you a nice balance between you finding it less intimidating (low barrier to entry) but a fairly high capability ceiling (you can see examples of other learners building reasonably impressive games with it).

Whichever you choose, you want a tool that will allow you to focus more on the thought process and logic of game development rather than getting lost in the actual "coding" per se.


Once you've selected your tools, start exploring tutorials
With that goal in mind start following some basic tutorials with the tools of your choice and building some little examples games, you will naturally start exposing yourself to various programming concepts (control flow, data transformations, etc). Which then gives you an opportunity to note what you find out through your explorations and reflect on them further - if you come across a concept or technique in a tutorial experiment around with it, don't just be content with getting a surface level intuition about it, really chew on things.

This reflective process means that, as you are moving along in your journey, you want to make sure you are constantly asking questions and noting down what you aren't sure about.

For a particular technique you might come across in a tutorial/example, you might ask yourself:
  • What is this intended to do?
  • How does it work that way?
  • Are there other ways to do something similar and get the same result?
  • Why was it done in this way in particular?
Breaking things down in this way when going through a tutorial helps you to focus on building those intuitions and avoid a common issue with programming tutorials:
Tutorial Hell

Tutorial Hell is the problem where novice developers can follow basic recipes but freeze up when they are asked to think about how to design and build a system from scratch.

Essentially, you won't learn to be a professional chef by naively following a bunch of cookbook recipes, to really learn to cook you need to not just take those recipe steps at face value, but ask yourself questions to help you understand the Chef's thought process:
  • The Ingredients (this is your data)
    • Why were those particular ingredients and measurements needed for this recipe?
    • Could I replace some ingredients with others and achieve a similar result?
  • The recipe steps (these are the algorithm(s))
    • What am I transforming the ingredients into?
    • Why did I need to prepare these ingredients together like this? In other words, why do I want to transform the ingredients into some other form to complete the dish? (think making dough from the raw parts)
    • How/Why does what I'm doing transform those raw ingredients?
Post automatically merged:

Part 2

What games should you focus on exploring first?
Don't dive into trying to make a modern AAA 3D FPS or Sandbox game - that's biting off more than people are willing to chew to start off with and you will find yourself becoming overwhelmed and demotivated very easily.

It's best to focus on some simpler classic genres to wrap your head around basic game dev first, try to find tutorials and resources which will help walk you through building classic "Arcade" games like:
  • Pong clone
  • Breakout clone
  • Snake clone

This will get you to learn aspects of: player character control and movement, basic constraint enforcement (e.g. the pong paddle shouldn't be able to move off screen), data management (e.g. score tracking), etc

Once you've moved on from those you might then want to look at gradually stepping into some slightly more complex genres/mechanics:
  • Fixed screen 2D platformer (e.g. the original "Mario Bros" - not Super)
    • Then: a Side Scrolling 2D platformer (e.g. Super Mario Bros, Sonic, etc)
  • Space Invaders clone / Asteroids clone
    • Then: "Classic" Scrolling Shoot 'em' ups (e.g. Gradius, Raiden, Aleste, etc)
  • A classic NES / GB Tetris clone
    • Then: more complex tile match or falling block puzzlers (e.g. "modern" Tetris varieties, Panel de Pon, Puyo Puyo, etc)
Post automatically merged:

Part 3

Essentially going on a journey where you are gradually developing your knowledge of building more complex games by travelling through real world gaming history - the earlier games tended to be less complex due to experience and resource limitations and this makes them ripe for providing valuable learning experiences.

Once you've really wrapped your head around the nature of how game logic is expressed in these precise, step-by-step turns then try to plan out your own little game idea in terms of its mechanics, story, etc from scratch. Carefully consider how you could express those different mechanics within the game framework before then trying it out in "code"!

Good luck OP, keep us posted on how things go

::peacemario
 
Last edited:

Users who are viewing this thread

Connect with us

Support this Site

RGT relies on you to stay afloat. Help covering the site costs and get some pretty Level 7 perks too.

Featured Video

Latest Threads

Princess Minerva PCECD & PC98 English Translation Request

Hello, my name is Kevin I'm making a request here
because I would like for someone to...
Read more

Xbox Insignia users and RGT gaming events

Hello, I suppose that many of you will be already familiar with Insignia: the fan made Xbox Live...
Read more

Modify a boolean in a Game Boy ROM

Is it possible to modify a Boolean variable in a Gameboy ROM using a hexadecimal editor? What...
Read more

FFTA2 - A Clan's Journey [NDS]

(Could only find this French guys videos on the romhack, sorry)


...
Read more

Online statistics

Members online
88
Guests online
247
Total visitors
335

Forum statistics

Threads
14,321
Messages
343,717
Members
890,371
Latest member
azukakit

Advertisers

Back
Top