Coder Social home page Coder Social logo

niner-games / lost-dutchman-mine Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 14.92 MB

Reviving old "Lost Dutchman Mine" game with Electron and Capacitor.

Home Page: https://lostmine.cc

License: BSD 2-Clause "Simplified" License

JavaScript 2.73% TypeScript 88.53% HTML 0.76% CSS 2.28% Java 1.42% Swift 3.29% Ruby 1.00%
adventure adventure-game android-app desktop-game electron-app electronjs game ios-app mobile-game react-native

lost-dutchman-mine's People

Contributors

madejamaciej avatar mechanikgamer avatar mrfatguy avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

mechanikgamer

lost-dutchman-mine's Issues

Set the new default font

Please, set the default app-wide font for all text, dialogs and GUI elements:

  • font size: 17 pt
  • font style: regular
  • font name: Pixelify Sans
  • font color: #CFAE6D (207, 174, 109)
  • font scale (vertical only!): 175%
  • font spacing: 1,1 pt
  • line spacing: single

Examples of corresponding font attributes from Word 365:

Wordzicho

Compare of the original image:

Failure  Original

And the one recreated in Word:

Failure  Font

Here are source files used to recreate above image, in case they would be useful to you: Pixelify Sans Example.zip.

Prepare initial translation system

Overview

Prepare necessary code / engine and translation files to support game texts in seven language:

  • English (default language and base for all translations)
  • Polish
  • German
  • Spanish
  • French
  • Ukrainian
  • Silesian

Narrative

  • As a player
  • I want to see game in my local language
  • To be more convinced into purchasing paid version in future

Acceptance Criteria

  • Given that a game is started
  • When I select some language
  • And and that language is not English (not Latin character set)
  • Then I see all in-game texts translated
  • And all the language-specific characters are correctly displayed

Details

All translations will be provided by @trejder or @BeataTrej. Some of them will be:

  • manually translated (Polish, English),
  • auto-translated (Google Translate, Sillin Translatōr) and corrected by a person speaking in that language (French, Spanish)
  • auto-translated and left as is, as we don't know nobody speaking in that language (Ukrainian, Silesian)*

Note: A lot of people speaks Silesian. But we need a professional translation, i.e. with usage of correct diacritics (see below).

Languages and characters set

Please, double check that game supports all languages and are national-specific characters in that languages correctly.

The Latin alphabet

(for reference)

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, w, v, x, y, z
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, W, V, X, Y, Z

Link to Wikipedia: Latin script

The Polish alphabet

(specific characters only + entire Latin)

ą, ć, ę, ł, ń, ó, ś, ż, ź
Ą, Ć, Ę, Ł, Ń, Ó, Ś, Ż, Ź

Link to Wikipedia: Polish language

German alphabet

(specific characters only + entire Latin)

ä, ß, ö, ü
Ä, , Ö, Ü

Link to Wikipedia: German alphabet

The Spanish alphabet

(specific character sonly + entire Latin)

¿, ¡, á, é, í, ó, ú, ñ
¿, ¡, Á, É, Í, Ó, Ú, Ñ

Link to Wikipedia: Spanish orthography

The French alphabet

(specific characters only + entire Latin)

à, â, æ, ç, é, è, ê, ë, î, ï, ô, œ, ù, û, ü, ÿ
À, Â, Æ, Ç, É, È, Ê, Ë, Î, Ï, Ô, Œ, Ù, Û, Ü, Ÿ

Link to Wikipedia: French orthography

The Silesian alphabet

(specific characters only + entire Polish + entire Latin)

ã, , ŏ, ō, ô, õ, ů
Ã, , Ŏ, Ō, Ô, Õ, Ů

Link to Wikipedia: Silesian language

The Ukrainian alphabet

(Cyrylic)

а, б, в, г, ґ, д, е, є, ж, з, и, і, ї, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ь, ю, я, '
А, Б, В, Г, Ґ, Д, Е, Є, Ж, З, И, І, Ї, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ь, Ю, Я, '

Link to Wikipedia: Ukrainian alphabet

All required characters

(for testing purposes)

ąćęłńóśżźĄĆĘŁŃÓŚŻŹäßöüÄẞÖÜ¿¡áéíóúñ¿¡ÁÉÍÓÚÑ
àâæçéèêëîïôœùûüÿÀÂÆÇÉÈÊËÎÏÔŒÙÛÜŸãẽŏōôõůÃẼŎŌÔÕŮ
абвгґдеєжзиіїйклмнопрстуфхцчшщьюяАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ'
abcdefghijklmnopqrstuwvxyzABCDEFGHIJKLMNOPQRSTUWVXYZ

All the tests and checks should be preformed using both in-game font (#22) and the standard, default mobile app font.

Setup initial React Native app

Setup initial React Native app

Narrative

  • As a programmer
  • I want to be able to run React Native app
  • To have a base for further development

Walking around the town

Overview

Please, implement functionality and add a corresponding animation + sound when player walks around the town.

Narrative

  • As a player
  • I want be able to walk around the town
  • So that I can reach each interesting building

Acceptance Criteria

  • Given that I am in the city
  • When I press or button on the keyboard (desktop and web)
  • Or when I click with mouse (desktop and web version) or tap with finger (mobile) anywhere on the screen
  • Then character sprite moves by one full step left or right (when using keyboard)
  • Or then character sprite moves to the location matching X value of clicked or tapped point (when using mouse or finger)
  • And then corresponding character animation is displayed
  • And then corresponding sound is emitted
  • And then background image is adjusted accordingly

Setup initial React webapp

Setup initial React webapp

Narrative

  • As a programmer
  • I want to be able to run React plain web app
  • To have a base for further development

Start game and create menu

Narrative

  • As a player
  • I want to enter the game
  • To see the splash screen and be able to start a game.

Acceptance Criteria

  • Given game file
  • When entering a game I can see splash screen and menu after everything loads

Get assets for map view

@trejder could you crop out small parts of the map, so I can place it randomly? I have 3 mountains, city and cactus cropped out already, so everything else what will come

Revert Handjet font back to Pixelify Sans

Overview

We need to revert #22. Please, replace currently used Handjet font back to Pixelify Sans font, even thought it doesn't have some German ( and ) and Cyrylic (О, П, and І) letters.

The Handjet font is completely wrong when it comes into replicating original in-game font. It is way, way too narow!

Here is an original image to compare:

Original

Here is the same image and text drawn as close as possible in Paint:

Paint

And here -- quite very unsuccessful attempt of recreating the original image in Word:

Word

Here is the same Word document rendered with Pixelify Sans font:

image

Player changes position when resizing window.

Necessary steps

  1. Go to the game
  2. Change window width

Expected effects

What should happen.

Position of player should not change

What is actually happening.

Position of character has changed

Research about expo pricing, building etc.

Please, provide more information:

  1. Whether @trejder or @MadejaMaciej will be creating dev accounts in Google Play, App Store, Microsoft Store and Expo?
  2. Which package needs to be purchased at Expo?
  3. What is a raw estimate when first version of an app goes to each shop -- when accounts must be purchased?
  4. Do you need anything else (in business terms) in order to be successfully building each store's app?

You can provide answers in any way you wish (email, comment, phone call). I'll put them to the Wiki. Thank you.

In-game time flow when wandering around the town

Please, implement the functionality of passing in-game time when player is in the town.

You should use 17.50x ratio meaning that for every 17 seconds of real time 300 seconds of in-game time (5 minutes or one change on the clock) must pass. Details: Game. Time and Date.

This task is for implementing time-flow only. There will be a separate task for implementing visual display of the passing time.

Remember user selection about in-game language

Overview

Please, implement app-wide flag or player's profile setting that will store language that use has currently selected.

When application is started next time, remembered language should be used and entire interface should be in that language.

Narrative

  • As a player
  • I want my preference about language to be saved
  • So that I don't have to change game's language to preferred one each time

Acceptance Criteria

Save language

  • Given that I have started a game
  • And that I am in the options screen
  • When I change current in-game language
  • Then my preference is remembered

Load language

  • Given that I have started a game
  • When I pass the logo screen
  • Then I can see that the entire game is in language that I have set or used previously

Markdown renderer with support for translations

Please, implement Markdown renderer with support for translations and with some additional extensions.

In addition to #54 we need to support whole-page translations (or translation of big blocks of text), based on Markdown language, for features like credits or newspaper.

The mechanism of actually displaying credits or newspaper will be handled by a separate tickets. This ticket is for introducing Markdown renderer to our application only.

Details are given in our Wiki: Application. Translations → Translation of big blocks of text.

Assure correct pixel-to-pixel alignment across entire application

It was estimated that in 4K resolution (3840x2160 px) pixel-per-pixel (ppp) ratio is 11 pixels. Meaning that single in-game pixel cover the area of 11 x 11 pixels.

Please, make sure that this is assured and respected in the entire game:

  • No sprite's pixel may overlap background pixel in the middle etc.
  • No animation could appear on smaller than 11 pixels "distance"
  • All added objects (buttons, images) must align background or GUI interfaces to the 11x11 square

The above calculation and estimation is made for full-screen viewport in 4K resolution (3840x2160 px). For non-full-screen window in this resolution or for non-4K resolutions please adjust calculations and checks accordingly.

If this is already implemented and assured across entire app then please close this ticket as done.

Entering building

Overview

Please, implement functionality and add a corresponding animation + sound when player enters any building (except Laundry).

Narrative

  • As a player
  • I want be able to walk in to buildings
  • So that I can enable building-related functionality

Acceptance Criteria

  • Given that I am in the city
  • And that I am positioned vertically exactly in the middle of any building's doors (except Laundry)
  • When I press or w buttons on the keyboard (desktop and web)
  • Or when I click with mouse (desktop and web version) or tap with finger (mobile) anywhere within building's door
  • Then character sprite moves by one full step up (when using keyboard)
  • And then corresponding character animation is displayed
  • And then corresponding sound is heard
  • And then screen fades to black
  • And then screen fades to from black
  • And then game panel changes and displays "Exit" button instead of game logo

Detect system-default language

Overview

Please, implement a feature that will set in-game language to the same as system-default language, if there is no language preference done by player saved (#49).

Narrative

  • As a player
  • I want to see game in my system-default language
  • So that I don't have to change in from English, if this is not my default language

Acceptance Criteria

  • Given that I have started a game
  • And that I haven't changed language ever before
  • When I pass the logo screen
  • Then I can see that the entire game is in the same language as my system-default language

For the webapp version, I think you have to read default language out of browser settings (set in request header).

Updating Changelog

@MadejaMaciej Please, try to remember about updating CHANGELOG.md from time to time:

  • Based on closed issues
  • Once per bi-week sprint is enough or as often as you prefer (can be with every commit or branch merge, if you wish)
  • Only important things (that adds real business value to the game), no side works like extracting images or researching, please

Game versioning -- simplified sem-ver:

  • MAJOR -- changes at a very high-level (approximately once per 4-6 months):
    • 0.x.y -- 100% clone of the 1989's game
    • 1.x.y -- replacing images, updating texts and adding voice-overs
    • 2.x.y -- extending the game mechanics
  • MINOR -- +1 each time a milestone is closed and you successfully publish something to app stores
  • PATCH -- each two weeks (+1 per sprint)

Some rules:

  • if the implementation of given milestone takes longer than one sprint, increase the PATCH: 0.2.10.2.20.2.3 etc.,
  • if more than one milestone is completed in a one sprint, set the version to the "bigger" one, e.g. 0.2.30.4.1.

Simplified, meaning PATCH auto-increase each sprint, no need to increase version number with real patches, hot-fixes etc.

Save game feature

Overview

Please, implement the save game feature.

Narrative

  • As a player
  • I want when playing
  • To be able to save the game

Leaving building

Please, implement functionality and add a corresponding animation + sound when player leaves any building.

Narrative

  • As a player
  • I want be able to walk out of buildings
  • So that I can return to the city

Acceptance Criteria

  • Given that I am in the city
  • And that inside any building
  • When I press Esc button on the keyboard (desktop and web)
  • Or when I click with mouse (desktop and web version) or tap with finger (mobile) on the Exit button in game panel
  • Then corresponding sound is heard
  • And then screen fades to black
  • And then screen fades from black
  • And then character sprite moves by one full step down
  • And then corresponding character animation is displayed
  • And then corresponding sound is heard
  • And then game panel changes and displays game logo again

Remarks

After exiting any town's building player cannot move around the town (#30) and must step down the steps (#168) first.

Settings screen

Overview

Please, implement an options screen displayed directly after game logo.

Narrative

  • As a player
  • I want to enter the menu
  • To change sound and graphics settings (fullscreen, windowed, pixels).

Moving player while not changing screen background

Please, implement moving player while not changing background untill they reach end of the screen.

Image

First, it must be blocked to stop scrolling the background at certain edges of the town and then player must walk toward the screen edge and be frozen / stuck there (until we develop switching to map view).

Please, take a look how it is implemented in the original game:

Image

Generate map for game

Overview

Please, implement a general map feature in our game.

This task is for creating map entity in the game's ecosystem only. There will be a separate tasks for the ability to switch between map and other locations only or for moving around the map and for other features and functionalities that belongs to the map.

Narrative

  • As a player
  • I want be able to switch between map and locations
  • So that I can navigate through desert and be able to use location-related functionalities

Acceptance Criteria

The map entity exists in the application's ecosystem.

Import Google Font

Import Handjet from Google Fonts repository to be used across entire app.

Please, use the Light 300 kerning.

Carefully check loading / rendering times and any possible other display issues with this font.

If any issues or problem found, drop the "pixel font" idea and use either Amatic SC or Caveat fonts instead.

Note: Previously we wanted Pixelify Sans font, but it fails to render German and and Cyrylic О, П, and І correctly.

Create error handling

Please, implement an error handling routine and error displaying functionality.

It should display errors using our error screen which is based on common info-box (#58).

Setup initial Electron app

Setup initial electron app

Narrative

  • As a programmer
  • I want to be able to run electron plain app
  • To have a base for further development

Load game feature

Overview

Please, implement a load game feature.

Narrative

  • As a player
  • I want to load a game
  • To play from the point I finished

Acceptance Criteria

  • Given saved game
  • When I am able to load it and continue playing.

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.