Advice for a wannabe GZDoom developer?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Advice for a wannabe GZDoom developer?

Postby Klavito » Sat Sep 19, 2020 1:42 am

Hello everyone!
Hope you are all doing great!

I've recently become more interested in game development as a hobby, and loving Doom and its community made me catch the idea of learning to use GZDoom as an engine instead of stuff like Unity or Unreal.

Now, from here are born a couple questions that I would thank you all if you answer them to me.

1. What programming languages should I learn in order to be familiarized with GZDoom's code, be able to understand it and if necesary, try to change it?

2. Is it possibly to commercialize a game made with GZDoom? Can it be problematic regarding to Id Software? How is it seen by the community? I'm talking more about a case of doing a game from scratch instead of just adding a few maps to the original Doom games.

My only previous coding experience is an university semester with C programming as an asignature, where, while I personally was interested, we didnt even learnt that much. XD

Maybe some of you are thinking that I'm trying to chew more than I'm able to, but I'm completely aware this is not something I will learn neither in weeks or even months but in years, perhaps.

Again, thank you all for any information you can share with me.
Klavito
 
Joined: 23 Sep 2018

Re: Advice for a wannabe GZDoom developer?

Postby SanyaWaffles » Sat Sep 19, 2020 3:22 am

1.) GZDoom is coded in mainly C++ so I'd familiarize with that. Some parts are still C if I remember correctly. I think most if not all assembly has been jettisoned.

2.) GZDoom can be commercialized as long as the following conditions are met: game_support.pk3 and none of the original IWADs are distributed, and as long as any forks to the engine are under the same GPLv3 license and don't hook into any conflicting libraries like Steamworks. Indie games, free and commercial, have been produced all ready such as Rise of the Woolball and The Adventures of Square and Hedon. Hedon is available on Steam and is a solid game.
User avatar
SanyaWaffles
Wouldn't be an epic gamer if I didn't commit a few war crimes.
 
Joined: 25 Apr 2013
Location: Eastern Ohio
Discord: SanyaWaffles#5095
Twitch ID: sanyawaffles
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Advice for a wannabe GZDoom developer?

Postby Graf Zahl » Sun Sep 20, 2020 4:01 pm

Klavito wrote:Maybe some of you are thinking that I'm trying to chew more than I'm able to, but I'm completely aware this is not something I will learn neither in weeks or even months but in years, perhaps.


Actually, yes. ;)
GZDoom is a large and complex code base - if your previous programming experience is as you describe, you may be better off starting with something simpler - to learn the basics first. Otherwise the complexity of the code may easily overwhelm you.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Advice for a wannabe GZDoom developer?

Postby Rachael » Sun Sep 20, 2020 6:25 pm

If the complexity of the code overwhelms you, break something first and then try to fix it in a way that isn't the way you found it. This requires patience and research and a lot of time, but it's a solid way to learn the inner workings of the engine.

After a while you'll realize that a lot of the engine is categorized into separate files and file sets - once you're familiar with these, and get used to using Visual Studio's intellisense (or at least just learning to press F12), a whole world of possibilities opens up.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Advice for a wannabe GZDoom developer?

Postby m8f » Sun Sep 20, 2020 8:14 pm

That said, there is a big difference between developing GZDoom (an engine) and developing a game with an engine. If you want to develop a Doom-like FPS, it's 99% that you won't have to look inside GZDoom source code. To develop a game, in terms of coding, you'll need ZScript or DECORATE, and maybe ACS.

And of course, the best advice I've heard is to start small.
User avatar
m8f
dreamer
 
 
 
Joined: 29 Dec 2017
Location: Siberia (UTC+7)
Discord: m8f#0629
Github ID: mmaulwurff
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit


Return to General

Who is online

Users browsing this forum: irukanjji and 3 guests