Convert Figma logo to code with AI

cxong logocdogs-sdl

Classic overhead run-and-gun game

1,014
139
1,014
129

Top Related Projects

17,894

DOOM Open Source Release

3,465

Doom 3 GPL source release

16,139

Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.

Quick Overview

Error generating quick overview

Competitor Comparisons

17,894

DOOM Open Source Release

Pros of DOOM

  • Iconic and groundbreaking 3D first-person shooter game
  • Highly optimized and efficient rendering engine for its time
  • Extensive modding community and long-lasting legacy

Cons of DOOM

  • Older codebase with less modern programming practices
  • Limited platform support compared to C-Dogs SDL
  • Less active development and maintenance

Code Comparison

DOOM (game loop):

void D_DoomLoop (void)
{
    if (demoplayback)
    {
        G_DoPlayDemo ();
        D_AdvanceDemo ();
        return;
    }
    
    TryRunTics ();
}

C-Dogs SDL (game loop):

int main(int argc, char *argv[])
{
    GameLoopData gData = GameLoopDataNew(argc, argv);
    GameLoop(&gData);
    GameLoopDataTerminate(&gData);
    return EXIT_SUCCESS;
}

Both repositories showcase game loop implementations, but C-Dogs SDL uses a more modern, structured approach with separate initialization and termination functions. DOOM's code is more tightly coupled and reflects older programming styles.

3,465

Doom 3 GPL source release

Pros of DOOM-3

  • More advanced 3D graphics engine with dynamic lighting and shadows
  • Larger and more active community, potentially leading to more resources and support
  • Historically significant codebase with industry-wide influence

Cons of DOOM-3

  • More complex codebase, potentially harder to understand and modify
  • Heavier system requirements due to advanced graphics
  • Less suitable for casual or retro-style gaming experiences

Code Comparison

DOOM-3 (C++):

void idRenderWorldLocal::AddLightToScene(const renderLight_t* light) {
    // Complex light rendering logic
    // ...
}

C-Dogs SDL (C):

void DrawWallsAndThings(void)
{
    // Simpler 2D rendering approach
    // ...
}

Summary

DOOM-3 offers a more advanced 3D engine with modern graphics techniques, while C-Dogs SDL provides a simpler, retro-style 2D gaming experience. DOOM-3's codebase is more complex and resource-intensive, whereas C-Dogs SDL is lighter and potentially easier to modify. The choice between them depends on the desired game style, target platform, and development complexity.

16,139

Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.

Pros of OpenRA

  • Larger community and more active development
  • Supports multiple classic RTS games (Command & Conquer, Red Alert, Dune 2000)
  • More extensive modding capabilities and map editor

Cons of OpenRA

  • Higher system requirements due to more complex graphics and gameplay
  • Steeper learning curve for new contributors
  • Larger codebase, potentially more challenging to navigate

Code Comparison

OpenRA (C#):

public class World : IDisposable
{
    public readonly ActorMap ActorMap;
    public readonly WorldRenderer WorldRenderer;
    public readonly Selection Selection;
}

C-Dogs SDL (C):

typedef struct
{
    Map map;
    CArray actors;
    CArray objs;
    CArray pickups;
    CArray mobileObjs;
} World;

OpenRA uses a more object-oriented approach with C#, while C-Dogs SDL employs a simpler C structure. OpenRA's codebase is generally more complex and feature-rich, reflecting its broader scope and more advanced gameplay mechanics. C-Dogs SDL's code is more straightforward, focusing on essential game elements for a simpler, action-oriented game.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

C-Dogs SDL

Build Status Build Status (Windows) Github All Releases Release Custom campaigns #CDogsSDL on Mastodon

Introduction

C-Dogs SDL is a classic overhead run-and-gun game, supporting up to 4 players in co-op and deathmatch modes. Customize your player, choose from many weapons, and blast, slide and slash your way through over 100 user-created campaigns. Have fun!

Releases and release notes

For more information about the original C-Dogs read original\_readme.txt.

What is C-Dogs SDL

Walk cycle

C-Dogs is a freeware DOS game made between 1997-2001 by Ronny Wester, who's also known for making Cyberdogs (1994). Although relatively obscure, it was one of the more well-known games of its kind, and built a small following with many fans creating custom campaigns for it. Players loved it for its simple yet addictive gameplay and wicked explosions.

Player running around with knife

The story would have ended there had Ronny not been awesome enough to release the source code in 2002. There it was picked up by Jeremy Chin and Lucas Martin-King, who ported the game to SDL and made it available for modern PCs. A few other ports came and went, for systems as varied as BeOS and Wii.

These days the project is maintained by Cong Xu, who along with a few other contributors, have been making the game even better while staying true to the original game's vision. 4-player multiplayer, co-op AI, moddability and new campaigns/maps are just some of the enhancements available.

So what are you waiting for? Download C-Dogs SDL today and have a blast!

Platforms

Packaging status

C-Dogs SDL runs on Windows, Linux and macOS. Other platforms and ports are also available, but may be outdated.

Installation

The easiest way is to download from itch.io. If you use the itch.io app, your game installation will be updated automatically.

For building on your platform, follow the getting started wiki. You will need the SDL2 development libraries installed.

License

tl;dr: GPLv2 for code, CC0/CC-BY/CC-BY-SA for assets. Significant amounts of BSD 2-clause code.

Code is licensed under GPL version 2, with significant portions under BSD 2-clause. The code is free software; you can use, modify and redistribute for any purpose, as long as you follow the GPL and BSD licenses!

Data is licensed under various free terms, including CC0, CC-BY and CC-BY-SA. The original C-Dogs data is also under CC-BY. New data is licensed as CC0 if not specified. You are free to use, modify and redistribute these for any purpose, as long as you follow their licenses.

Contact

If you have any questions, comments, bug reports, patches or anything else related to C-Dogs SDL: