- Notifications
You must be signed in to change notification settings - Fork4
One Dungeon is a 1-Bit-style platformer game that consists of one level. The project has been written solely in Dart Language.
License
BBarisKilic/One-Dungeon
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
One Dungeon is a 1-Bit-style platformer game that consists of one level. It developed during theMidyear 2022 Flame Game Jam.
Playable onGitHub anditch.io through a web browser.
In the game, we have the character namedDundee. You can move him with the buttonsW,A andD.
W :Jump
A :Left Move
D :Right Move
The goal in the game is to pass the Dungeon as soon as possible and get the highest score. Collected stars contribute to raising the endgame score. Come on, we'll be waiting for you at the end of the Dungeon!
This project contains 3 flavors:
- development
- staging
- production
To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:
# Development$ flutter run --flavor development --target lib/main_development.dart# Staging$ flutter run --flavor staging --target lib/main_staging.dart# Production$ flutter run --flavor production --target lib/main_production.dart
*One Dungeon works on Web.
To run all unit and widget tests use the following command:
$ fluttertest --coverage --test-randomize-ordering-seed random
To view the generated coverage report you can uselcov.
# Generate Coverage Report$ genhtml coverage/lcov.info -o coverage/# Open Coverage Report$ open coverage/index.html
This project relies onflutter_localizations and follows theofficial internationalization guide for Flutter.
- To add a new localizable string, open the
app_en.arb
file atlib/l10n/arb/app_en.arb
.
{ "@@locale": "en", "counterAppBarTitle": "Counter", "@counterAppBarTitle": { "description": "Text shown in the AppBar of the Counter Page" }}
- Then add a new key/value and description
{ "@@locale": "en", "counterAppBarTitle": "Counter", "@counterAppBarTitle": { "description": "Text shown in the AppBar of the Counter Page" }, "helloWorld": "Hello World", "@helloWorld": { "description": "Hello World Text" }}
- Use the new string
import'package:one_dungeon/l10n/l10n.dart';@overrideWidgetbuild(BuildContext context) {final l10n= context.l10n;returnText(l10n.helloWorld);}
Update theCFBundleLocalizations
array in theInfo.plist
atios/Runner/Info.plist
to include the new locale.
... <key>CFBundleLocalizations</key><array><string>en</string><string>de</string></array> ...
- For each supported locale, add a new ARB file in
lib/l10n/arb
.
├── l10n│ ├── arb│ │ ├── app_de.arb│ │ └── app_en.arb
- Add the translated strings to each
.arb
file:
app_en.arb
{ "@@locale": "en", "gameTitle": "One Dungeon", "@gameTitle": { "description": "The name of the game" }}
app_de.arb
{ "@@locale": "de", "gameTitle": "One Dungeon", "@gameTitle": { "description": "Der Name des Spiels" }}
The game is powered byFlame Engine andFlutter. Flame is a minimalist Flutter game engine that provides a nice set of somewhat independent modules you can choose.
In the source code, you will seetested and%100 covered clean code. The project has been created usingVery Good CLI. Also usedFlame Behaviors package that applies separation of concerns to game logic in the form ofEntities andBehaviors. Other packages worth mentioning areBloc,Equatable,Freezed,GetIt andMocktail.
Monochrome Caves byAdam Saltsman
Black and White 2D Character byhey_jeff
Background Music and SFX byKronbits
Press Start 2P Font byGoogle
Please file feature requests and bugs at theissue tracker.