Best of C ProgrammingDecember 2024

  1. 1
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    How to make games in C++ from 0 experience!

    Learn how to go from zero C++ experience to creating games with a 3-step framework. Start by learning the basics of the language through free tutorials, slow down and create simple projects to build practical coding skills, and finally make a simple game using libraries like SFML. Avoid getting bogged down by advanced concepts; focus on writing simple, functional code and taking action as soon as possible.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP142: The Fundamental Pillars of Object-Oriented Programming

    Object-oriented programming (OOP) is built on four pillars: abstraction, encapsulation, inheritance, and polymorphism. Abstraction hides the complexity by only showcasing the essential features, encapsulation wraps data and methods in a class with restricted access, inheritance allows new classes to inherit attributes and methods from existing classes to promote code reuse, and polymorphism enables methods to behave differently based on the object they are invoked on.

  3. 3
    Article
    Avatar of dailymemesDaily.Memes·1y

    C

    A professor manages to teach five university classes simultaneously using only vim without syntax highlighting, lacks knowledge of Object-Oriented Programming (OOP), and writes entire programs in a single C file using complex pointer structures.

  4. 4
    Article
    Avatar of hnHacker News·1y

    Bananymous/banan-os: Mirror of banan-os, my hobby operating system

    A hobby operating system, banan-os, written in C++ supports x86_64 and i686 architectures with features such as SMP multiprocessing, ELF executable loading, ARP/ICMP/IP stack, and support for various disk types and network interfaces. The system includes tools for building and compiling, as well as extensive functionality for keyboard, mouse, and USB device support. Instructions for building the OS and toolchain are provided, along with guidance for contributing to the project.

  5. 5
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    Set your 2025 low level game dev goals NOW!

    Setting achievable goals is crucial for personal and professional growth. Reflecting on past successes and failures can guide you in establishing realistic yearly and long-term objectives. Focus on a few significant goals, ensure they are attainable within the year, and create ambitious plans for the future to stay motivated. Writing down and regularly reviewing your goals can significantly enhance your commitment and productivity.

  6. 6
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    Fixing Minecraft's World Gen! (C++ Voxel Engine)

    The post discusses the author's efforts to improve the world generation in Minecraft by using a voxel engine built with C++. The author aims to bring back elements of the old Minecraft world generator, which feels more unpredictable and exciting than current versions. Key techniques include using noise functions to add variety, creating different heights and regions, and avoiding overly realistic biomes. The post also touches on integrating complex structures and other content to truly compete with Minecraft.

  7. 7
    Video
    Avatar of gamefromscratchGamefromscratch·1y

    SDL 3 -- A Decade of Improvements

    SDL, or Simple DirectMedia Layer, is a game development framework crucial for handling various low-level game functionalities like audio, keyboard, mouse, and graphics. SDL 3 is now available, building on a decade of improvements since SDL 2. New features include better GPU handling, more APIs for file systems, storage, and audio, and a stable binary interface. SDL is widely used in popular games and has excellent cross-platform capabilities.

  8. 8
    Article
    Avatar of danielhaxxsedaniel.haxx.se·1y

    A twenty-five years old curl bug

    A record-setting security flaw in curl, identified as CVE-2024-11053, was introduced nearly 25 years ago. Despite rigorous testing and continuous integration efforts, security vulnerabilities persist in the code. The median age for fixing security issues in curl is over seven years. Many of these problems stem from the use of C, though the oldest bug was a logic error unrelated to the programming language. Ensuring software security remains a challenging and ongoing endeavor.

  9. 9
    Article
    Avatar of java_libhuntAwesome Java Newsletter·1y

    Exploring the Use of C++ for Game Development

    For creating video games, having an interesting idea is essential. The choice of programming language significantly affects the game's performance. C++ offers speed and flexibility by allowing direct hardware communication and manual memory management, making it a popular choice among developers. Other languages like JavaScript, Python, Lua, C#, and Java also have their advantages, such as easier learning curves and built-in memory management. Understanding pointers, dynamic memory allocation, and avoiding memory leaks in C++ can result in smoother and faster games.

  10. 10
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    The mistakes keeping you stuck in their Low Level Game Dev Journey!

    This post discusses common mistakes in low-level game development and offers insights on how to avoid getting stuck. It highlights the importance of balancing learning and practicing, and cautions against over-reliance on OOP and premature optimization. The author recommends focusing on challenging projects to facilitate growth and refining code based on practical experience.

  11. 11
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    I made a physics engine in C++ just to make Angry Birds!

    A programmer shares their experience creating a physics engine in C++ with the goal of re-creating the game Angry Birds. They discuss learning basic physics simulations, implementing friction correctly, and the challenges faced such as handling collisions and rotation. Despite difficulties, they achieved a functional physics engine and adapted their game concept using real-time code updates and recording inputs.

  12. 12
    Article
    Avatar of hnHacker News·1y

    WASM-4

    WASM-4 is a minimalist platform for building retro games using WebAssembly. It supports multiple programming languages like AssemblyScript, C/C++, Rust, and Go, and allows for creativity within a 160x160 pixel, 4-color limit. It offers excellent support for both desktop/mobile web and native execution even on low-powered hardware. Additionally, it includes features for fast online multiplayer with rollback netcode and has an active, supportive community.