Binary Serialization and Pixel Art in C and OpenGL | Game Engineering -

Binary Serialization and Pixel Art in C and OpenGL | Game Engineering

John Jackson
Views: 19919
Like: 1308
Discussing “Binary Serialization” and demonstrating its use in a small, custom pixel art editor using C and OpenGL.

Be sure to like and subscribe. That way I can continue to make more content like this.


Nuklear UI:



  1. used this video to help me develop a custom 3d model format for old consoles like sega saturn and psx

  2. Damn this is good. What’s your experience in programming or how did you learn all of these? I just graduated and can’t even think a quarter of the ideas given here

  3. I absolutely loved it.That's very cool stuff. An amazing video!

  4. Short and sweet! Thx for posting, it was very educational.

  5. Finally someone that can actually explain this topic in a good manner! Thank you a lot for that.

  6. These videos are excellent. I hope you get the recognition you deserve!

  7. Excellent video. Well explained and super high fidelity! Can't wait to see more.

  8. Not only you're good at coding, you're also great at painting!

  9. Great content. Maybe you could make a cross platform sprite editor from this? 😀

  10. Great video now Cherno wont kill you and your family

  11. What is the font that you use in your code examples (not in the actual text exitor)?

  12. great stuff, i bet you could easily use this format to make a timelapse of the art you created – instead of playing back all of the actions instantly to create the final product, you could play them back with a delay and watch the art get created.

  13. Another channel that should have more subscribers

  14. Should the undo-redo execute the redo action when you create a new state, or should it just store it while you execute the action? In godot engine it executes it, but in the map editor I'm making I decided not to do that because I didn't quite figure out how to merge undo-redos when painting tiles (which works much like a paint brush in a drawing app). But I'm a bit fearful of adding undo-redo's all over the place and then running into problems that'll force me to change things drastically…

  15. Maybe you can help me with something else here: I've been through several attempts at doing map editors, and every time I tend to think of the drawing tools as classes in themselves, but this always seems to lead me to roadblocks, where I can't quite make sense of how they work with the rest of the code. The only time I successfully did this kind of thing I did it much simpler. It was in a Game Of Life with some drawing tools (brush, line, circle, fill..) that I made for the TIC-80, and on that one the tools are actually just kind of conceptual: it's just a bunch of loose functions that work with the same base drawing code and data-structures, but use it through a different process. The thing is, I've always thought that doing it like that was just a quick&dirty way of keeping my code below the limit token count of the TIC-80, but now I'm starting to think I'm actually trying to over-engineer my other attempts at this, and maybe tools don't have to be anything complicated…

  16. This is beautiful. But i still don't understand how to write serialisation in c++ , and i found no good tutorials in yuutubbb…

  17. hi i am overwelmed by the options. what do you advice to a beginner who wants to learn graphics in c

  18. What purpose serves the do while loop when you define a generic function? I can only imagine it's there so everything in the macro expands in it's own scope, but for this isn't just { } enough?

    Amazing video and painting skills btw

  19. I just wanna say that this is a gem of a video and that I am thankful for the YouTube algo for leading me here

  20. I think that this series has the potential to get you to 100k subs subs very fast, the level of quality is really outstanding.

  21. Glad to be recommended such a quality channel

  22. The motion graphics are very pleasant to look at, the code snippets are neat and easily readable, and the explanation clear, consise, and informative. Phenomenal job.

  23. It looks so professional, aesthetic and quite informative in a concise way! Falling in love with your style of teaching 😍😍😍

  24. just watched this and fell in love with your channel! So excited to binge the rest of your vids

  25. This is amazing!! What software do you use for the graphics?? (Like, the infographics you’re using to explain the concepts). Amazing video by the way! I hope to see many more!

  26. You are so… gosh darn wonderful. Thank you for the awesome content.

  27. Yo, awesome vid!
    Few pointers tho…
    int8_t = -127 to 127
    uint8_t = 0 to 255.

  28. Bro! This is such high quality stuff. Keep doing what your doing

  29. Thanks for making this video. Very entertaining to watch. Keep going.

  30. How can I bind this buffer with Python to load the images from much faster?

  31. interesante stuff to exeplain are the nbt/fakestream/tar/xz format…

  32. This series seems like it’s dead, but it’s really good and I would love if it got continued!!!

  33. Hello! I've been quite attached to these videos since the Noita-esque sandbox :D. Around 2:44, shouldn't the size of the read data also factor in num_comps (i.e. width*height*num_comps*sizeof(color))? Maybe I didn't interpret correctly the meaning of num_comps.

  34. "This particular scenario shares something in common with most applications we all use on a daily basis"




  35. wait a minute… can i use the pixels buffer in tilemaps? it would be cool lol

Leave a Reply

Your email address will not be published.