Skip to content
This repository has been archived by the owner on Jan 2, 2021. It is now read-only.

Commit

Permalink
v0.4.0 (#163)
Browse files Browse the repository at this point in the history
* Bump 0.3.0 (#100) (#101)

* init: proto state of art (imgui/glfw/glew/glm)

chore: initialize cmake+conan , sanitizers

target: app + engine

feature: imgui demo window + glfw print events

* feat: add handling of event

* fix: build VS Release mode (Debug still broken)

* chore: set fmt/spdlog header only; feat: add record events to json

* feat: add hello triangle opengl

* feat: add resize/move; fix: replay event

* chore: add CI github

* hotfix: matrix.arch

* fix: pipeline hello world

* hotfix: typos

* chore: CI small conan

* hotfix: typos

* hotfix: typos

* chore: CI add conan build

* chore: add generate tools script used in pipeline

* chore: add install script

* hotfix: path

* hotfix: path

* hotfix: path

* hotfix: typos

* hotfix: path

* hotfix: path

* hotfix: path

* hotfix: path

* hotfix: compiler version override

* hotfix: compiler package

* chore: conditional stdlib + full conanfile

* chore: add conan sys require enabled

* chore: add build on pipeline

* hotfix: path

* hotfix: path

* chore: complet cmake env

* chore: set new profile conan

* fix: compiler version

* hotfix: compiler version

* hotfix: compiler version

* hotfix: compiler version

* fix: version compiler

* chore: suppress warn on error, explicit opengl

* chore: add pkg-config

* hotfix: add gl dump

* hotfix: add gl dump

* hotfix: add gl dump

* fix: pipeline v1 working

* refact: window class lighter, moved content in core

* feat: add joysticks handling

* refact: bump v0.1.5

* feat: add display debut joystick

* hotfix: build windows + controller buttons windows

* feat: add texture

* Update joysticks management (#3)

* feat: refact joystick management + record joystick event

* hotfix: include vector

* hotfix: it.base()

* Camera + shader improvement (#4)

* Added camera system + Improved shader handling

* Extracted `draw` method from compononent to system

Co-authored-by: yanis fourel <[email protected]>

* Feat map gen (#5)

* Simple Tilemap map builder + Tile factories

* Tile fusion to limit entity count

* Dungeon generation v1.0

* Added corridor width as parameters

Co-authored-by: yanis fourel <[email protected]>

* Feat/fullscreen (#6)

* feat: add fullscreen / args flag / refact singleton core

* chore: update pipeline add release mode; simplified event core

* hotfix: pipeline build type

* hotfix: update pipeline build type

* chore: docopt set shared

* chore: pipeline add step launch

* hotfix: ls

* hotfix: add printf in script

* hotfix: pipeline backslash

* hotfix: pipeline arch

* chore: pipeline fix build folder

* chore: pipeline fix build folder

* hotfix: update build dir

* chore: mindows change ouput path

* chore: windows change ouput path

* hotfix: set reset output path & docopt static

* dump version v0.1.10

* fix: add fullscreen / send event to Game

* Fix/warning (#8)

* refact: cleanup

* fix: bump version 0.1.12

* A few documentation of the project (#11)

* doc: adding state_of_art

* doc: add structure

* doc: add mvp + ui

* doc: update mvp alpha / delivery

* Big changes (#12)

* chore: upgrade imgui/conan version, style: cleanup

* chore: add warning pop

* hotfix: cast

* hotfix: cast

* hotfix: msvc warning

* chore: remove docopt use cli11

* refact: split main in 2 files; chore: add engine version

* Doc: Move GDD in doc folder (#13)

* [ADD] 1 page GDD

* [ADD] GDD 10 page

* doc: move gdd in doc folder

* doc: remove old gdd files

Co-authored-by: Pierre-Genest <[email protected]>

* Refactor component (drawable / position / scale) & Change camera / coordinates system (#14)

* feat: moving square; new camera

* refact: add Position/Velocity/Scale component, feat: add display mode; refact: camera & shaders

* fix: include path

* doc: add screenshot

* fix: windows build error

* refact: split components in different files; doc: add comments

* doc: update README; add CI template; conan graph (#15)

* Add collision & acceleration / Cleaning shaders / Adding first "enemies" (#18)

* feat: add basics pursue AI

* feat: cleaner camera movement; shader grid; add hitbox component

* feat: add collision

* feat: add enemy attack and player health (#20)

* Fix/map gen (#17)

* Fixed reccurent crash on map generation

* Fixed warnings

* fixed warning

* Attempt to fix warning on linux

* warning fix on linux build

* linux warning fix attempt

Co-authored-by: yanis fourel <[email protected]>

* Feat/signals (#23)

* Init competences
Test signals

* Create player and movement files

* Player movement with signals
Remove unused files

* Rename Movement.hpp -> GameLogic.hpp
Create a signal call for game logic

* doc: update README / issue_template; chore: add ignore branch tmp/doc (#24)

* doc: update README / Issue_template; chore: add ignore branch tmp/doc

* chore: fix pipeline on pull request

* Feat/map gen entities (#22)

* Fixed reccurent crash on map generation

* map generation debug window

* Restored camera2d and improved its api

* Changed objects displayed size

* Dungeon terrain despawn

* Fixed dungeon tiles transforms

* Fixed camera2d projection computation

* de-commented enemy spawn
re-commented level entity optimisation that causes issue

* Changed player color

* Basic enemy spawning logic

* Enemy and player spawn in dungeon.
Z coord handling attempt. still WIP.

* simplified player teleportation code

* Proper and clean Z-coordinate handle

* removed unused variable in shader

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu LALA <[email protected]>

* doc: update readme with badge (#27)

* bump: version 0.2.0

* Refact/compile time (#29)

* refact: rename files / use forward decl; adding namespace & formatting

* refact: remove useless comment

* added needed include for windows build (#30)

Co-authored-by: yanis fourel <[email protected]>

* Feat/fight v2 (#31)

* feat: add enemy & player attack, instead of range of damage

* feat: add user cast spell + kill enemy + xp

* fix: msvc warnings

* DIfferenciated floor type + some map gen bug fixes (#34)

Co-authored-by: yanis fourel <[email protected]>

* feat: add state loading/ingame/gameover (#35)

* Fixed #36 (#37)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* fix: pipeline only on PR

* fix: pipeline only on Push

* fix: pipeline + add cache conan (#40)

* Feat/exit door (#38)

* Exit door generation

* Improve dungeon seed gestion + added Spam regenerate button on debug GUI

* Changed dungeon seed type back to unsigned int due to warnings

* moved floor generation process to a fonction

* Fixed wrong corridor size issue

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* fix: pipeline remove step conan cache

* re-added tile fusion feature to improve perf (#43)

Co-authored-by: yanis fourel <[email protected]>

* refact: shader in core; feat: add color changement; perf: 60fps (#42)

* refact: shader in core; feat: add color changement; perf: 60fps

Co-authored-by: Yanis-F <[email protected]>

* Feat/hud2.0 (#41)

* [ADD] non dynamic HUD

* [FIX] crash but no boss implementation yet

* [Fix] compilation linux

* [Add] enemy boss modif

* [FIX] compilation linuxx

* [Fix] conflict merge

Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* texture implementation (#44)

* refact: shader in core; feat: add color changement; perf: 60fps

* feat: add texture as component

* Feat/audio (#45)

* Basic soud playing system

* Fixed audio loading

* Improved Sound api

* Added audio file caching

* fixed warning

* fixed typo in conan cmake config

* Restore windows full fullscreen by default

* editted obsolete doc comment

* fix: warning unix + add imgui+fmt helper + feat: collision+velocity smoother (bugged)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu LALA <[email protected]>

* Made boss spawn + fixed boss display (#48)

Co-authored-by: yanis fourel <[email protected]>

* Feat/boss (#49)

* [ADD] Dropping key under the map and boss with 1HP to test leveling and drop

* [ADD] drop key + Hud change

* [FIX] Destroying boss when restarting level

* [FIX] Destroying key when restarting level

* [ADD] Boss pursiut

* [FIX] Boss Hp to normal

* [FIX] linux build

* [Modif] add tag enemy to Boss

Co-authored-by: Pierre-Genest <[email protected]>

* feat: add spritesheet component and gif animation (#50)

* feat: add spritesheet component and gif animation

* doc: update screenshot/conan grph/version

* fix: msvc contexpr virtual function not supported

* Feat/level transition (#51)

* Key pickup

* onNextLevel event +  Door interraction

* fix: build linux

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Added basic audio assets (#52)

* Added basic audio assets
+ improved audio API

* Added deaths sounds

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu LALA <[email protected]>

* Feat/json data (#53)

* feat: Create player / class from json

* fix: creation of player and class with json

* fix: reorganize header

* fix: newline at end of files

* other: remove comments

* fix: build linux

* bump: version 0.2.17

Co-authored-by: Mathieu LALA <[email protected]>

* Lint + better data folder management (#54)

* style: adding cmake-format

* chore: add rule copy data in build folder

* style: lint & format

* doc: add msvc cppcheck ext

* Feat/settings (#55)

* style: adding cmake-format

* chore: add rule copy data in build folder

* style: lint & format

* doc: add msvc cppcheck ext

* add: data_folder in app.ini

* fix: msvc warning

* fix: crash singleton in .data

* fix: warning release mode

* Fixed crashed if no available audio device was available (#56)

* Fixed crashed if no available audio device was available

* Fixed audio not working

* chore: remove launch ubuntu from pipeline

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/fireball (#57)

* feat: add fireball (bugged)

* Fixed audio not working (#58)

Co-authored-by: yanis fourel <[email protected]>

* Feat/animation (#59)

* feat: add severals animations in json spritesheet

* fix: warning msvc

* fix: focus bug

* Feat/screenshake (#60)

* feat: add screenshake v1

* chore: add args on script tools

* hotfix: msvc warning

* hotfix: msvc warning

* Feat/spells management (#62)

* + Spell database
+ Spellslots system for enemies

* Added spell slots to player

* Made classes spells configurable

* refact: same feature but simplier

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu LALA <[email protected]>

* Feat/joystick movement (#64)

* feat: Add player movement with controller

* other: update version

* fix: Fix compilation

* Feat/debug console (#63)

* tmp fix of ImGui keyboard events

* Extracted ImGui console to separate class

* Basic command system

* Basic command autocompletion system

* First command : Kill

* xp commands

* final touches + set music volume

* chore: add launch to pipeline; fix optional include

* fix: pipeline & include

* fix: pipeline

* chore: commenting pipeline

* Update Core.hpp

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu LALA <[email protected]>

* Test/init suite (#65)


* tests: add coverage (bugged)

* fix: exclude correctly system and conan files

Co-authored-by: yanis fourel <[email protected]>

* Test/golden (#66)

* tests: add coverage (bugged)

* fix: exclude correctly system and conan files

* feat: add screenshot

* Refact/design core (#67)

* refact: move Game in api namespace; chore: create engine_main, -d as debug prefix

* fix: remove old comment; fix: pending note

* Feat/player class switch (#68)

* Class database + buy class event

* remove "name" field in class config

* Added children class

* Class config : children are now class names

* buyClass commands now takes class name

* Added setSpell command + fixed console not clearing on command

* Player knows which class he bought

* Fixed unix warning

* Added icon to classes

* fix unix warning

Co-authored-by: yanis fourel <[email protected]>

* fixed wrong class db path (#71)

Co-authored-by: yanis fourel <[email protected]>

* Feat/camera player movement (#75)

* feat: Add attacks on controller

* feat: update camera

* fix: fix compilation

* fix: update camera viewport

* fix: controller attack buttons

* Feat/hud3.0 (#74)

* [ADD] some visual for HUD

* Added skill point system

* [ADD] HUD3.0 added

* [FIX] Linux compilation

* [fix] Linux Compilation fix

* [fix] Linux Compilation fix

* [fix] Linux Compilation fix

Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/particule (#72)

* refact: move Game in api namespace; chore: create engine_main, -d as debug prefix

* fix: remove old comment; fix: pending note

* feat: add simple particule system

* hotfix: .hpp -> .cpp

* hotfix: .hpp -> .cpp

* revert: develop db data

Co-authored-by: Pierre-Genest <[email protected]>

* Added rotation (#73)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* current HP change according to changes to max hp (#80)

Co-authored-by: yanis fourel <[email protected]>

* Feat/better collisions (#78)

* Fixed crash if spell hit multiple walls at once

* Actual good keyboard player movements. Debug only

* Better collisions

* Fixed collision bug that allows moving entity to overlap

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Fixed #77 : added attribute "starter" to class database (#79)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/doc and test (#81)

* doc: updated

* fix: console completion

* Chore/more ci (#82)

* tests: add fuzz + travis

* chore: add build and coverage to travis

* chore: fix test

* chore: add codecov token

* assets modif (#84)

Co-authored-by: ADeal24 <[email protected]>

* Fixed windows build (#85)

Co-authored-by: yanis fourel <[email protected]>

* feat: add wall blocking vision of ai (#83)

* Feat/fireball and alpha on texture (#86)

* feat: add wall blocking vision of ai

* feat: add aplha channel for texture

* Feat/graph assets impl (#88)

* moved assets directory

* Added texture mirror + player running animation

* Ajusted player boundaries

* Increased corridors width to fit player new size

Co-authored-by: yanis fourel <[email protected]>

* Feat/classes assets impl (#89)

* Added shooter asset + added class asset path to database

* Added soldier graph asset

* Added sorcerer graph asset

* reorganized animation asset folders

* reorganized animation asset folders

Co-authored-by: yanis fourel <[email protected]>

* [ADD] Mapping Basic (#87)

* [ADD] Mapping Basic

* [ADD] crash but few features for HUD

* [ADD] SpellAssign without crash

* Feat/background (#90)

* Added background texture
Removed wall textures

* changed ugly spawn room floor texture

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/boss asset impl (#91)

* Boss graphical asset implementation

* Added door texture

* fixed crash upon boss death

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/classes spell (#93)

* feat: Add classes spells

* fix: compilation

* feat: Support for 4 potential spells

* fix: Display piercing_arrow and sword_attack

* feat: Bind spell according to GDD
fix: Movement velocity with controller v1 (to improve)

* feat: add spells animation + sound

* fix: update shooter attack spritesheet

* fix: update classes.json

* feat: change ui (#92)

* fixed windows build (#94)

Co-authored-by: yanis fourel <[email protected]>

* Fix/movements (#95)

* Clean player movements

* Moved camera update code

Co-authored-by: yanis fourel <[email protected]>

* Fixed crash upon multiple enemy kill at once (#96)

added boss spells

Co-authored-by: yanis fourel <[email protected]>

* Backup/alpha build (#97)

* Fixed crash upon multiple enemy kill at once
added boss spells

* Adjusted a million things
fixed occasional crash during combat

Co-authored-by: yanis fourel <[email protected]>

* bump version v0.3.0

Co-authored-by: Yanis-F <[email protected]>
Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Benjamin Praud <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: ADeal24 <[email protected]>

Co-authored-by: Yanis-F <[email protected]>
Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Benjamin Praud <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: ADeal24 <[email protected]>

* Player aiming (#104)

Player aiming with Right stick
Added deadzone to joysticks

Co-authored-by: yanis fourel <[email protected]>

* fixed (#105)

Co-authored-by: yanis fourel <[email protected]>

* Revision/v0.3 (#103)

* chore: glfw_imgui_impl include dir

* perf: spritesheet texture is loaded once

* update signal/slots name

* style: format

* fix: keyboard movement

* Fixed windows build (#106)

Co-authored-by: yanis fourel <[email protected]>

* Menus refacto (#107)

* refacto: Replaced game state by game current menu

* ThePURGE class cleanup

* Re-implemented old menus

Co-authored-by: yanis fourel <[email protected]>

* feat: animation with severals files / skeleton (#111)

* Allow enetity with no rotation to be displayed (#110)

Co-authored-by: yanis fourel <[email protected]>

* Refact/review (#115)

* chore: update install script and remove unused assets

* feat: add death animation

* fix: install

* Feat/t2 classes (#114)

* feat: Add T2 classes in classes.json

* feat: move speed and hitbox in classes.json

* feat: maxhp work now like an hp bonus

* fix: call movement

* fix: update joystick movement with speed

* fix: apply changes after feedback

* fix: apply changes after feedback

* feat: add class cost

* feat: use class cost in the shop
fix: -1 skill point at start

Co-authored-by: Mathieu Lala <[email protected]>

* Clean up before big features (#118)

* clean classes, broken upgrade panel

* refact: spells db

* refact: level -> stage; simplified api

* fix: add purchase board back

* Feat/main menu v2 (#119)

* Main menu background + texture helpers

* Menu inputs adjustments

* Main menu buttons

* Credits menu

* How to play menu + improved menu utils + renamed rules to howtoplay

* Fixed credit menu close input

* Added menu navigation sound

* Added main menu music + balanced menu sound volume

* exit howtoplay menu with A controller button as well

* cleaned cmakelists

* Fixed merge

* Added gimp project files

Co-authored-by: yanis fourel <[email protected]>

* Feat/spell v4 (#120)

* feat: using spells.json, spell id is string and not enum

* feat: same feature as before

* resolve merge

* Feat/particles (#117)

* [ADD] Basic particules

* [ADD] Basic particules

* [ADD] PARTICULES POSITIVE AND NEUTRAL

* [MERGE] For push

Co-authored-by: Mathieu Lala <[email protected]>

* feat: enemy json (#121)

* feat: enemy json

* tweak: data

* Feat/spell v5 (#123)

* refact: simplied menu upgrade; add icon; add type on spell

* feat: add mage spell

* Added class and spells icon to prepare for hte new HUD (#126)

Co-authored-by: yanis fourel <[email protected]>

* Feat/hud rework (#127)

* Extracted AMenu draw helpers to expose it to HUD drawer

* HUD background

* added health bar

* Add XP bar

* Added spells

* Fixed spell display order + cleanup

* Added texts + upgrade icon with skillpoints

* Removed old debug code ㅠㅠ

Co-authored-by: yanis fourel <[email protected]>

* Made keyboard movement inputs viable (#128)

Co-authored-by: yanis fourel <[email protected]>

* Preparation Feat/spell v5 (#129)

* refact: simplied menu upgrade; add icon; add type on spell

* feat: add mage spell

* feat: pause

* feat: add speed on enemies

* Feat/enemies (#130)

* [ADD] zombie

* [ADD] GOlem + summoners+ zombie

* [ADD] Zombie Death + direction spell

* [Modif] golem attack

* feat: add new sprites (#131)

Co-authored-by: Mathieu Lala <[email protected]>

* Feat/spell v6 (#132)

* feat: add functional effect & firewall

* feat: add warrior spell

* merge develop

* Feat/upgrade panel rework (#133)

* Hide cursor in game

* Upgrade panel textures

* Portrait + spell detail

* Stat display. Barely tested

* Added buy button

* Classes tree parsing

* Added isOwned and isPurchaseable helpers

* Tree display

* Tree navigation inputs

* Fixed invisible cursor when showing debug info

* baisc class buying system

* Spell assignment

* Fixed purchase of owned classes

* Y to buy heal

* added sounds

* last adjustments

* Removed unneeded nebug

* Added missing descriptions to spells

Co-authored-by: yanis fourel <[email protected]>

* Feat/spell v7 (#134)

* fix: double speed in entity factory

* feat: add slow effect / tank spell / ice/fire skeletong

* Feat/game over menu (#135)

* basic game over menu

* Added game time to game over menu

* Added enemy killed

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Review/v0.3.16 (#136)

* fix

* feat: sound and effect

* fix imgui path downloaded file

* Feat/ennemies (#137)

* [ADD] Attack in json and spawn with level

* [DELETE] temp file

* [ADD] Leveling

* Fix/issue #140 upgradepanel crash (#141)

* Fixed bug causing to not be able to move current selection left on the upgrade panel tree

* Fixed ImGui path in cmakelists

Co-authored-by: yanis fourel <[email protected]>

* Fix/effect (#144)

* fix: update joystick event

* fix: elpased time a boolean flip

* fix: add spell target

* fix

* Fixed deltatime misscalculation (#142)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Capped deltatime at 50ms (#143)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* add more spell :) (#145)

* Fix/ennemies asset (#146)

* [Fix] ASSETS OF ZOMBIE + SUMMONERS(CASTER) + GOLEM

* [ADD] golem turret

* [ADD] Boss PILACHU

* [Modif] New boss speed and attack

Co-authored-by: Mathieu Lala <[email protected]>

* Feat/mirrored repeated (#149)

* feat: add mirrored repeated texture (breaking changes)

* fix: cash, delete deprecated texture

* fix: repeated and add map texture

Co-authored-by: Yanis-F <[email protected]>

* Fixed bug causin aiming sight to remaining floating on the map after respawn (#148)

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/attack animation (#150)

* fix: fix spritesheet path for death

* feat: add animation sprite for each classes

* feat: add new classes icon

* feat: Change spells desciption

Co-authored-by: Pierre-Genest <[email protected]>

* Feat/all spell t2 (#152)

* feat: add barrel broken, fix texture shovel, add rock (no tag wall)

* fix: barrel don t segfault

* fix: some bugs (still crashes)

* feat: add explosion bugged on barrel destroy

* feat: add spells icons (#153)

* feat: add barrel

* doc: update doc

* Feat/barrel & Fix some bugs (#154)

* fix: some bugs (still crashes)

* feat: add explosion bugged on barrel destroy

* feat: add barrel

* doc: update doc

* feat: implement icons in json

* Feat/misc sounds (#155)

* fixed build

* Added level up sound

* Added key pickup sound

Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Mathieu Lala <[email protected]>

* Feat/game balance (#158)

* feat: balance hp and spd for the classes

* feat: change ennemies value

* Doc/readme update (#159)

* doc: update readme

* fix: pipeline on PR

* Feat/keyboard binds rework (#160)

* Fixed errors in spell descriptions

* Reworked keyboard binds to be intuitive

* Fixed keyboard movement when releasing and pressing keys controlling same axis during the same frame

* Added keyboard controls to howtoplay menu

Co-authored-by: yanis fourel <[email protected]>

* [ADD] skeleton anim (#157)

* [ADD] skeleton anim

* [MERGE] FIX

* [MERGE] Fix in spellfactory entity health

Co-authored-by: Mathieu Lala <[email protected]>

* tweak (#161)

* [Modif] change balance of classes and spells (#162)

* bump: v0.4.0

Co-authored-by: Yanis-F <[email protected]>
Co-authored-by: yanis fourel <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Benjamin Praud <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: Pierre-Genest <[email protected]>
Co-authored-by: ADeal24 <[email protected]>
  • Loading branch information
8 people authored Dec 15, 2020
1 parent 26d02cb commit 468fed3
Show file tree
Hide file tree
Showing 376 changed files with 10,178 additions and 4,504 deletions.
12 changes: 0 additions & 12 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,6 @@

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Chore (anything related to the building tools or the pipeline)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Refactor (A code change that neither fixes a bug nor adds a feature)
- [ ] Style (Changes that do not affect the meaning of the code)
- [ ] Perf (A code change that improves performance)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation (adding documentation of any kind to the project)
- [ ] Other

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: C++ CMake Build

on:
# push:
# branches-ignore:
# - 'doc/**'
# - 'tmp/**'
# - 'experimental/**'
push:
branches-ignore:
- 'doc/**'
- 'tmp/**'
- 'experimental/**'
pull_request:
branches:
- '**'
Expand Down Expand Up @@ -89,6 +89,8 @@ jobs:

# TODO :
# add steps 'unit-tests'
# add steps 'fuzz'
# add steps 'golden-tests'
# add steps 'benchmark'
# add steps 'style & lint'
# ..
63 changes: 32 additions & 31 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ dist: focal
# directories:
# - /home/travis/.conan

## FIXME : This the cache generate this error
## opengl/system: Already installed!
## ERROR: opengl/system: Error in package_info() method, line 78
## self._fill_cppinfo_from_pkgconfig('gl')
## while calling '_fill_cppinfo_from_pkgconfig', line 21
## if not pkg_config.provides:
## ConanException: pkg-config command ['pkg-config', '--print-provides', 'gl', '--print-errors'] failed with error: Command 'pkg-config --print-provides gl --print-errors' returned non-zero exit status 1.

matrix:
include:
- name: "Linux (GCC compiler)"
Expand All @@ -20,49 +28,41 @@ matrix:
- gcc-10
- g++-10
- cmake
# - doxygen
# - graphviz
# - binutils-dev
- python3
- python3-pip
- python3-setuptools
- lcov
# - uuid-dev
update: true
after_script:
- bash <(curl -s https://codecov.io/bash)
- name: "Linux (Clang compiler)"
os: linux
compiler: clang
env: OS=linux COMPILER=clang CLANG_VERSION=11
addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
packages:
- clang-11
- cmake
# - doxygen
# - graphviz
# - binutils-dev
- python3
- python3-pip
- python3-setuptools
- lcov
# - uuid-dev
update: true
- name: "MacOS"
os: osx
compiler: clang
env: OS=osx COMPILER=clang
osx_image: xcode12.2

# - name: "Linux (Clang compiler)"
# os: linux
# compiler: clang
# env: OS=linux COMPILER=clang CLANG_VERSION=11
# addons:
# apt:
# sources:
# - sourceline: 'ppa:ubuntu-toolchain-r/test'
# packages:
# - clang-11
# - cmake
# - python3
# - python3-pip
# - python3-setuptools
# - lcov
# update: true

# - name: "MacOS"
# os: osx
# compiler: clang
# env: OS=osx COMPILER=clang
# osx_image: xcode12.2

before_install:
- if [ "$OS" != "osx" ] && [ "$COMPILER" = "gcc" ]; then export CC="gcc-${GCC_VERSION}" CXX="g++-${GCC_VERSION}"; fi
- if [ "$OS" != "osx" ] && [ "$COMPILER" = "clang" ]; then export CC="clang-${CLANG_VERSION}" CXX="clang++-${CLANG_VERSION}"; fi
- if [ "$OS" == "osx" ]; then brew update; fi
# - if [ "$OS" == "osx" ]; then brew install doxygen; fi
# - if [ "$OS" == "osx" ]; then brew install graphviz; fi
- cmake --version
- git config --global user.name "Travis CI"
- git config --global user.email "[email protected]"
Expand All @@ -71,6 +71,7 @@ before_install:
install:
- ./tools/install.sh
- conan --version
- cmake --version

script:
- ./tools/generate.sh -- -DENABLE_COVERAGE:BOOL=TRUE -DENABLE_TESTING:BOOL=TRUE
Expand Down
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ endif()
add_library(project_warnings INTERFACE)
include(cmake/CompilerWarnings.cmake)
set_project_warnings(project_warnings)
add_compile_definitions(project_warnings PUBLIC GLM_FORCE_SILENT_WARNINGS)

# Debugging flags
include(cmake/Sanitizers.cmake)
Expand Down
105 changes: 65 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,84 +5,92 @@

Keimyung University - Mobile Game Development - 2020 Fall Semester

This project is a video game for PC. See the [Game Design Document](doc/GDD_ten_page.pdf) for more details.
This project is a video game for PC. See the [Game Design Document](doc/ThePURGE_GameDesignDocument.pdf) for more details.

This repository contains the source code of the [game](src/Application) and his [engine](src/Engine).

## Usage

```sh
$> ./tools/launch.sh -- --help
ThePURGE 0.3.0
ThePURGE 0.4.0
Usage: ./engine_main [OPTIONS]

Options:
-h,--help Print this help message and exit
--version Print the version number and exit.
--config=data/config/app.ini
Read an ini file
--fullscreen BOOLEAN=1 Launch the window in fullscreen mode.
--window-width UINT=1024 Width of the window.
--window-height UINT=768 Height of the window.
--replay-path TEXT Path of the events to replay.
--replay-data TEXT Json events to replay.
--data TEXT=data/ Path of the data folder.
--output-folder TEXT=data/ Path of the generated output.
-h,--help Print this help message and exit
--version Print the version number and exit.
--config=data/config/app.ini Read an ini file
--fullscreen BOOLEAN=1 Launch the window in fullscreen mode.
--window-width UINT=1024 Width of the window.
--window-height UINT=768 Height of the window.
--replay-path TEXT Path of the events to replay.
--replay-data TEXT Json events to replay.
--data TEXT=data/ Path of the data folder.
--output-folder TEXT=../generated/ Path of the generated output.
```

## Screenshots
## What it looks like

Application version 0.2.12
See [the trailer](https://www.youtube.com/watch?v=GQxOHtLU4U0) of the game on youtube !

![v0.2.12](./doc/screenshots/app_v0.2.12.gif)

Application version 0.1.9

![v0.1.9](./doc/screenshots/app_v0.1.9.png)
See [older version](./doc/history) of the project.

## Installing

### Requirements

* All platforms

* python>=3.0

* Unix systems

* g++>=10 || clang>=12
* cmake>=3.13
* python>=3.0
* g++>=10 || clang>=11
* cmake>=3.13

* Windows

* Visual Studio Extension
* Visual Studio 2019>=16.7 && Linux CMake extension (see [the documentation](https://docs.microsoft.com/en-us/cpp/linux/cmake-linux-configure?view=vs-2019))

* Visual Studio 2019>=16.7
* Linux CMake extension (see [the documentation](https://docs.microsoft.com/en-us/cpp/linux/cmake-linux-configure?view=vs-2019))
* python>=3.0
### Command line

The build **require** an internet connection (download of dependencies if missing).
You can use this command line.

```sh
# Shortcut command
$> sh -c "$(curl -fsSL https://raw.githubusercontent.com/Mathieu-Lala/game_project/develop/tools/install.sh)"

# Or
$> sh -c "$(wget -O- https://raw.githubusercontent.com/Mathieu-Lala/game_project/develop/tools/install.sh)"
```

Or clone and inspect the install script.

```sh
# Cloning the repository
$> git clone git@github.com:Mathieu-Lala/game_project.git
$> git clone https://github.com/Mathieu-Lala/game_project.git

# Go in the project
$> cd game_project

# Installing the required environment (partial)
$> ./tools/install.sh
$> ./tools/install.sh --no-clone
```

### Recommended environment

* Unix systems

* [ccache](https://ccache.dev/)
* [cppcheck](http://cppcheck.sourceforge.net/)
* [clang-tidy](https://clang.llvm.org/extra/clang-tidy/)
* [ccache](https://ccache.dev/)
* [cppcheck](http://cppcheck.sourceforge.net/)
* [clang-tidy](https://clang.llvm.org/extra/clang-tidy/)

* Windows

* [VS cppcheck extension](https://marketplace.visualstudio.com/items?itemName=Alexium.Cppcheckadd-in)
* [VS conan extension](https://marketplace.visualstudio.com/items?itemName=conan-io.conan-vs-extension)
* [VS GLSL extension](https://marketplace.visualstudio.com/items?itemName=DanielScherzer.GLSL)
* [VS clang-format extension](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format)
* [VS cppcheck extension](https://marketplace.visualstudio.com/items?itemName=Alexium.Cppcheckadd-in)
* [VS conan extension](https://marketplace.visualstudio.com/items?itemName=conan-io.conan-vs-extension)
* [VS GLSL extension](https://marketplace.visualstudio.com/items?itemName=DanielScherzer.GLSL)
* [VS clang-format extension](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format)

## Build and Run

Expand Down Expand Up @@ -123,13 +131,17 @@ $> ./tools/install.sh
</tr>
</table>

The build **require** an internet connection (download of dependencies if missing).

* Unix systems

```sh
# See the --help message

# Generate the cmake project
$> ./tools/generate.sh

# Build all the target
# Build the target
$> ./tools/build.sh

# Run the executable
Expand All @@ -138,14 +150,26 @@ $> ./tools/install.sh

* Visual Studio

See the [Microsoft documentation](https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-160).
See [the documentation](https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-160) for further details.

1. Open the project folder with Visual Studio
1. Project > Generate Cache for GameProject
1. Build > Build All
1. Select Startup Item > engine_main

### Package Manager

[conan](https://conan.io/) - [documentation](https://docs.conan.io/en/1.31/)
[Conan](https://conan.io/) is used for this project, see [the documentation](https://docs.conan.io/en/1.31/)

The dependencies used :

![Dependencies](doc/conan_dependencies.png)

## Debugging

When implementing a new feature (or just by curiousity), you might want to see what is happening behind the scene.
With a debug build you have access to extra information such as the hitbox, a console (with cheat codes), opengl rendering options ...

## Testing

[![codecov](https://codecov.io/gh/Mathieu-Lala/game_project/branch/develop/graph/badge.svg?token=E43G3XKG01)](https://codecov.io/gh/Mathieu-Lala/game_project)
Expand All @@ -164,6 +188,7 @@ See the [Microsoft documentation](https://docs.microsoft.com/en-us/cpp/build/cma
## Acknowledgement

* Jason Turner's [Weekly Game Project](https://github.com/lefticus/cpp_weekly_game_project)
* [learnopengl.com](http://learnopengl.com)
## Initial Authors
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.3.0
0.4.0
18 changes: 9 additions & 9 deletions cmake/StaticAnalyzers.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
option(ENABLE_CPPCHECK "Enable static analysis with cppcheck" OFF)
option(ENABLE_CLANG_TIDY "Enable static analysis with clang-tidy" OFF)
# option(ENABLE_INCLUDE_WHAT_YOU_USE "Enable static analysis with include-what-you-use" OFF)
option(ENABLE_INCLUDE_WHAT_YOU_USE "Enable static analysis with include-what-you-use" OFF)

if(ENABLE_CPPCHECK)
find_program(CPPCHECK cppcheck)
Expand All @@ -22,11 +22,11 @@ if(ENABLE_CLANG_TIDY)
endif()
endif()

# if(ENABLE_INCLUDE_WHAT_YOU_USE)
# find_program(INCLUDE_WHAT_YOU_USE include-what-you-use)
# if(INCLUDE_WHAT_YOU_USE)
# set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${INCLUDE_WHAT_YOU_USE})
# else()
# message(SEND_ERROR "include-what-you-use requested but executable not found")
# endif()
# endif()
if(ENABLE_INCLUDE_WHAT_YOU_USE)
find_program(INCLUDE_WHAT_YOU_USE include-what-you-use)
if(INCLUDE_WHAT_YOU_USE)
set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${INCLUDE_WHAT_YOU_USE})
else()
message(SEND_ERROR "include-what-you-use requested but executable not found")
endif()
endif()
2 changes: 2 additions & 0 deletions conanfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ glfw:shared=False
imgui:shared=False
spdlog:header_only=True
fmt:header_only=True
spdlog:no_exceptions=True


[generators]
cmake
Expand Down
Loading

0 comments on commit 468fed3

Please sign in to comment.