If I want to get into simple game development, should I learn one, the other, or both? I already know a bit of both but which one should I go all in on?
Tip Your Landlord Shirt $21.68 |
DMT Has Friends For Me Shirt $21.68 |
Tip Your Landlord Shirt $21.68 |
C++. after you discover that gamedev is a steaming pile of shit, you have better chances of using it in a real job.
really?
i was told gamedev is shovelware quality of code
and broken features
so its easier to make yourself a niche than in any other field of programming (esp as entrepreneur)
>i was told gamedev is shovelware quality of code
it is. engines are better, but games usually have trash code.
so its easier to make yourself a niche than in any other field of programming (esp as entrepreneur)
what would be a niche in gamedev? everything within the reach of indie studios is super saturated.
>easier to make yourself a niche than in any other field of programming
honest advice if you plan on making vidya: do it as a hobby, release your games for free and don't take it too seriously.
that being said, just pick whatever language you like. if you have more ambitious projects and want to use Unity go for C#; if you wish to control every aspect of your game, and maybe want to try writing your own engine, then go for C++.
>unity
>after what happened
ngmi
what happened
I will gladly pay $0.20 per install or whatever considering it only applies after I make $1 000 000 in a year with one game.
the idea of indie gamedev is to make bank by doing meme games that turn viral.
You are not supposed to do a real game by yourself unless you own a gamedev company, lol.
You learn programming, not language. Learning a language is easy part.
No its not not all languages are scheme or lisp fhat they can be learned fast.
C++ a clusterfrick of usles complexity that no one ever fully learns. C# is a bit better but its still not a small language.
>C++ a clusterfrick of usles complexity that no one ever fully learns
i never understood what part of c++ is hard for Black folk like you?; shit gets easier if you actually study and use it, you know?
just follow learncpp.com and you'll be fine
You never understood because you are autistic moron that learned c and than cpp and wont touch any other language fhat isnt the same.
You can have 160 iq you wont learn cpp in 3 months because its not possible. Language is sloppy full of weird behaviors and iregular sintax that you learn with boring grinding and not with intelligence or creativity.
Thats why you midvits love it it enables you to have some sort of seniority badge in programing world.
>you are (an*) autistic moron
>c and then* cpp
>fhat
>it's*
>iregular
>sintax
>programing
Well I can see why you got filtered by it at least.
>muh spelling
Yea i see you are a midvit. Let me guess you suport permits and regulations and company stars to make you feel like a big boy.
basic communication skill (just like basic math) is considered a good way to see how smart and dedicated a person is.
You are a moron.
Is it worth it to learn cpp even for extremely optimized code, or should I just jump straight to c? I remember doing some cpp, but it was mostly bullshit where we'd use namespaces and I forgot a lot of it.
C++ is C but with classes. It's just as fast as C with -O2. Off the top of my head, the only reason to prefer C is no name mangling for libraries
the language is okay and a decent iq combined with 3 months of disciplined study is enough to learn it to perform 99% of the tasks. of course, this is valid if you are not a marketing janny that codes mental gymnastics in it to shill a free language.
c++ is very simple language (except templates maybe). you learn it in a week, and then you learn all its pitfalls in next 10 years.
i think that c# features are actually more complex than c++
Ok please show me an example of a more complicated language thats not some joke like brainfrick.
i never understood how people like you could survive to their age, it's honestly a miracle
Well said
>i never understood what part of c++ is hard
Then you don't know C++
They did, use Google.
With C++ everyone has a different subset of the language in their head. At least C# has a community understanding around what parts are modern and which are best left behind.
>C++ a clusterfrick of usles complexity that no one ever fully learn
sounds like job security to me
You are blinding yourself from the world. All languages are not lisp but lisp is all languages. To see the world for what it is you must walk the path. Until you do you are cursed to suffer in the cycles of technology and study each language on its own as if they weren't each and all only a reflection of the all encompassing lisp nature.
selling a product and marketing is the hardest part. But most tech nerds can't speak to a girl without spilling spaghetti, so...
Godot.
C#. If just a simple developer, C#. All you need to be able to do is use an engine, so some safe high level OO language like C# or Java is all you need.
If you're trying to be a game engineer, as in... programming the engine and core parts of the game, then throw away C# and C++ is your only option (and maybe Rust in the future). C++ is used because game programming is dirty.
>Disregard everything you've learned about good practices and safety, make it as fast as possible, doesn't matter what you rig up
That's game programming, and you need C or C++ for that.
>and maybe Rust in the future
yeah anon, I don't think so
NTA, Rust is great for writing a game engine in even now. I made one(not general purpose) and it was really good experience.
You just might want some scripting layer like Lua for actual game logic, but for the engine it's great.
Yeah, sure, there are like 28625 "game engines" written in Rust, but 0 games, why is that?
>there are like 28625 "game engines"
There is one that matters so far.
>but 0 games, why is that?
I have explained it here
. Language doesn't matter in game development at all. It's all about gameplay, story, music, etc.
There is no point in making game in Rust right now, if mostly likely making same game in Unity or Game Engine is going to take 10 times less time = 10 times less development costs.
However
and
didn't talked about games, they talked about making a game engine. Making a game engine is completely different task than making a game. Rust is a really good language to make and engine, but not necessarily a game. That's why I suggested to embed language like Lua into your engine to make writing game logic easier.
Because people who make games and people who make engines are usually not the same people. 99% of game developers does not need to know how to make an engine, it's not their responsibility. They have to make games, and Rust doesn't offer any advantage over popular premade engines when it comes to making games.
(me)
I didn't say that rust is bad, it's just that game devs don't seem to be much interested
If you're just making your own simple games then either one is fine.
If you want to do it as a job, don't do it. Just don't.
Speaking on gamedev any news on new Unity pricing? They are not backing down, are they?
>They did, use Google
They literally didn't though? Do gtards not know how to re--ok forget about it.
New versions of Unity come with the new pozzed pricing scheme. The current version is still under the old pricing scheme, but of course this version is going to stop working after a while.
>New versions of Unity come with the new pozzed pricing scheme.
No, they changed rules when it applies and it still fallbacks to revenue percentage whenever is cheaper.
>this version is going to stop working after a while.
[citation needed]
>>this version is going to stop working after a while.
[citation needed]
Good luck deploying to the New New Switch 2 3DS XL Plus with tools from a time when the console never existed.
How is that going to make old versions of Unity not work?
It will render them useless for development for modern systems. If you want to develop a game for new consoles and probably macs, you will need the new version, which has the runtime pozz.
>If I want to get into simple game development, should I learn one, the other, or both?
C# and pick unity.
You choose C++ only if you know what you are doing and want to pretty much do your own engine.
Anyway, programming is a small part of game development. Good games are done in random shit frameworks like Construct or game maker. What is more important is being able to design a good gameplay, good assets, story, sound design, music, characters and everything else. Programming skill is secondary, you just have to make game run without too many bugs.
If you're a newbie - learn C# and use an engine like Godot. If you want to go deeper - learn more CS fundamentals and then pick up C++.
You should have a game idea and workout what language is best suited to that.
See you in the another of these moronic fricking threads in about, 15 minutes you fricking spastic.
If you're serious about this, go with python.
if you want your shit to be blazingly fast and want to get your hands dirty possibly writing your game engine from scratch go for sepples
If you want to get your shit started right now and get a demo in a few hours learn M$'s java and learn unity
You don't need game to be blazingly fast. You do need game to be fun to play.
Better to pick something easier that will allow you to prototype as many game mechanics as possible in a short time. And only choose to write your own engine iff you can't get your already fun and cool game to run fast.
Even Valve writes their new games in Unity first and move to Source (2) once they know the game will be fun to play.
Why are you bringing the dog shit triple A bullshit into hobby game dev? Gaben is a fricking dicksucking homosexual and Valve is a fricking garbage company. Really chuckled when you said bullshit like "Valve writes their games", homies can't even count to three.
Anyway, what you brought up has no place in amateur game dev, and what you said is a big problem for today's games, because devs by their nature are lazy, which is why you see triple A title with dog shit performance because management pushes unrealistic deadlines because they already saw the demo and like oh shit you got the working product already, release it to prod asap and dev just say frick it and do the bare minimum optimization wise.
>making a fun game instead of obsessing over benchmarks is "dog shit triple A bullshit"
Lol, lmao
Fun out of the game gets sucked out faster than a hard dick out in the fentanyl junkie infested ghetto crack hoe house if you game stutters like a disabled clown midget on x-factor
You are, you brought up Valve, the dicksucking company of the century
>Gameplay and prototyping are very important in amateur game dev.
Yeah, which is why the Steam store is so full of these prototypes, unity is not for prototyping, it's a full fledged framework dedicated to making games, if you actually prototype something in it, chances are you your prototype IS the game.
>AAA are not made using Unity or Game engine.
Yes they are, it's not even about unity, it's about the fact that performance is garbage people tend to use out of the box solutions and call it a day.
>You are, you brought up Valve, the dicksucking company of the century
Valve is not the only company that cares about gameplay.
>Yeah, which is why the Steam store is so full of these prototypes,
Prototypes in this context are not games you'd put on steam. They are just basic implementations of various ideas you implement quickly to see how they actually work in practice.
>unity is not for prototyping
It is very good for prototyping. You can quickly write game logic and put together various mechanics to test them. Much faster than using some more advanced or custom game engine.
>it's a full fledged framework dedicated to making games
That doesn't prevent it from being good for prototyping.
>chances are you your prototype IS the game.
There is huge difference between prototype and a game. Prototype doesn't have to have anything except the very mechanic you want to try.
>Yes they are
Examples? Name one AAA game made in game engine.
>it's about the fact that performance is garbage people tend to use out of the box solutions and call it a day.
Performance is not as important as good gameplay. It only becomes a problem when the performance affects the gameplay.
Prototype first, and then optimize. Do not optimize prematurely.
>Examples? Name one AAA game made in game engine.
homie, that shit is one search away, not gonna spoonfeed you.
>There is huge difference between prototype and a game. Prototype doesn't have to have anything except the very mechanic you want to try.
Of course there is, BUT the thing about unity is that it's not a prototyping framework you CAN make games with it and it is THE primary tool for it when you want something quick and easy, but you're still missing the point that it's super easy to hack something in unity or some other easy framework and ship it outright.
>Valve is not the only company that cares about gameplay.
Valve and the 'fat wiener gobbling asswipe Gaben don't give a shit about shit, but the money they make from skins.
The argument is that unity is not bad, it just shouldn't be used for big projects or where you need your game to be ultra fast, if OP wants to get his hands dirty without any hand holding he should go the sepples route.
>unity shouldn't be used where you need your game to be ultra fast
But that's wrong, Unity can get you a close to the speed of custom-made solutions with far less effort.
The advantage of C++ is that, after you've gained plenty of high-level game dev experience with engines, you can spend a few months on a VERY SIMPLE C++ project and get some low-level experience too, experience you can then carry back into engine land and use in actual projects.
>the speed of custom-made solutions with far less effort.
only if you make bullshit games and nothing innovative
90% of trendsetters are unity
keep coping
>trendsetters
>tarkov
>valheim
Trendsetting in this case would be actually turning a profit on something people like.
>I need to spam MOAR OBJECTS and MOAR GRAFIX or my game will never be innovative!
What were you saying about triple A bullshit?
>homie, that shit is one search away, not gonna spoonfeed you.
So you are talking bullshit, as expected.
>BUT the thing about unity is that it's not a prototyping framework you CAN make games with it and it is THE primary tool for it when you want something quick and easy, but you're still missing the point that it's super easy to hack something in unity or some other easy framework and ship it outright.
The fact that it's super easy to hack something in Unity means it's good for prototyping.
>Valve and the 'fat wiener gobbling asswipe Gaben don't give a shit about shit, but the money they make from skins.
Irrelevant to the discussion.
>So you are talking bullshit, as expected.
Not spoonfeeding you.
>The fact that it's super easy to hack something in Unity means it's good for prototyping.
Are you dumb? You still can't get my point which is people use unity and call it a day and don't give a frick about speed where it's crucial and when it needs to be done it's done in sepples
Also the prime example of a fun concept but a shitty decision to use unity is fall guys, a good fun game but since it's made in unity it stutters a lot, sometimes not even able to properly load textures for a good few crucial seconds and that's a game with PS2/3 level of graphics and number of objects on screen.
>still trying to pretend vidya NEEDS extreme levels of optimization
90% of games out there aren't complex enough to require anything more than a quick profiling and a visit to the Unity FAQ page, let alone a full rewrite in C++.
Games with a shitload of moving parts a la Factorio are the exception, not the norm, and even then you can get pretty far on Unity (see Ai War 1 and 2).
>muh FOTM streamer bait is unoptimized
You deserve it for even caring about those blatant low effort cash grabs.
>le naughty words as substitutes for arguments
Optimizing enough to get a solid 60 is an incredibly task for the average indie, you don't need C++ in the slightest, you just need to notice and correct major frickups such as allocation spam in tight loops and O(frickyou) code.
Unity is more than good enough, Godot is more than good enough, fricking GameMaker Studio is good enough for technically simple projects and even those can be incredibly fun.
The DIY from SDL meme is a meme, nothing more.
>Why are you bringing the dog shit triple A bullshit into hobby game dev?
I don't, gameplay is just as important in indie games than it is AAA, if not more.
Even more, making your own engine is way more popular than in indie. Nearly all indie games are made using premade engines.
>Gaben is a fricking dicksucking homosexual and Valve is a fricking garbage company. Really chuckled when you said bullshit like "Valve writes their games", homies can't even count to three.
?
>Anyway, what you brought up has no place in amateur game dev,
Gameplay and prototyping are very important in amateur game dev. You do not have enough experience to design a game without prototyping various ideas.
>and what you said is a big problem for today's games, because devs by their nature are lazy
Prototyping is a problem? Quite the opposite.
>which is why you see triple A title with dog shit performance because management pushes unrealistic deadlines because they already saw the demo and like oh shit you got the working product already
AAA are not made using Unity or Game engine.
>blazingly fast
>gamedev
kek. modern games run like turd though
it's all just empty words. the sad reality is that gamedev programmers are bad at coding and c++ should be partially blame
remember when Microsoft said Windows 10 would be the final rolling release version of Windows and that there would never be a version of Windows after that?
and then do you remember when they broke that promise and then made Windows 11 and made it shitty. and now do you remember that article where Windows 12 was planned to be a subscription based?
now extrapolate that with the detail that the only company backing C sharp and F sharp at all is Microsoft.
think back, what's their service level agreement for backing software long term?
if you're lucky and it's profitable their track record is that they will back it for 10 years.
but then it's abandon ware.
whereas C++ is never going away
if Microsoft wants to seem like a company that can keep their promises they need to delete Windows 11 right away
C# is open source now
C# with unity or godot. C++ is a waste of time unless you want to engine dev (not gamedev) or use Unreal (not good for "simple game dev" and learning)
Learn C++ basics to know at least something about pointers and memory management, then learn C# to actually make a game with it.
C++ for a game only makes sense if you want to write a whole engine from scratch, and that's not beginner stuff.
Why is C# even being considered here? OOP in C++ is just as simple and you're able to do so much more with the hardware.
>OOP in C++ is just as simple as C#
except you have to write like 5 constructors, know when to use virtual destructors, deal with move semantics and rvalue references, deal with cmake and a thousand other shit build systems, deal with adding libraries to your project (and keeping them up to date), and dealing with header files, and dealing with a thousand footguns in the std or writing your own from scratch (preferred method of gamedevs). also question of the day: what do you do when a constructor fails?
>also question of the day: what do you do when a constructor fails?
you throw an exception, or do initialization in another function that can return error information. it's C++ 101.
>throw an exception
good luck doing that in a game engine
it isn't a problem if you throw rarely. if someone uses exceptions for flow control then they can't be helped.
>he writes if err != nil 100 times just to print error
lol. all that wasted perofrmance on useless if checks scattered around all your code
Handling exceptions isn't free either, moron. There's branches for that too.
exceptions are free if you don't throw, and when exceptions are thrown it's usually a bug
people unfamiliar with exceptions have wrong assumption that you must throw exceptions everywhere just like you return error values everywhere, but that's not the case with exceptions.
>exceptions are free if you don't throw
No. Setting up an exception handler in the first place is not free and never has been free. Decompile a non-trivial example.
If you do not have any code that can throw an exception, then setting up your exception handler is a waste of time.
>Setting up an exception handler in the first place is not free
Do you mean by calling std::set_terminate()?
No, I'm talking about how "exceptions" are actually compiled down into assembly, not some atexit() rip-off.
apparently you know something HFT guys (who measure basically every cycle) don't.
?&t=1147
>They are zero cost if they don't throw
Yeah, no shit, genius. It can be optimized out if the compiler knows it won't throw. Same goes for if-check spam which is the alternative.
If you know it won't throw because it won't raise an exception (which is meant to represent an error), then you also know that there is no need to check for errors the old fashion way.
Anyone who really cares about performance is handwriting assembly and reading Agner Fog's guides if they're using x86-64.
>They are zero cost if they don't throw
that was the claim from the start, moron
So the claim is irrelevant to the discussion that is talking about the performance of throwing exceptions versus handling error values, moron.
I don't want to build huge AAA slops
I want to build smaller and simpler games with all the autistic weeb ideas I have written down
Why the frick would I bother with such a verbose language when Unity, Godot and other actually small dev friendly engines are in C#
Nobody needs Unreal for small projects
>j-just use the unknown smaller engine
Why? There is Godot and Unity for a much smoother coding experience
C++ is less of a "just works" language. You have to learn C, headers, a debugger, and a few quirks of the language. It's definitely not too bad, but you will have to parse 100 line error/warning chains due to the current state of the compilers (the trick for that is to just look at the initial error.) It's as fast as C with -O2 so can be used in low-level domains.
C# "just works" with Visual Studio and has a more complete standard library. There's still a lack of tooling to use it easily outside of Windows, but it's been accomplished.
Personally I prefer C++, but only because I'm interested in low-level domains and speed.
I know Ganker shits on Visual Basic alot, but is it good for anything game-wise? Is it good for anything at all?
No, VB has been dead for years and VB.NET is just a worse version of C# that compiles to the same bytecode.
As for OP's question, either is fine. I would argue modern C# is actually more complicated than C++, because they keep adding new ways to do things without removing the deprecated old ways, but C++ still has many more ways to have a nice day in the foot.
if you want to do "simple game development" don't learn either and go for a nocode engine like gdevelop, or soemething with python like godot, if you go for a programming language you got to go full in and shit's not simple anymore
remember that slow json parsing bug in gta 5? this would never happen in c# because it has fast json serialization by default in standard library
The Call of Duty games are written in C++.
Terraria was written in C#.
Take that for what you will.
c#
in fact c# + python is a better combination
after you realize the bad situation of gamedev and decides to drop out, having knowledge in both these languages still means you will never go jobless
>I already know a bit of both but which one should I go all in on?
Flip a coin because with either you can make "simple" games or more complicated.
Frameworks/libraries:
C++: SDL2 or Raylib
C# : Monogame, XNA, Raylib
Engines:
C++: Unreal, Torque, Crye, and the list goes on.
C# : Godot, Unity, Stride, Unigine, and the list goes on.
I'm kind of in the same boat as you, not being able to make up my mind on this. But I'm going the C++ route simply because of some courses that I'm taking use it. I'm thinking do Pong and Tetris with Raylib and go on to UE5 for a boomer shooter as the older engines or their somewhat faithful updates such as FTEQW or GZDoom are janky.
it is actually baffling to see so many morons wanting to learn sepples for their small indie ideas
unreal is overkill outside billion dollar AAA, sepples is pointlessly overcomplicated
stop falling for falseflaggings baits and just go with c# already
if thou wants to avoid having thy soul tormented in hell through all eternity, thou shall only study the language true to the divine word
Haha look at this idiot. He things thou and thy are formal when in reality they are the informal form of you.
Then he talks about "studying a language" when he doesn't even know his own!
kts
The C++ logo is the mark of the beast, by using it you're pushing the idea every C family language is defined by its relation to C++. That's of course what the committee wants. They hate C and everything it stands for and want it wiped out of existence.
Look up c lang logo. Why can you only find blue, rounded hexagons? Where's the original C, the familiar one from the book cover? The big teal one?
What most people think is "C" is in fact just C++-- (C++ without the ++). C# was given a similar logo because it is an offshoot of C++. But now the same base design has been retroactively added to other languages as well, as if C++ is the one universal lang that everything before and after it is meant to be based off.
Surely Terry himself was such a big fan of C++ he totally wouldn't mind having his own C based language posthumously given the same treatment? Hexagon, 6 sides. What desecration.
C+
also genshin impact
You should grab GameMaker or Unity. So, C# I guess, if you plan on Unity.
You'd only really need C++ if you're using Unreal, which for simple games isn't a great idea, or if you're making your own engine, which for simple games isn't a great idea either unless you want the learning experience.
As an alternative you could use Java and the LWJGL, which is kind of halfway between library and engine.
t. C++ enginedev
>As an alternative you could use Java and the LWJGL, which is kind of halfway between library and engine.
What about something like Raylib? How does that compare to LWJGL or Monogame?
>raylib
Pretty much the same niche as LWJGL.
C# is faster and older.
C++ is slow bloated MS crapware.
Bruh, opposite day is on the second Tuesday of the month.
>C#
Jeets and corporate hell
>C++
Probably legacy code
Stop playing "vidya" incels
C# obviously because it's easier. Programming is a means to an end.
learn neither and take the rustpill