[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/jp/ - Otaku Culture


View post   

File: 318 KB, 779x1224, 1325771232796.png [View same] [iqdb] [saucenao] [google]
8894714 No.8894714 [Reply] [Original]

Does the experienced programmers in /jp/ know about some good game-making tutorials?
(Preferably C(not C++) ones))

>> No.8894761

Nobody?

>> No.8894758

There's a shit load of books.

>> No.8894771

>>8894758
One you recommend?

>> No.8894778

K&R, a book on algorithms, a language-agnostic book on game design, and the documentation from your choice of graphics/sound/input libraries.

>> No.8894805

>>8894778
>K&R
Isn't that for learning C?
I need specific ones.

>> No.8894824

>>8894778
>a book on algorithms, a language-agnostic book on game design
Can't find those...

>> No.8894825
File: 50 KB, 420x475, cormen.jpg [View same] [iqdb] [saucenao] [google]
8894825

>>8894824
>a book on algorithms

>> No.8894832

Have you considered enlightening yourself with the magic of Perl instead?

>> No.8894840
File: 180 KB, 800x600, 6e37e32059178d7e87d47f68c7c3018c.jpg [View same] [iqdb] [saucenao] [google]
8894840

I think SDL can help you. It is mostly used in C++, but as far as I know, it is written in C, so you can use it in that language.

The issue I guess it is that almost all tutorials about it are focused in C++.

>> No.8894848

>>8894825
And the other?

>> No.8894859

>>8894825
>not Knuth

>> No.8894863
File: 13 KB, 300x300, 41233D6XS0L._SL500_AA300_.jpg [View same] [iqdb] [saucenao] [google]
8894863

>>8894848

>> No.8894866
File: 34 KB, 432x288, 1306996535991.jpg [View same] [iqdb] [saucenao] [google]
8894866

Can I ask you a question?

Why are you using C, a non object oriented programming language, to make games, when all proffessional game studios are using C++, an object oriented programming language?

Also, pointers.

Anyway, if I wanted to make a non-professional game, just for fun, I would do it in XNA or Unity, or maybe with the Unreal SDK if I wanted to go a little bit further. Much, much easier than going into that hell of a non object oriented programming language.

Seriously, C is not even used on Windows programming anymore. It's used only in low-level software development.

>> No.8894871

>>8894832
Perl is, from a purely technical perspective, far better than C++.

Perl has closures, C++ doesn't.

Perl let's you manipulate the symbol table at run time, C++ doesn't.

C++ doesn't even have lists as a built-in datatype. I guess that made sense on a PDP-10 with 8k of ram, but these days you'd have to be a masochist to use C++.

>> No.8894867

>>8894863
...It's about game design?

>> No.8894880

I'd love to hear about this too. I bought countless books on programming, one on C#, one on C++, and a few on game design. I never really got into them, but that's probably because I'm not good at focusing.

>> No.8894893

>>8894866
>Seriously, C is not even used on Windows programming anymore. It's used only in low-level software development.
That's right, I also want to mix C with Assembly.

I will learn C# at my university(Still in theory), so I think it would be good to use low-level languages.

>> No.8894921

>>8894893
I'd just study faster if I were you.

>> No.8894925

C is not easy mode. If you want to do games and are not already an experienced programmer then you should start with a friendlier language, like Python.

>> No.8894957

>>8894921
Why is that?

>> No.8894979

>>8894957
You'd get credits and learn.

>> No.8895020

>>8894866
> Why are you using C, a non object oriented programming language, to make games, when all proffessional game studios are using C++, an object oriented programming language?
To say nothing of the advantages or disadvantages of either language, most of the "object-oriented" features used to make games are present (or have analogs) in C. C has objects. They are referred to as such in K&R and I *think* in most of the specifications. An object is usually an instance of a data structure.
typedef struct {
char *name;
int hp;
int str;
int def;
} enemy;
I can now create enemy objects using the "enemy" type. I could make a structure containing enemies to make, say, a boss enemy that inherits traits from a regular enemy. In fact, simple classes in C++ are internally converted to these sort of structures when they are compiled.
Why the industry switched to C++, I am not too sure. C++ was generally seen as the "next big thing" in software, and a lot of companies strongly invested in it. Just as we have "Web 2.0" and "the cloud" now, ideas like "object oriented programming" were really exciting to the industry a couple of decades ago. Even a lot of predominantly C-based software was being "upgraded" to C++. It happened to Windows, it even happened to Linux at one point.

>> No.8895024

>>8895020
> Also, pointers.
Pointers are incredibly useful. They are not a difficult concept, just a bit of an unusual one. You can write software without them, but even "pointer-free" languages use pointers internally. It's not like you can escape the memory model computers use. A language that removes them is adding a pointless restriction, not taking away a bad feature.
> Anyway, if I wanted to make a non-professional game, just for fun, I would do it in XNA or Unity, or maybe with the Unreal SDK if I wanted to go a little bit further.
Agreed, this is what I recommend for most people.
> Seriously, C is not even used on Windows programming anymore.
The Windows API is C. Everything is built on top of that. Microsoft likes to build layers of thin clients rather than fix their mistakes (and the god-awful Windows API definitely was a mistake). If you write just about any software for Windows, it is using C libraries and C APIs (even if you aren't).
> It's used only in low-level software development.
Wrong. It is currently top of the TIOBE index. People want C for everything from embedded development to large scale Web programming. It wasn't even until recently people decided C was a "low-level language".

>> No.8895067

You can write C++ while only using features from C. C++ is (mostly) a superset of C89, so you can use a C++ compiler while learning C and add C++ specific features if you end up wanting them.

>> No.8895963

>>8894866
What's wrong with pointers?

>> No.8897302

>>8895963
It's because I like men ;_;

>> No.8897317

I was writing neat little ncurses programs in C the first day I started learning it. I've never done anything more graphical than that, but it seems like you can do a lot once you understand a few basic concepts.

t. total amateur

>> No.8897357

>>8895963

In C and C++, memory safety.

>> No.8897410

>>8894866

This has already been answered, but - seriously, why do people refer to "objects" as if they're some mythical magic that must be built into the language if you want to use them? It's a method of coding, not a specific feature of a language. A language incapable of object-oriented coding would be, like... BASIC or something. Or mindfuck, if you hate yourself and want to die.

>> No.8897432

>>8894714
>Does the experienced programmers in /jp/ know about some good game-making tutorials?

What do you want to do? If you just want to be able to make a game of any sort, Flash is probably your best bet.

Be a little more specific.

>>8894778
>K&R, a book on algorithms, a language-agnostic book on game design, and the documentation from your choice of graphics/sound/input libraries.

That's not really good advice except for the kind of person who wouldn't need advice in this first place.

>> No.8897442

>C
>Game Creation

Unless you're up for making a Roguelike, just learn C++. It's not that different than C.

>> No.8897450

I've self taught C++ and C# as well as java over the last year I need to apply my learnings to something, I need direction!

>> No.8897457

>>8897410
>mindfuck
Oh god, Nyaruko.

>> No.8897465

>>8897450
Create an artificial intelligence that which i can discuss my problems with.

>> No.8897474

>>8897450
Just make a game in unity or XNA.

>> No.8897472

>>8897465
>artificial intelligence
LISP.

>> No.8897480

>>8897474

Unity because he believes in free software (free as in 'free speech' and not as in 'free beer').

>> No.8897507

>>8897357
It takes knowledge and discipline to use pointers safely. It makes you a better programmer, which is to say, it makes you a programmer instead of a copy-paste machine.

>> No.8897536
File: 352 KB, 400x500, sexy-statue.1202937093064.png [View same] [iqdb] [saucenao] [google]
8897536

>>8897410
Actually, any language that supports a struct-like concept (or even type casting, really) can be made to implement objects, but the code would be muddy to read. OO languages make object manipulation code quick to read. Condensing common operations into brief syntax is a practice borrowed from mathematics that can be very powerful in the hands of someone who understands what is being abbreviated, and very embarrassing to those who don't but carry on as if they did.

>> No.8897566

I use java to write games. Found only 2 books useful. It's been awhile since I last read any game programming tutorials so I might be outdated but hopefully they would be useful for you:

http://www.amazon.com/Java-Programming-Wordware-Graphics-Library/dp/1556229631
The first few chapters are very important. The framework they used to capture and manage input/output is still in my games to date.

http://fivedots.coe.psu.ac.th/~ad/jg/
I read it from cover to cover. Not only it supplement the above book well, there are many advices in this book to help your class design to be fundamentally sound and scale well as you add more mechanisms to your game.

>> No.8898971

>>8897536
> the code would be muddy to read
That depends entirely on the language used. And it's always possible to write a preprocessor which uses a "better" syntax.

>> No.8898979

>>8897566
>I use java to write games.

Gross.

>> No.8899038

>>8897536
>Condensing common operations into brief syntax is a practice borrowed from mathematics that can be very powerful in the hands of someone who understands what is being abbreviated, and very embarrassing to those who don't but carry on as if they did.
Your posts are embarassing to read.

>> No.8899189

derp

>> No.8902037

dicks

>> No.8904212

HEY, THIS THREAD IS STILL HERE.

>>
Name
E-mail
Subject
Comment
Action