Skip to content
This repository has been archived by the owner on Dec 31, 2017. It is now read-only.

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
Original game sources updated to support latest DGLE version 2:0.3.5 and above.
Minor known issues fixed and few improvements added.
  • Loading branch information
megaDRONe86 committed Oct 14, 2014
0 parents commit fafba05
Show file tree
Hide file tree
Showing 82 changed files with 2,485 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Windows binaries
*.dll
*.exe

# DGLE
log.txt
dgle/

# Visual Studio
*.suo
*.user
*.sln.docstates
[Dd]ebug/
[Rr]elease/
*.ilk
*.lib
*.exp
*.pdb
ipch/
*.aps
*.sdf
*.opensdf

# Windows
Desktop.ini
Thumbs.db

# MacOS X
*.DS_Store

# Linux
.directory
621 changes: 621 additions & 0 deletions License.txt

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions ReadMe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Club N69

### About

Club N69 - old school style FPS game parody on "Duke Nukem 3D" and "Wolfenstein 3D".
Game was inspired by disappointment of recently released "Duke Nukem Forever", when I was thinking how could "Duke Nukem 3D" look like if it was developed by "id Software" in 1992.

Winner of [Independent Games Developers Contest](http://igdc.ru) number 69.

This game was mentioned as one of the most remarkable indie games in Russia of August 2011 by "Igromania" game magazine. Also it was published on DVD coming along with printed magazine.

Game uses [DGLE](http://dglengine.org) engine and is a good example of using its low level API in old school procedural style.

You can learn more about this game and download compiled binaries on its [page](http://dronprogs.org#project-club69).

### License

Source code of this game is distributed under the [GNU GPL license](https://en.wikipedia.org/wiki/GNU_General_Public_License).

Note that this game uses graphics and sounds from games by "id Software" and "3D Realms" and music theme by "Abakus".

### Building

Originally game was developed using Microsoft Visual Studio 2010 and compiles only for Windows.
But it should be easy to recompile it under any platform supported by the engine almost without any changes.

To build the game you must proceed to these steps:
* You need to get DGLE binaries and C++ headers from the [official website](http://dglengine.org) or compile latest version from the [sources](https://github.com/DGLE-HQ/DGLE).
* You need to put compiled "DGLE.dll" into ".\bin\" folder and "Mad.dll" into ".\bin\plugins\" folder.
* Put "DGLE.h" and "DGLE_Types.h" headers into ".\dgle\" folder.
* Locate provided project file for Microsoft Visual Studio 2010 in ".\source\" folder.

Note that path to game resources is set to run Debug configuration from IDE (typically pressing F5 key) and Release configuration directly by executing compiled ".\bin\ClubN69.exe" file.

## Programming and Idea

Andrey Korotkov aka DRON

## Contacts

See some other games on my homepage [dronprogs.org](http://dronprogs.org).

Feel free to [mail me](mailto:[email protected]) with any questions and suggestions.
1 change: 1 addition & 0 deletions bin/Put DGLE binaries here!
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file is needed to commit empty folder.
Binary file added bin/data/bg.tga
Binary file not shown.
Binary file added bin/data/bg_ending.tga
Binary file not shown.
Binary file added bin/data/blood.tga
Binary file not shown.
Binary file added bin/data/ceiling_0.tga
Binary file not shown.
Binary file added bin/data/ceiling_1.tga
Binary file not shown.
Binary file added bin/data/demon.tga
Binary file not shown.
Binary file added bin/data/demon_die.wav
Binary file not shown.
Binary file added bin/data/demon_pain.wav
Binary file not shown.
Binary file added bin/data/demon_shoot.wav
Binary file not shown.
Binary file added bin/data/ending.wav
Binary file not shown.
Binary file added bin/data/floor_0.tga
Binary file not shown.
Binary file added bin/data/floor_1.tga
Binary file not shown.
Binary file added bin/data/font.dft
Binary file not shown.
Binary file added bin/data/hud.tga
Binary file not shown.
Binary file added bin/data/kill_0.wav
Binary file not shown.
Binary file added bin/data/kill_1.wav
Binary file not shown.
Binary file added bin/data/kill_2.wav
Binary file not shown.
Binary file added bin/data/kill_3.wav
Binary file not shown.
Binary file added bin/data/kill_4.wav
Binary file not shown.
Binary file added bin/data/kill_5.wav
Binary file not shown.
Binary file added bin/data/kill_6.wav
Binary file not shown.
Binary file added bin/data/kill_7.wav
Binary file not shown.
Binary file added bin/data/level_0.wav
Binary file not shown.
Binary file added bin/data/level_1.wav
Binary file not shown.
Binary file added bin/data/level_2.wav
Binary file not shown.
Binary file added bin/data/medkit.tga
Binary file not shown.
Binary file added bin/data/medkit.wav
Binary file not shown.
Binary file added bin/data/music.mp3
Binary file not shown.
Binary file added bin/data/pain.wav
Binary file not shown.
Binary file added bin/data/pdeath.wav
Binary file not shown.
Binary file added bin/data/pistol.tga
Binary file not shown.
Binary file added bin/data/pistol_shot.wav
Binary file not shown.
Binary file added bin/data/script_0.wav
Binary file not shown.
Binary file added bin/data/script_1.wav
Binary file not shown.
Binary file added bin/data/script_2.wav
Binary file not shown.
Binary file added bin/data/script_3.wav
Binary file not shown.
Binary file added bin/data/shotgun.tga
Binary file not shown.
Binary file added bin/data/shotgun_pickup.wav
Binary file not shown.
Binary file added bin/data/shotgun_shot.wav
Binary file not shown.
Binary file added bin/data/shotgun_sprite.tga
Binary file not shown.
Binary file added bin/data/soldier.tga
Binary file not shown.
Binary file added bin/data/soldier_death_0.wav
Binary file not shown.
Binary file added bin/data/soldier_death_1.wav
Binary file not shown.
Binary file added bin/data/soldier_pain.wav
Binary file not shown.
Binary file added bin/data/soldier_shoot.wav
Binary file not shown.
Binary file added bin/data/sparks.tga
Binary file not shown.
Binary file added bin/data/sprite_0.tga
Binary file not shown.
Binary file added bin/data/sprite_1.tga
Binary file not shown.
Binary file added bin/data/sprite_2.tga
Binary file not shown.
Binary file added bin/data/sprite_3.tga
Binary file not shown.
Binary file added bin/data/sprite_4.tga
Binary file not shown.
Binary file added bin/data/sprite_5.tga
Binary file not shown.
Binary file added bin/data/sprite_6.tga
Binary file not shown.
Binary file added bin/data/sprite_7.tga
Binary file not shown.
Binary file added bin/data/sprite_8.tga
Binary file not shown.
Binary file added bin/data/sprite_9.tga
Binary file not shown.
Binary file added bin/data/wall_0.tga
Binary file not shown.
Binary file added bin/data/wall_1.tga
Binary file not shown.
Binary file added bin/data/wall_2.tga
Binary file not shown.
Binary file added bin/data/wall_3.tga
Binary file not shown.
Binary file added bin/data/wall_4.tga
Binary file not shown.
Binary file added bin/data/wall_5.tga
Binary file not shown.
Binary file added bin/data/wall_6.tga
Binary file not shown.
Binary file added bin/data/wall_7.tga
Binary file not shown.
Binary file added bin/data/wall_8.tga
Binary file not shown.
Binary file added bin/data/wall_9.tga
Binary file not shown.
1 change: 1 addition & 0 deletions bin/plugins/Put Mad plugin here!
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file is needed to commit empty folder.
1 change: 1 addition & 0 deletions dgle/Put DGLE headers here!
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file is needed to commit empty folder.
20 changes: 20 additions & 0 deletions source/ClubN69.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClubN69", "ClubN69.vcxproj", "{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}.Debug|Win32.ActiveCfg = Debug|Win32
{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}.Debug|Win32.Build.0 = Debug|Win32
{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}.Release|Win32.ActiveCfg = Release|Win32
{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
103 changes: 103 additions & 0 deletions source/ClubN69.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3B794043-DC0C-4A1D-8F59-D1ADF92DEE9F}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ClubN69</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\bin\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\bin\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level1</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\dgle\</AdditionalIncludeDirectories>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\dgle\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\dgle\DGLE.h" />
<ClInclude Include="..\dgle\DGLE_Types.h" />
<ClInclude Include="Common.h" />
<ClInclude Include="Level.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="Utils.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Icon.rc" />
</ItemGroup>
<ItemGroup>
<None Include="icon1.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
29 changes: 29 additions & 0 deletions source/ClubN69.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="Main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\dgle\DGLE.h">
<Filter>DGLE</Filter>
</ClInclude>
<ClInclude Include="..\dgle\DGLE_Types.h">
<Filter>DGLE</Filter>
</ClInclude>
<ClInclude Include="Common.h" />
<ClInclude Include="Level.h" />
<ClInclude Include="Utils.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<Filter Include="DGLE">
<UniqueIdentifier>{365aa461-b1c2-433d-84dd-1b1f7983bbc3}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Icon.rc" />
</ItemGroup>
<ItemGroup>
<None Include="icon1.ico" />
</ItemGroup>
</Project>
68 changes: 68 additions & 0 deletions source/Common.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*===========================================================================
Club N69 - old school style FPS game parody on "Duke Nukem 3D" and "Wolfenstein 3D".
Copyright (C) 2011-2014 Andrey Korotkov.
This file is part of the Club N69 GPL Source Code ("Club N69 Source Code").
Club N69 Source Code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Club N69 Source Code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Club N69 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Club N69 Source Code is also subject to certain additional terms.
You should have received a copy of these additional terms immediately following
the terms and conditions of the GNU General Public License which accompanied the
Club N69 Source Code.
If you have questions concerning this license or application, you may contact
Andrey Korotkov using this email: [email protected].
Visit <http://dronprogs.org> for additional information about this project.
===========================================================================*/

#pragma once

#include <DGLE.h>
#include <math.h>
#include <vector>

using namespace DGLE;

#define APP_CAPTION "ClubN69"
#define APP_VERSION "v1.1"

#define DLL_PATH "DGLE.dll"

#define WINDOW_WIDTH 1024u
#define WINDOW_HEIGHT 768u

#define GAME_VIEWPORT_WIDTH 640u
#define GAME_VIEWPORT_HEIGHT 480u

#define GAME_FOV 90.f

#define GAME_UPDATE_INTERVAL 30u

#define MOUSE_SENSITIVITY 5.f

#ifdef _DEBUG
# define RESOURCE_PATH "..\\bin\\data\\"
#else
//# define COMPILED_RESOURCES
# ifdef COMPILED_RESOURCES
# define RESOURCE_PATH "data.dcp|"
# else
# define RESOURCE_PATH "data\\"
# endif
#endif
Binary file added source/Icon.rc
Binary file not shown.
Loading

0 comments on commit fafba05

Please sign in to comment.