Skip to content

Commit

Permalink
Implemented working minigames (with a few kinks)
Browse files Browse the repository at this point in the history
  • Loading branch information
EliteMasterEric committed Nov 28, 2024
1 parent 697c287 commit 34d8913
Show file tree
Hide file tree
Showing 21 changed files with 3,327 additions and 11,944 deletions.
57 changes: 29 additions & 28 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
{
"search.exclude": {
"export/**/*.*": true
},
"[haxe]": {
"editor.formatOnSave": true,
"editor.formatOnSaveMode":"modifications",
"editor.formatOnPaste": false,
"editor.codeActionsOnSave": {
"source.sortImports": "explicit"
}
},
"haxe.enableExtendedIndentation": true,
"lime.targetConfigurations": [
{
"label": "HTML5 / Debug",
"target": "html5"
},
{
"label": "HTML5 / Debug (-Ddev -Doffline)",
"target": "html5",
"args": ["-debug -Ddev -Doffline -Drandom_username"]
},
{
"label": "HTML5 / Debug (-Ddev -Dtest_local)",
"target": "html5",
"args": ["-debug -Ddev -Dtest_local -Drandom_username"]
}
]
"search.exclude": {
"export/**/*.*": true
},
"[haxe]": {
"editor.formatOnSave": false,
"editor.formatOnSaveMode": "modifications",
"editor.formatOnPaste": false,
"editor.codeActionsOnSave": {
"source.sortImports": "explicit"
}
},
"haxe.enableExtendedIndentation": true,
"lime.targetConfigurations": [
{
"label": "HTML5 / Debug",
"target": "html5"
},
{
"label": "HTML5 / Debug (-Ddev -Doffline)",
"target": "html5",
"args": ["-debug -Ddev -Doffline -Drandom_username"]
},
{
"label": "HTML5 / Debug (-Ddev -Dtest_local)",
"target": "html5",
"args": ["-debug -Ddev -Dtest_local -Drandom_username"]
}
],
"editor.formatOnSave": false
}
65 changes: 23 additions & 42 deletions Project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,66 +46,47 @@

<!-- _______________________________ Libraries ______________________________ -->

<haxelib name="lime" />
<haxelib name="openfl" />
<haxelib name="flixel" />
<haxelib name="flixel-addons" />

<haxelib name="ase" />
<haxelib name="json2object" />
<haxelib name="ldtk-haxe-api"/>
<haxelib name="castle" />
<haxelib name="deepnightLibs"/>
<haxelib name="gif" if="gif"/>
<haxelib name="castle" />
<haxelib name="json2object" />
<haxelib name="ldtk-haxe-api"/>

<!--Follow instructions in scripts! This needs core-haxe-->
<haxelib name="http" />

<!--In case you want to use the addons package-->
<haxelib name="flixel-addons" />
<!-- Optionally include HScript for the Flixel debugger -->
<section if="hscript">
<haxelib name="hscript" />
</section>

<!-- ______________________________ Minigames _______________________________ -->

<!--In case you want to use the ui package-->
<!--<haxelib name="flixel-ui" />-->
<!-- Tell minigame code that it is part of the full project, and to exclude any wrappers -->
<haxedef name="ADVENT" />

<!--In case you want to use nape with flixel-->
<!--<haxelib name="nape-haxe4" />-->
<section unless="exclude_bunnymark">

<source path="minigames/bunnymark/source" />
<library name="bunnymark" preload="false" />
<assets path="minigames/bunnymark/assets" rename="assets/minigames/bunnymark" library="bunnymark" exclude="*.ase|*.wav"/>

</section>

<!-- ______________________________ Haxedefines _____________________________ -->

<!--Remove the legacy health system-->
<haxedef name="FLX_NO_HEALTH" />

<!--Enable the Flixel core recording system-->
<!--<haxedef name="FLX_RECORD" />-->

<!--Disable the right and middle mouse buttons-->
<!--<haxedef name="FLX_NO_MOUSE_ADVANCED" />-->

<!--Disable the native cursor API on Flash-->
<!--<haxedef name="FLX_NO_NATIVE_CURSOR" />-->

<!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
<haxedef name="FLX_NO_MOUSE" if="mobile" />
<haxedef name="FLX_NO_KEYBOARD" if="mobile" />
<haxedef name="FLX_NO_TOUCH" if="desktop" />
<!--<haxedef name="FLX_NO_GAMEPAD" />-->

<!--Disable the Flixel core sound tray-->
<!--<haxedef name="FLX_NO_SOUND_TRAY" />-->

<!--Disable the Flixel sound management code-->
<!--<haxedef name="FLX_NO_SOUND_SYSTEM" />-->

<!--Disable the Flixel core focus lost screen-->
<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />

<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
<!--haxedef name="FLX_NO_DEBUG" unless="debug" /-->

<!--Enable this for Nape release builds for a serious peformance improvement-->
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />

<!-- Haxe 4.3.0+: Enable pretty syntax errors and stuff. -->
<!-- pretty (haxeflixel default), indent, classic (haxe compiler default) -->
<haxedef name="message.reporting" value="pretty" />

<!-- _________________________________ Custom _______________________________ -->

<!--Place custom nodes like icons here-->
<haxedef name="openfl-enable-handle-error" />
</project>
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
<!-- @format -->

# Tankmas 2024

[![CI](https://github.com/chosencharacters/Tankmas2024/actions/workflows/main.yml/badge.svg?branch=git-workflows-attempt&event=workflow_run)](https://github.com/chosencharacters/Tankmas2024/actions/workflows/main.yml)
Expand All @@ -9,3 +7,25 @@
1. (one-time process) Run `./scripts/get your ass situated.bat` (or `.sh` if you are on Mac/Linux)
2. Build and run in offline mode with `lime test hl -Ddev -Drandom_username -Doffline`
3. Build and run in local server mode with `lime test hl -Ddev -Drandom_username -Dtest_local`

## Controls

Edit in `Ctrl.hx` and `assets/data/config/controls/`

- `UP`: Move Up
- `DOWN`: Move Down
- `LEFT`: Move Left
- `RIGHT`: Move Right
- `Z`: Jump
- `X`: Action
- `C`: Special
- `V`: Use
- `P/Enter`: pause
- `Space`: map
- `R`: reset
- `Shift`: roll

## Resources

- Tankmas 2022: https://github.com/BrandyBuizel/Advent2022
- Tankmas 2021: https://github.com/oscarcederberg/tankmas2021-client
64 changes: 64 additions & 0 deletions assets/data/entries/minigames.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"minigames": {
"bunnymark": {
"name": "Bunny Mark",
"description": "A benchmark for rendering performance",
"type": "overlay",
"crtShader": false,
"camera": {
"width": 640,
"height": 720,
"zoom": 1.5
}
},
"crouton": {
"name": "Crouton",
"description": "For all your crouton needs",
"type": "external",
"external": {
"prompt": "Need a crouton?",
"url": "https://crouton.net/"
}
},
"tankmas2018": {
"name": "Tankmas 2018",
"description": "The 2018 Newgrounds collaboration!",
"type": "external",
"external": {
"url": "https://www.newgrounds.com/portal/view/721061"
}
},
"tankmas2019": {
"name": "Tankmas 2019",
"description": "The 2019 Newgrounds collaboration!",
"type": "external",
"external": {
"url": "https://www.newgrounds.com/portal/view/743161"
}
},
"tankmas2020": {
"name": "Tankmas 2020",
"description": "The 2020 Newgrounds collaboration!",
"type": "external",
"external": {
"url": "https://www.newgrounds.com/portal/view/773236"
}
},
"tankmas2021": {
"name": "Tankmas 2021",
"description": "The 2021 Newgrounds collaboration!",
"type": "external",
"external": {
"url": "https://www.newgrounds.com/portal/view/824174"
}
},
"tankmas2022": {
"name": "Tankmas 2022",
"description": "The 2022 Newgrounds collaboration!",
"type": "external",
"external": {
"url": "https://www.newgrounds.com/portal/view/865711"
}
}
}
}
Loading

0 comments on commit 34d8913

Please sign in to comment.