Should I code my games using only C?

Should I code my games using only C?

Attached: You sound like what i imagine autistic pepe would sound _355fef01a1620b352a7e8c3c1f9deabf.jpg (1000x712, 67.63K)

C is a very robust language. Never mind the haters around here. If you aren't lazy with programming, then C is definitely the way to do it. The only complaints people have that are credible are memory management, and as a programmer, you should know how your equipment works before even trying to play with it. Just mind your memory allocation and everything will be fine with C. Don't expect a lot of documentation for C however with game engines and libraries.

Use assembly only, faggot.


lmao

Delete your thread.

Nah user. It's 2018, just use Unity and script it with some Python or if you're feeling hipster, Lua. Just get some gender confused blue hairs on the dev team and you'll be AAA status.

You are going to waste all your time doing bit manipulation and implementing trivial graphics primitives for the engine instead of actually writing the game.

Both Lisp and Forth are dead for the same reason: they give too much freedom. Forth and Lisp are very similar, but also very different. They both give the programmer the ability to extend every part of the language, creating DSLs, and having a consistent non-syntax. The only difference, is that Forth is a low level language, whereas Lisp is the highest level language in existence. The two languages compliment each other, giving you everything you need. The problem with them is, that you need to master the language, understand it, start thinking in it, and become one with it to use it properly. If we only had these two essential languages, programming would really be something for "smart people only". The FORTRAN/Algol branch of languages has become more widespread because they are brain-dead. Pick a random language from that branch, and you'll see that they all have hard coded, "nice-looking" statements for the most common operations. (loops, if then else, etc, all with different syntax). This makes them easier to learn for non-programmers, at the cost of the programmer's freedom and power. Then C and Unix came. Unix was a really simple system. Everything was a file, and it didn't have a versioning file system. It had flaws, many flaws. You can read some of them in the Unix Haters Handbook, but most of them don't apply anymore. So, if C was inferior to Lisp and Forth, and Unix was inferior to Lisp machines, why on earth would they replace them? Because they are simple. Everyone can use them without having to think and learn how to use them. C is a static language. You've got if, while, for, goto, and return. You must use these, and nothing else.

Breaking news (to you), CPUs are simple pieces of computing hardware. C is the perfect match.

Attached: mpv-shot0029.png (1920x1080, 1.04M)

GET OUT!!

Do you want to make a game or an engine? If you just want to make a game then use something like pygame because iteration speed on the game is more important than epic low level engine autism, unless of course your goal the entire time was to make a game for the sake of making it. If so then by all means use C and never finish anything that anyone else will care about.

...

C isn't a perfect match. Write a small but non-trivial function, dump the assembly, then try to hand-optimize it. If you aren't retarded you'll notice that there were a ton of redundant loads of values. This is C's problem with aliasing.
Compilers also can't produce most of the opcodes in a modern processor. You'll find particularly sensitive portions of glibc are written in assembly for this reason.

with very little experience, it's easy to understand how game development can be slowed by 'epic low level engine autism'
you're lacking experiences such as "the game I just made is too slow and it's actually very hard to see how to improve it",
"the game I just made is too slow and people are telling me to use a completely different language/engine to improve on it",
"the game I just made lacks a simple incremental feature... which this engine simply can't support. the only way forward is to throw away most of my work? what fundamental mistake have I made in my life that a small change in behavior requires a huge change in code?"

It started as a joke, but when I hit post, I realized I was chronicling reality

No one gives a shit about performance anymore, user. People accept stutters and bloat and crashes. Minecraft is written in CS Grad meme-tier Java. Civilization 4's super slow turns were due to all the processing being done in python. Part of Subnautica is in Javascript. What matters is getting it done fast to catch the latest trend.

but this is not about making a buck on your game but making a game and I'd expect that Zig Forums anons actually like to code. Guess I was wrong.

You were given sound advice you retarded sperg. Anyways you cannot even code, so why were you asking? You don't even know how to declare a function pointer, isn't that right? Code it in whatever you like, but since you're not too bright, I don't see your game going anywhere.

That's just premature optimization. Nothing to do with C.

I believe in OP. I have to say though for function pointers C++'s std::function is nice.

Only if the platform(s) you're targeting have a C compiler available, but no C++ compiler.

Otherwise, just use C++.

yes