Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Where should I start Game Dev now?

Name: Anonymous 2014-03-07 18:43

So, I have CS degree, MMO dev experience in a native language (think WoW and its scripting language (LUA?), except standalone,) and a lot of 2D games developed in C# XNA.

I want to move to C++ but I'm not sure where to start. At the moment I'm looking at GameDev.net.

Name: Anonymous 2014-03-07 18:44

1. Brush off your algebra
2. Read the red book, maybe with a tutorial by the side

Name: Anonymous 2014-03-07 18:52

>the red book
Is that the "OpenGL Programming Guide?"
I want to do graphics programming at one point, so I'm sticking it on my list.

Where should I start if I want a little bit of a headstart?
Are there any libraries of a level in between say.. DirectX/OpenGL and XNA?

Name: Anonymous 2014-03-07 18:56

buy the ``Gender Theory in Games'' and ``OpenGL without Math for Beginners''

are you the underaged MtF from /lgbt/?


Are there any libraries of a level in between say.. DirectX/OpenGL and XNA?
SDL 2
It can be used for 3d games too

Name: Anonymous 2014-03-07 18:57

Well... If you're gonna use 3D graphics you can't really go very far from the meat and potatoes. I know GLUT abstracts OpenGL if you don't mind using Java, it has primitives to drawing solids already.

I've never used XNA or other frameworks. You probably should think about the complex problem you want to solve instead of focusing on the technology/language.

If you just want to learn C++ there are more interesting things to make than games.

Name: Anonymous 2014-03-07 19:01

>>5
Actually GLUT has binding to C and Ada, nevermind the Java part I was thinking of JOGL.

Name: Anonymous 2014-03-07 19:19

>"Gender Theory in Games" and "OpenGL without Math for Beginners"
These aren't coming up on either Google or Amazon.
>MtF from /lgbt/
Nope. This is my first time bringing this up on 4chan.
>SDL 2
This looks pretty good.. And a lot of games I like have used it.
I'm going to check it out. Thanks.

>never used XNA
XNA was a user-friendly library and DirectX wrapper for Newbies to get started in Xbox Live/Arcade.
It gave you the game loop framework for updates and drawing as well as fairly complete, minimal-requirement systems for drawing 2D and 3D objects.
It's no longer supported my Microsoft.
>just want to learn C++
I'm trying to get a little deeper and a little more control in game development.
My degree's core was C++ and so were many of my electives. It's just that the gave dev experience I have is pretty limited to XNA.
>Think about the problems you want to solve
That's a good point...
I'll check out GLUT, too.

Name: Anonymous 2014-03-07 19:44

>>7
learn C, SDL uses C anyway
C is also cleaner

Name: Anonymous 2014-03-07 20:00

is this your first time on /anus//prog/?

Name: Anonymous 2014-03-07 21:22

>>8
OOP in C? That will be interesting...
I just looked at a few stackoverflow pages on OOP in C.
I'm not sure how it's cleaner when you have to do a lot of function pointers to recreate constructors and polymorphism.
The optimizer for C++ is very good.
Why sacrifice C++'s inbuilt OOD in order to use C?
(This is an honest question; I'm not arguing against it.)

>>9
>is this your first time on /prog/?
Yes. Yes, it is.

Name: Anonymous 2014-03-07 21:34

Name: Anonymous 2014-03-07 21:51

If you want to learn C++ read:
+ TC++PL
+ C++ Concurrency in Action
+ ISO/IEC 14882

In that order. Do not read anything else till you have finished those. Certainly do not read blogs or forums, certainly do not ask questions online, 90% of what your read and the answers you get will be wrong.

If you don't know how to organize large programs of many characters of text and systems of thousands of run-time objects towards the purposes of an interactive simulation, I recommend you download Pharo Smalltalk and open up the browser and study closely the design of Morphic.

If you like this sort of thing you can study it's predecessor the alternate reality kit:

http://www.open-video.org/details.php?videoid=8050

Name: 12 2014-03-07 21:58

Who am I? A friendly Lisp wizard

Name: Anonymous 2014-03-08 1:32

>>11
>>13
>Lisp
I did some scheme in my Programming Languages class and enjoyed it a lot.
Though I'm not sure what it can teach me about game dev.

>>12
In my compiler construction class (toy lang to MIPs assembly via C++, Flex and Bison) my professor told us we should read the entire C++ standard.
I'm a little iffy on doing it...
I'd like to become a C++ expert, but all that study takes a lot of time; I'm running low on time now that I'm out of college.

Do you actually find time to study that extensively with a 9-5 job?
(Thanks for the other links. I'm checking out the Smalltalk and AR kit)

Name: Anonymous 2014-03-08 1:42

>>14
>Though I'm not sure what it can teach me about game dev.
You haven't read Land of Lisp

Name: Anonymous 2014-03-08 5:23

>>15
>le pedophile sage

Name: Anonymous 2014-03-08 6:08

>>10                                               `
>OOP
>C++

select one

In C you have objects (structs). To use a method (action on object) you just pass a pointer to struct into the ``method'' like:

awesomeDB *db = awesomeDB_open ("filepath");
awesomeDB_add (db, "key", "value");


you can also make things like in C++ you call virtual methods (or something)

awesomeDB *db = awesomeDB_open ("filepath");
db->add ("key", "value");


All these with a clean, fast and simple implemetation
The two best FPS games are written in C (Return to castle Wolfenstein and Wolfenstein: enemy territory)

Finaly, what people call as OOP is not real OOP. As Alan Kay said, OOP is not about objects and classes but about messages, if you want real OOP try a language like Erlang

Name: Anonymous 2014-03-08 6:16

newfags can't BBcode!

Name: Anonymous 2014-03-08 6:21

>>17
It is not about the OOP, it is just that using C++ will be more helpful for devs than C in game programming. Most experienced C programmers write closer to OOP each time, just like the example you have given. C++ makes it easier, you dont have to use templates or pedophile stuff, just use oop basics in c++, it is enough.

Name: Anonymous 2014-03-08 6:29

>>19
no everything you say is wrong, leave me alone ;__________________________________;

Name: Anonymous 2014-03-08 12:20

>>17
If OOP is about messages, then CLOS isn't OOP? I've always suspected that it's too good to be clamped into the same boat with the Javashit. What do you call CLOS's paradigm, then? MetaOOP? SuperOOP? HyperOOP?

Name: Anonymous 2014-03-08 12:40

>>21
Its just called POOP.

Name: Anonymous 2014-03-08 15:40

>>22
>le pedophile sage

Name: Anonymous 2014-03-08 15:40

>>23


    data:text/html;charset=GB18030;base64,PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PHRpdGxlPnNob3VsZCBpIHVzZSBzYWdlPzwvdGl0bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmZ1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKGkpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKS5jaGVja2VkfWFsZXJ0KGMoJ3ExJyl8fGMoJ3EyJyl8fGMoJ3EzJyl8fGMoJ3E0Jyl8fGMoJ3E1Jyl8fGMoJ3E2Jyl8fGMoJ3E3Jyk/J3llcyc6J25vJyk7cmV0dXJuIGZhbHNlfTwvc2NyaXB0PjwvaGVhZD48Ym9keT48Zm9ybSBpZD0icXVlc3Rpb25zIiBvbnN1Ym1pdD0iYSgpIj48b2w+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InExIiBjaGVja2VkPSJjaGVja2VkIj4gbXkgcG9zdCBpcyBzcGFtLjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InEyIiBjaGVja2VkPSJjaGVja2VkIj4gbXkgcG9zdCBpcyBhYm91dCBzb21ldGhpbmcgbWVudGlvbmVkIGluIHNvbWUgb3RoZXIgcG9zdCBpbiB0aGUgdGhyZWFkLjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InEzIiBjaGVja2VkPSJjaGVja2VkIj4gbXkgcG9zdCBjb250YWlucyBhdCBsZWFzdCBvbmUgbWVtZSBmcm9tIC9iLywgL2cvLCAvbG91bmdlLCBvciAvcHIvLjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InE0IiBjaGVja2VkPSJjaGVja2VkIj4gaSBhbSBwb3N0aW5nIHdpdGggYSBuYW1lLjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InE1IiBjaGVja2VkPSJjaGVja2VkIj4gaSBhbSBwb3N0aW5nIHdpdGggYSB0cmlwY29kZS48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJxNiIgY2hlY2tlZD0iY2hlY2tlZCI+IHRoZSB0aHJlYWQgaXMgb2ZmIHRoZSBmcm9udCBwYWdlIGFuZCBoYXMgbm90IGJlZW4gYnVtcGVkIGluIG92ZXIgYSBtb250aC48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJxNyIgY2hlY2tlZD0iY2hlY2tlZCI+IGkgaGF2ZSB2aXNpdGVkIC9iLywgL2cvLCAvbG91bmdlLywgb3IgL3ByLyBpbiB0aGUgbGFzdCBtb250aC48L2xpPjwvb2w+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9InNob3VsZCBpIHVzZSBzYWdlPyI+PC9wPjwvZm9ybT48L2JvZHk+PC9odG1sPgo=

Name: Anonymous 2014-03-08 16:02

>>24
>le pedophile sage

Name: Anonymous 2014-03-08 22:36

>>25
>le sageophile ped

Name: Anonymous 2014-03-09 14:34

>>4
buy the ``Gender Theory in Games'' and ``OpenGL without Math for Beginners''
I was astonished finding that these are real books!

Name: Anonymous 2014-03-09 15:13

As a feminist gamer who has an interest in game theory and design, I have long been interested in using ideas and information gathered from that body of work to explore the games we play, and to inform our theory, design and play practice.

If men and women, have significantly differing patterns of talking and if roleplaying is an activity based in conversation, what does that mean for our games? If the mechanics of the game serve to inform, direct, control or contain the conversation of the game, how do they influence the experience of the people playing it? Through this lens, are some games generally more accessible to women than others? More enjoyable? More equal?

Could a gender-minded design practice invite greater participation of women in gaming? Could it create a greater multiplicity of available experience and practice, and what would this do to our play? Could it serve as an agenda in specialized games that aim to create a cross-gender play experience or to fulfill a feminist design goal?

Name: Anonymous 2014-03-09 15:15

>>4
CG needs math. This is a universal truth. So, because this book tries to do everything without math, imagine how bland the CG explanations turn out to be! Specially since many (most?) OpenGL commands are math-related. Actually, how you use the API and the programmable pipeline depends on the "mathematical state" of the "OpenGL machine" (if you let me call it like that). Even when the authors are explaining OpenGL commands that are more graphics-related, they fail miserably because their explanation is way too soft in theory to be useful.

Safe for the most basic concepts, I simply can't see anyone learning anything from this book. The authors make sure you can run a lot of code a lot of times. So yes, you see results quickly, that is true. But those are results you don't understand. You may end with some intuition of what a particular OpenGL function does, and you might be pumped because you have seen a lot of action without having to really put you mind into it. But I can bet that in the end no reader could put up a decent program using what the book has "taught" her. Many a friend has tried to begin CG with this book and have failed exactly for this reason. My advice is to stay away from it unless you already have a pretty decent background on CG. But if you do, why not get the Red Book instead?

Name: Anonymous 2014-03-09 20:39

>>14
If your job is to be a C++ programmer then unless you're irresponsible or incompetent you should have the standard memorized front to back, and be able to cite it like the bible.

If you are not able to do this, please use the standard as reference till you can, and yes read it every night.

Name: Anonymous 2014-03-10 5:55

>>10
Who said anything about all this sepples shite you're spouting?

>>14
>I'd like to become a C++ expert
It's not going to happen. By this point, most of the C++ committee members have no idea about whatever ~70% portion of the language they have never touched; and it's only destined to get even more complex.

>>17
You forgot to pass db to db->add -- how is add going to get access to state otherwise? Anyway, this forced class-based method-oriented bullshit thinking is disgusting.

>The two best FPS games are written in C (Return to castle Wolfenstein and Wolfenstein: enemy territory)
You mean Quake 3.

Name: Anonymous 2014-03-10 6:12

>>31
You forgot to pass db to db->add -- how is add going to get access to state otherwise?
it may compile the functions and make them act on db at runtime or some shit

You mean Quake 3.
Prince of persia 1, Quake 3, RTCW, W:ET, gnu chess

Name: Anonymous 2014-03-10 17:39

>>26
>le pedophile sage

Name: Anonymous 2014-03-10 17:40

>>30
The C++ standard is less like the bible and more like an tome of unspeakable horrors, TBH, and I'm pretty sure citing it will unchristen the ground you stand on.

Name: Anonymous 2014-03-10 19:15

>>8
>>17
>Use C because X uses C
Please. You wont impress ladies with you C knowledge, even less your employers. Know which language to use when.

C is mainly used for libraries who need to work on a wide range of devices. If a piece of hardware does not have a C compiler then it is irrelevant to what you are trying to do. And it is also used if you want the ability of having bindings to a wide range of different programming languages for your library. That is why SDL, GLFW, ect... are programmed in C. But you should not C on top of it

If you can, prefer C++ over C, (unless you want to achieve the above). Because:
1. If you have a decent C++ compiler it's almost as fast as C to the point where it is negligible.
2. As your project becomes larger it will become harder to manage and debug. Especially for inexperienced programmers.
3. It's much faster in development speed.

In the end you write code for humans to understand, not for your PC(it's your compilers job to translate). You just have to find to right balance between layers of abstraction(speed of development) and speed at which it runs. For games who need high performance C++ is the best choice.

Now here is where OP is confused.

If you want to _MAKE_ games you should learn Unity or UDK. Making engines is just for collage students and million dollar companies. It's cheaper, faster and a whole lot better in every way to just buy a license for 3rd party engine. You can make games with little to no programming knowledge needed.

If you want to _LEARN_ how games work then you should indeed learn C++. Since you say you already know C# the switch wont be that hard. Learn the language and then i suggest you read these books:
The c++ standard library, a tutorial and reference (978-0201379266)
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (978-0321113580)

Start with this, if you're still interested come back and start learning OpenGL and Direct3D.

Also, yes you are going to need math. Especially when you're going to get into writing Shaders. Vector math should become as easy as 1+1=2 to you. If it is not, visit KhanAcademy.

Name: Anonymous 2014-03-10 19:31

>>35
fuck, it's late. Forgive my shitty grammar and sentence structure.

Name: Anonymous 2014-03-11 0:23

>>10
why would you use OOP ????

Name: Anonymous 2014-03-11 3:56

I've been in an applied comp sci (IE: technical programming) for the past 2 years, but I realize I want to design and create good games; not necessary "build" them. I don't mind getting my hands dirty with code (have some experience with C++), but my main objective is definitely to create good games. I am even artistic and wish to implement my artistic visions into my games.

Have I been taking the wrong approach? Have I been wasting my time with this pure low level programming?

Name: Anonymous 2014-03-11 3:59

>>38
Also, perhaps I should add that while I am very interested in desktop games, my main interest at the moment is in mobile gaming. I don't really know what frameworks or dev environments are involved in that

Name: Anonymous 2014-03-11 4:41

>>38
Most certainly.

If you want to make games and make games only (and aren't so interested in (pushing) the technology behind them) then you should just make games with Unity or Unreal or whatever.

I can't see why you wouldn't do this.

Name: Anonymous 2014-03-11 13:22

>>40
Hmm. But the problem is that there are no straight up education programs or credentials I know of that are solely for teaching you how to create/design games. So I don't know what else to do other than comp sci or programming

Name: Anonymous 2014-03-11 23:08

>>41
Well, you should do Computer Science at school. You might also want to take some multimedia or design or whatever classes.

You should also get some experience working in teams e.g. modding or OS games or something.

But once you finish with school, if all you want to do is make games, your best choice is to learn the middleware and make games with it.

If you're an engine programmer, you're an engine programmer. You won't be involved in the design process at all other than to say ``that can't be done in x months''.

Very few games are made without middleware these days, and your role as a programmer on such teams is pushing the boundaries in some very narrow sense.

I for example find the latter work very rewarding, but if you want to be involved in game design, you simply won't be in today's world as an engine programmer working at a very low level.

Name: Anonymous 2014-03-12 0:28

>>42
or you can just take directx and write something from scratch, like they did in 90ies

Name: Anonymous 2014-03-12 0:53

>>43
If you do that, most of your work won't be designing a game, it will be implementing a slow, bug-ridden implementation of 1/100th of Unity3D.

It will impress employers, but for an engine programming role, not a game design or scripting role.

Name: Anonymous 2014-03-12 21:33

>>42
god dammit i need to rethink my life

Name: Anonymous 2014-03-16 13:00

Name: Anonymous 2014-03-16 15:49

Programmers use C++ in this industry because of its better-than-C-abstractions and its performance, which is on par with C. The truth is that most decent and above-average C++ developers don't like it, but it's currently the best choice they have. (Although, Rust may change that.)

The typical OO approach is best suited for the certain IO parts of your game. Those implementations should be short and straight forward because it hides away the details of whatever platform.

The core logic (and majority) of your game should aspire towards goals similar to FP. You can disregard this if you're an exceptional memory savant. (Hint: You're not.)

Creating large maintainable systems is done by breaking ideas down into deterministic, simple (referential transparency), and composable parts. C++ and many libraries, such as stl and boost, help you with tools. In the end, it's for you to know how and where to cross-over whatever FP ideas into C++ land.
Reading over other people's code and writing throw away code can help you with insight.

Name: Anonymous 2014-03-16 18:16

>>44

But Unity3D itself is an overkill engine for small budget games and also it kills all the performance with its entity-component oo model. I see no harm of developing a small engine for a small team with an average game project. The team and the engine shall expand in time if you are successful.

Encouraging unity3d and its variances just kill the industry, making everything very fast doesn't imply quality, it is just fabrication.

Name: Anonymous 2014-03-16 20:22

>>48
>>44
What technologies are typically used in the small studio/indie scene nowadays? Do they develop their own in house engines a lot?

Name: Anonymous 2014-03-16 20:30

>>47
Terrible advice.

>>48
PRFFT.

Name: Anonymous 2014-03-16 20:47

>>50
Enlighten me?

Name: Anonymous 2014-03-18 4:14

What about D or F# ?

Name: Anonymous 2014-03-18 4:46

>>52
F# with something like XNA would have been fun. Did MS ever replace XNA with something?

Name: Anonymous 2014-03-19 14:36

>>53
I don't recall any - but I'm sure MS can still claim that things have worked out in their interests: instead of subjecting a small team working on a hobby to a withering stack-ranking, why not instead get other companies to work on your ecosystem - and simultaneously hitch up an upgrade in impression from hobbyist-grade to startup-grade Quality?

Name: Anonymous 2014-03-20 13:15

>>35
Shalom!

Name: Anonymous 2014-03-20 18:30

>>54
I'm sure you're referring to something, but I'm not quite sure what.

Could you please be clearer?

Name: Anonymous 2014-03-23 12:42

>>50
>>51
It's been a week and no response.

Name: Anonymous 2014-03-26 15:42

>>35
If a piece of hardware does not have a C compiler then it is irrelevant to what you are trying to do.
A human brain doesn't have C compiler, yet it is the fastest device used for image processing.

Name: Anonymous 2014-03-26 16:07

If you want to _MAKE_ games you should learn Unity or UDK
If you want to _LEARN_ how games work then you should indeed learn C++.
Good goy

Don't change these.
Name: Email:
Entire Thread Thread List