Git Product home page Git Product logo

pacman's Introduction

PacMan

Pacman

Build Status Quality Gate Status

A simple WIP PacMan clone written in C++ with SDL2.

Motivation

The primary aim of this project is to develop a simple but polished PacMan game to improve my understanding of C++ and game development in general and to showcase my current software engineering skills. At the end of this journey, I hope to have implemented the different aspects of the pacman game, including the rendering, sound, ui and ai. Furthermore, to tie it all together, the product should come with a working installer.

As a portfolio piece, the code itself is made available under the MIT license, and is available to be reused in other projects. If you decide to reuse any part, some form of attribution is very appreciated, but not required.

Current state

For an overview of what has been developed, and what I am currently working on, I would direct you the azure devops boards page, which can be found here.

Installation

To play

In order to just play the game, the game can be installed through the installer. As part of each Azure Devops CI run, an .MSI is created. These can be found in the pipeline section of the Azure Devops project. Once the project reaches a more playable state, this section will be updated.

To develop

In order to compile and develop on your own machine, several tools need to be installed. The Azure Devops Pipeline file provides a good overview of the steps that need to be taken to build the project on your own machine.

  • Install vcpkg.
  • Clone this repository:
git clone https://github.com/BeardedPlatypus/PacMan.git 
  • Install sdl2 sdl2-image and gtest by running the following code in a command line:
vcpkg install sdl2 sdl2-image gtest
vcpkg integrate install
  • Open PacMan.sln in visual studio 2019.
  • Build the project as you normally would.

Additional blog posts will be added to describe the rationale behind the choices made. This section will be updated once they are added.

Documentation

Currently, the documentation only lives within the actual code base. An extracted API will be provided in the future. This section will be updated.

Blog Articles

Different aspects of the development process will be documented in more detail in different articles on my blog. This section will be updated.

pacman's People

Contributors

beardedplatypus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

shamexln

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.