🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Did gamedev become newbie unfriendly?

Started by
20 comments, last by DavinCreed 4 years, 3 months ago

I haven`t been around 10 years but it looks like things have changed since then. If you`re new to gamedev you have to climb this steep wall called shaders before you can do even the most basic things. Of course you can use engines but thats like navigating through a narrow labyrinth with a spear. There is also frameworks like SDL for smaller projects but these come with a sharp learning curve as well/ require gamedev understanding as prerequisite. If I want to experiment I stand no chance. I have to learn Unreal the proper way before I can bend to unconventional.

My project`s facebook page is “DreamLand Page”

Advertisement

I don't know about Unity and Unreal but yes I agree that the “do it yourself” requires quite some work and patience. And clearly the online doc is aimed at professionals which does not help. That's when IMHO books are very useful as they guide you through the whole process. It took me about 3 months full time with:
Introduction to 3D Game Programming with DirectX 11
Direct3D Rendering Cookbook
But I could build the (limited) framework I needed (.NET + SharpDX as a wrapper for DirectX11). For audio I went with:
Game Audio Implementation
It's for Unreal but XAudio2 is much more accessible and it was easier to build upon (took me another month).

Calin said:
If you`re new to gamedev you have to climb this steep wall called shaders before you can do even the most basic things.

What about the steep wall of learning a programming language? Are there ever questions about using Basic as a language to use cause it's so much easier? No, of course not. If there were, everyone would say, "Don't use Basic". Would you then say that that is unfriendly to beginners?

What about the steep wall of affording a computer that is modern enough to do gamedev. Take a 10 year old computer for example. Should one complain that a buying a newer computer costs a lot of money and is a steep wall? It very well could be. But that's life. You can sit around with an old computer and grumble about it or get down to brass tacks and do something about it.

People use engines because it is easier and faster that programming their own engine. If one chooses to go that route then they shouldn't think, “Hey, I'll use some antiquated API that doesn't require shaders cause it's not as hard”.

So no, gamedev hasn't become newbie unfriendly. It is (somewhat) unfriendly towards beginners that think they can take an old, easier way out that in the end, doesn't do them any good.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

@fleabay As the poor dev I am, i feel offended.

https://www.youtube.com/watch?v=YE5O0LSpQKo

About using the last modern tools available, i agree. We should use the latest modern API available for our poor-computers when start learning. We must be thinking in the future(except rich people, rich people can develop a game in ASM, because they have lot of free time to lose, and even if they are programming a Mario in ASM for 10 years, they will still have what to eat. Poor people must think in the tomorrow's day).

(my cheap laptop of a poor person is 5 years old and it supports DX12. It costed new 500$, now as second hand could be less than 100$ i guess. And it has the latest API)

My rule → API - the latest possible, hardware - the cheapest possible.

fleabay said:
Are there ever questions about using Basic as a language to use cause it's so much easier?

the difference between basic and c is minimal, 25 to 30 percent. I know the 30 % is critical and makes huge jump in quality, but he logic is the same. but that`s going sidetrack way. shaders aren`t critical its just a `nice feature to have`, they don`t affect in any way the rest of the game.

My project`s facebook page is “DreamLand Page”

Gamedev didn't become newbie unfriendly because it never was newbie friendly.

Calin said:

fleabay said:
Are there ever questions about using Basic as a language to use cause it's so much easier?

the difference between basic and c is minimal, 25 to 30 percent. I know the 30 % is critical and makes huge jump in quality, but he logic is the same. but that`s going sidetrack way. shaders aren`t critical its just a `nice feature to have`, they don`t affect in any way the rest of the game.

And then the difference to modern C++?

Yeah, I agree shaders are not critical, if you want to make a game, there plenty of modern options that don't need you to learn any shader language. You probably won't be dealing with complex effects or optimisations that actually need custom shaders, so what the library/engine options come with can do a fair bit in 2D or even basic 3D.
Trying to use D3D9 (or older) or OpenGL fixed function pipeline however I think is the wrong way to avoid shaders, especially considering that any code samples you are likely to find for those won't make use of modern programming improvements (especially C++, containers, algorithms, syntax enhancements, memory management., other library filesystem/thread/etc. for example).

In fact, to get started on basic games, you can avoid a lot of the programming work and get into it slowly with scripts to implement little bits of game logic like score systems, object interactions, ai behaviour, etc. In fact I basically learned programming that way, although eventually I went into enterprise software rather than gamedev due to current local job opportunities.

I think people tend to forget that the old SDL+OpenGL path still works just fine. You can build a game that way in the year 2020, and still address the entire PC market. In some ways it's even improved - wrappers like ANGLE allow you to avoid all the OpenGL driver issues of years past.

Shaders have been the norm for more than 15 years, so, yes, learning shaders is mandatory if you want to hand-code graphics. Even most SDL+OpenGL focussed tutorials have used shaders for at least a decade. On the other hand, you no longer need to hand-code graphics if you don't want to, since Unity and Unreal come with marketplaces full of ready-to-use materials.

Has it become harder for a lone developer to produce a AAA-quality 3D game? Absolutely - but it was never exactly easy either. Expectations around mesh and animation quality, texture resolution, material richness, lighting, etc have all increased dramatically - as have the expectations about the sheer scale of games. On the flip side, there has been something of an indie renaissance in 2D and pixelart games, helping balance out the complexity a little.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

SyncViews said:
And then the difference to modern C++?

yeah the difference increases.

the wrong way to avoid shaders

I`m not dogging shaders, I have nothing against them, i could make use of them in the future however If the moment of using shaders came I`d rather use/learn them from the horses mouth. and not as part of some 20 years old technology (Unreal).

My project`s facebook page is “DreamLand Page”

Calin said:
part of some 20 years old technology (Unreal)

This isn't quite fair - there has been more than one Unreal Engine. Unreal Engine 4 (the current major version) wasn't released to the public until 2014, and they've continuously iterated on the produce since that time.

Unity is also 15 years old if we are being pedantic, but it too doesn't look much like it did at launch (hell, it was a Mac exclusive back then).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement