Author Topic: Programming Megathread  (Read 107638 times)

An assembly encryptor i made a year ago as my finals project.
http://pastebin.com/TcUdQfzd
uses my own implementations of AES and SHA3.

That's some very cool stuff. Difficult to do?

I'm very hesitant to do any rendering-related programming. It seems like a very tough field to get into.

Right now I'm trying to find and consume as many C++ homework tasks/programming challenges as possible. I really want to get good at the logical side of things because I'd like to be working at a AAA studio at some point in the future. It's tough when your college doesn't offer that kind of support and there's no tutors for programming either.

Thanks! It's actually not too difficult. These are the more simpler fractals, which don't really need to use affine transforms.

Right now, I'm using SDL2 for rendering, and C as the language. These programs are just rendering one line at a time using recursion, and using sine and cosine for rotating the lines in the Y-fractal.



If you are relatively new to programming, I recommend you learn about truth tables, as they are very important when making logical statements. Then learn how to apply logic in your if-statements and for/while loops.

Then you may want to know how memory works. Learn about pointers and how they work. Since you're using C++, you wouldnt need to worry about knowing how to allocate & free memory (although it doesnt hurt to learn!). You should also understand the stack & heap.



If you want to skip ahead or already know that stuff, then I'd suggest learning your basic sorting algorithms: Bubble, Insertion, Selection, Merge, and Quick sort.

After that, learn your basic data structures: Stack, Queue, Circular Queue/Buffer, and Linked List (requires pointers). Then you can later try to use your sorting algorithms to sort elements inside the data structures (Linked list would be good to start with sorting).

Now you pretty much know beginner/intermediate programming. If you still want to move forward, then learn your binary tree structures, which are structures with two children: Binary tree, B-tree, AVL tree, BSP tree, etc. (I would just recommend learning the binary tree for now). Then you can advance into trees with even more children: quadtrees (four children) and octrees (eight children). All these trees are used for storing things in memory, and then being able to access/render them in a very fast and efficient way. As an example, game engines like Quake and Source use BSP trees to store object information in their maps, so they can later render them efficiently. Blockland also uses octrees, as stated in this very detailed post by Klarck



Along with all the things I just said, knowing linear algebra and geometry is an essential when programming games: vectors, matrices, quaternions, linear transformations, affine transforms, etc. Linear algebra is used in almost all games (3D and 2D).

If you dont know where to start, you should use Khan Academy to learn linear algebra.



Thats pretty much all I have to say. Im still learning as I go, so I may be wrong in some cases. There is also so much more to be covered, but knowing all of this will already make you very advanced, and a AAA company will want to hire you.

Good luck.
« Last Edit: April 08, 2016, 02:13:22 PM by Honno »

If you are relatively new to programming, I recommend you learn about truth tables, as they are very important when making logical statements. Then learn how to apply logic in your if-statements and for/while loops.

I had to forgetin do these on the programming test to get my job and I was absolutely bewildered why anybody would ever use a truth table.

I had to forgetin do these on the programming test to get my job and I was absolutely bewildered why anybody would ever use a truth table.
well you could say that it's for the same reason we were taught the multiplication table in kindergarten but almost never use it after the age of 12.

well you could say that it's for the same reason we were taught the multiplication table in kindergarten but almost never use it after the age of 12.

Huh? Knowing 8x6 instantly is a useful skill -- one I don't have a great mastery of. I'm still at 8, 16, 24, 32, 40, 48.

Huh? Knowing 8x6 instantly is a useful skill -- one I don't have a great mastery of. I'm still at 8, 16, 24, 32, 40, 48.
its 56

you brothers ever play minecraft??

To be honest I didnt expect this thread to thrive past page one
You guys made one of my dreams come true, making a thread that actually facilitates a good amount of discussion
nice job guys
just checking in.
Anyone have any ideas for me to revise OP ?

Anyone have any ideas for me to revise OP ?
Post the subjects that Honno mentioned; all of the subjects (both in programming and math) that'll make your life easier.

Post the subjects that Honno mentioned; all of the subjects (both in programming and math) that'll make your life easier.
Sure thing! Ill write a draft now for the new section and ill try and see if I can get it onto OP ASAP

EDIT: Instead of adding the text to OP, Ill quote Honno's post and under it Ill put some documents (made using google docs for easy access) Im writing concerning some of the topics Honno mentioned . Ill try and get these done as soon as possible and put them into OP
« Last Edit: April 08, 2016, 11:24:52 PM by Becquerel »

Sure thing! Ill write a draft now for the new section and ill try and see if I can get it onto OP ASAP

EDIT: Instead of adding the text to OP, Ill quote Honno's post and under it Ill put some documents (made using google docs for easy access) Im writing concerning some of the topics Honno mentioned . Ill try and get these done as soon as possible and put them into OP

Do you want me to write the op?

Do you want me to write the op?
To be honest, the OP was kind of rushed since I didnt expect the topic to thrive. Sure thing, you can write the OP if you want, Ill put it up once your done

An assembly encryptor i made a year ago as my finals project.
http://pastebin.com/TcUdQfzd
uses my own implementations of AES and SHA3.
ho ly stuff


why do you even bother with powershell? just use the command prompt
Powershell is a vast improvement over the dos shell. I can't see why more people don't use it