Sunday, the 27th of May at 12:47 PM, 2018
Average Rating: 5 (1 votes) Rate this comic
<< >>
Author Notes:
Hindbodes edit delete
Flatland, ladies and gentlemen.
User comments:
I am sure a lot of people would say that 2D > 3D if you know what I mean ;)

That and in general as well. Plenty of people simply prefer 2D stuff and I also like 2D better overall. There is something that just looks so much better and colorful about sprites for example opposed to generic 3D models. Maybe because of how uninspired 3D stuff is these days...
On the other hand, I cannot say I am that much of a fan when it comes to "retro" 2D which usually means Atari like graphics. Those are just outdated. 8bit or 16bit consoles will always look awesome and developers put a lot of effort into sprites and animation but Atari never looked good in my opinion.

Speaking of dimensions and games: I recently had a discussion with a friend how we sometimes move our head or try to look beyond the screen when playing DOOM :D
Not sure if it ever happened to you with a game. I guess our brains really try to make up for the missing dimension sometimes.

What even is 3D in this sense? Hm. Our vision is already 3D translated to 2D. That is what our eyes and brain do (with scale and perspective). The 3D-worlder here is as much 2D as Mr. Rectangle. Hm.

Fun fact: When you work with robots and vision you actually often try to fake "4D". Very simply put. During a few complicated calculations you add one more dimension. It contributes nothing and later disappears but for a few operations you need it because it damn much helps with matrix and vector operations. Math can be cool and chill like that :>
Good points. I was going for an intermediate geometry reference based on Edwin A. Abbott's Flatland (a mathematician's novel about dimensions) but I suppose that this page quite well encapsulates the old mentality of fifth generation consoles making a sudden and zealous effort to advance to 3D. The cube comes out of nowhere to bother the rectangle, all hoity toity, saying that he's simply better just for how he's got a third 90 degree feature he was born with, and the orange rectangle is confused by his new adversary but simply sticks to his simple, weird charm, with a likable level of obliviousness.
He wasn't going to say anything at first, but then I made him say something, and now he's just about stolen the show and is probably more likeable than a character who not only has a famous memetic 3D game reference in his words, but has four times as many words as well.

Crash Bandicoot was one of the first truly good games to be in 3D, but I was always at-least-subconsciously suspicious of its attribute as so-called "three dimensional". Yes, he exists in three dimensions, but he's always being aligned to some wall or linear pathway, so he very much acts like a little 2D man. Yahtzee pointed this out when reviewing N Sane (with visual aides), which really parsed it out for me. Imagine, if you will: a CD hack of Crash 1 - but you play as Spyro! Can you imagine how much more mobility and camera control you'd get? Talk about Spyro Orange: The Way Better Than Gameboy Conspiracy.

I coulda been an avid player of Playstation, but I didn't grow up on 3D. I still played Crash Bandicoot as a child, but come on: I grew up with FLASH. Flash is predominantly 2D, and that really shaped the way I think about games and inventing games now. My only regret is how I'll never know what my tastes in games would be if I got a non-alienated-brother-tier look at Playstations as well. Although I was super-influenced by Rayman 2 (PC) luckily. Tim hijacked my save so everything that happens in mid and late game was spoiled for me. image I used to have bucketloads of weird dreams about that game.

Nowadays, I have lots of dreams about Crypt Worlds, so I sincerely hope that I never have to choose between 2D existing and 3D existing. I need both to make my dreams come true.

Phoow! I hope a certain game about a green square doesn't look too much like Atari! The writing in it is one of my comedic magnu opi. I Google Imaged Atari graphics and yeah, those games do look pretty nasty.

I bet funny things happen if you cross your eyes until things overlap in Doom. Magic Doom Eye!

I have previously read that human beings see a 2D image as well, and that we use the other part of our brains to infer how far away things are. Another way in which reality becomes illusion. The source I read says that a third visual dimension for us would be information overload.

Flatland goes ahead with explaining the 2D factor of a cube. A. Square goes to Space Land and tells the cube he looks like an irregular hexagon. That's about the point math becomes a shape-genius. Cubes do look like hexagons, while being six sided and being called a hexahedron. The visual aides in the book are good.

It does my head in when I try to comprehend how a computer can visualize and simulate a dimension that we can't... That shit is crazy. Who wrote that thing?

OMG, you said "damn much". I thought I made that intensifier up when I wrote Reaching The Moon.
Yup! Although my first thought was Carl Sagan's explanation of dimensions using Flatland in his Cosmos series.
I watched that stuff a lot as a kid anytime I could and much later caught up with what I missed.

The thing about mathematical fiction is that most of it is already written. There is so much you can find. My bro sometimes buys me similar books from time to time. Last book was about prime numbers or numbers in general and how they might relate to us. It used various numbers to represent thoughts and personalities based on their properties. Sometimes clumsily but really, the best stuff was already written in my opinion.

Disregarding the fact that it is pretty pointless for authors to write that sort of things these days and better relegated to blogs aimed at exactly us.
Which reminds me: Look up Paul Lockhart and read his A Mathematician's Lament. It is not mathematical fiction but the guy gets it. How math should be taught and felt. Much better than those 200+ pages books by whoever I sometimes find in a store, browse a bit and close.
And I just tutor. I do not even want to be a teacher. Although I participate and try to make it better.

Graphics and games needed to evolve and had to start somewhere. That is all good. Although that does not say Atari graphics were any good. In your case you are learning and it is more of a coding experience with graphics and physics.
I already mentioned this some pages back how old games were coded and ya, the guys at Atari had no today's luxury. Just a reference sheet of the console with some important parameters and go ahead. Figure out the rest. If you have an idea then you will make it work somehow. And many did. Pretty much worthwhile Atari game cheats the hardware in any way it can. Not just that. They also had to understand how TVs of that time worked. More specifically, scanlines and math behind them and everything needed to be clocked perfectly. That or just make another game where one square collects another square and gets points.
Again, I am not talking about learning or personal projects and just experiences in growing your skill. I mean the difference between those who could do it and those who could not.

The jump to 3D was necessary from a technological perspective although a lot of it was marketing because oooooh 3D games!! Many could not pull it off so that created that awkward period when many early 3D games just looked and played meh. We perfected it later but nowadays 3D stuff is just generic and 2D mostly left to indie devs. Shame.

Yup. There really is not much of a choice. That is how vision works. What is important is depth perception, scale and our ability to process visual information. Look outside your window. You do not even have to think which objects are near and which are farther away or what is behind something else. Take a picture of your room and give it to a computer. It needs fairly complicated calculations with many parameters explicitly defining what you want from it and how to make a good enough result. It has no idea what a 3D scene is and how far various objects are without being trained. That is why example images often have some clearly visible and standing out objects there to serve as a marker with known properties and based on that computer can learn "where" other objects are on the 2D plane based on their size and maybe lighting.

Haha :D
It is just a very fancy way to explain it :>
All there is to it is that you need one more dimension so that vector and matrix calculations are possible. It is not really 4D the way we talk about it. You can look up transformation matrices and perspective projection matrices if you wish. It is nothing straightforward on its own though...
Kinda related but this is one of my favorite xkcd pages:

I have a program that creates depth maps using two cameras (stereovision) I needed once but it is not in a state for non-personal use. If I get to actually work on it more, I will send you something :D

There are quite a few ways to say a "cube" ;D
One is regular hexahedron, yeah. Or right rhombohedron. LMAO
Rhombus is a word I always find hilarious :D :D
I do not recommend it much though..... ;)
I once tried and asked for 1 Newton of ham as a joke. Yeah.
Oh jeez, there's so much information here and I forgot to reply to it!

I think I'll look for that Mathematician's Lament book. Sounds pretty good to read and useful to society.
All good :)
Just had a bit more to say :D
Stuff I like to talk about the most!
Hindbodes edit delete reply
And now I have actually made a game! I want to create my own 3D C++ simulation next, but... busyness. Still gotta finish that Christmas "shopping" and the Ludum Dare 43.

I feel like updating Filler Putty right now. I'm trying to think of something.
MadJak91 edit delete reply
Not just one game though, haha. Even if you consider one game to be practice towards the next one. It is just harder when you code it yourself (like in LOVE) opposed to something like RPG Maker.

What kind of 3D simulation? Do you have concrete ideas? If it is game related then I would look up Ogre3D. Nothing is going to be easy at first and with 3D graphics you will need to a LOT of learning. I am sure C++ libraries have a lot of work done but still. Suggesting Ogre3D only because it is geared more towards game development and you should learn a lot. In time. It is going to take tons of time and LOVE is going to look like the best thing ever :D
Probably a better choice than jumping into something like OpenGL or Vulcan.

Also... People seem to start with Unity as well and for that I would look up C# and JavaScript instead.
One advantage is that over the years tons of stuff has been already made and should be ready to use for tweaking towards your ends if you look around.
Does not matter though. Try what you have in mind first and you will see :>
Good luck!

Funny because if you in time get into serious 3D programming then many concepts and math are similar to robotics. Pretty much have to consider similar problems with joints, rotations, scale and so on and if I am not mistaken Unity outright works with quaternions and Euler angles for interpolating between rotations.

Blabla. It is going to look VERY overwhelming but here is a good coding advice in general. Smaller tasks. Always practice smaller tasks. Take something simple. Do something with it. Learn about it and analyze it after yourself. Then reuse it in something bigger and so on. Sounds logical? Yup. Do people remind themselves of this? Actually not often, heh :D
Did you see the end of my Zeboid Zen Trevor arc? It's about a comic back.
Yup but I do not think I understood it, haha.

But since you replied to this...

The following is a good resource:

Like, really REALLY good resource. Found that a few days back. I skimmed through a few parts and it is very well written by somebody who seems to code 3D math for games fairly often. Or used to. I honestly could not find a better tutorial for beginner's OpenGL and related topics.

This is basic stuff but it is something that can put you on the right track in time. One word of advice: You never read these in one go thinking you learn immediately. You always do this at your own pace as you learn and try things out. I would also take it more as a reference as you discover things. It is like with programming books. You do not sit down and read them (even though you most certainly can) but you read as you discover.
These things, they take time and skill development and reading anything in one go only makes your head explode and you will never return to it again, haha.
As usual: Small steps.

At the bottom there is a list of equations. I would maybe start there with the theory. Why? Becuase even if you decide not to use the tutorial or you know about an even better one or simply decide this is not to your liking at all, most of that will help you in general understand of the topic. Plenty of that math and concepts are something libraries or tools might do for you but understanding it means you know what you are actually doing and what is it about if you encounter the topics elsewhere. In other 3D applications. Because that is plenty possible.
You can maybe skip the more specific stuff like light physics and quaternions and leave them for later if needed. Vector/matrix operations and rotations... you cannot move without that though.
All the stuff that is not tied directly to OpenGL is okay with me if needed. Cannot help much with OpenGL specifics.

Good luck!