A Game to learn Topography
Search the asked location on a map or type the name of the asked location!
Ever extending online library of levels created by you or myself
Here, get a glimpse of how it looks: video
For now: only German is available
Just run the provided installer executable.
You can follow the manual installation as well.
Untested!!! Built-in Levels should work but nothing is guaranteed. (See Currently Known Limitations)
Look Manual Installation
-
Install Python 3.9 (min. 3.8) from here
-
Download source code and unzip it to a new folder.
-
Create a virtual environment if you don't want to clutter your Python installation. (Skip if you don't care [if you don't use Python regularly, you probably don't ])
-
Open Terminal and navigate to your previously created folder (probably using
cd
command) -
Execute
python -m venv venv
, installpython-venv
if necessary -
Activate virtual environment:
-
Linux & Mac:
source ./venv/bin/activate
-
Windows:
./venv/Scripts/activate
-
-
-
Install dependencies:
- Execute
pip install pygame==2.0.1 requests==2.25.1 packaging==20.8 easing-functions==1.0.3
(if you didn't use a virtual environment usepython -m pip install ...
)
- Execute
-
Pretty much done:
- To run TopoLoco activate
-
Create a shortcut for convenience:
-
Windows:
-
Create a
.bat
file to launchtopoloco.py
:If you are using a virtual environment:
- Locate
topoloco.py
in downloaded source folder and copy its path (something likeC:\<User>\Documents\topoloco\topoloco.py
)
2. Locate `pythonw.exe` inside `venv/Scripts/` and copy its path (something like `C:\<User>\Documents\topoloco\venv\Scripts\pythonw.exe`) 3. Open a text editor (like notepad / editor / notepad ++) and type: ```bat @echo off start "topoloco" /D <path-to-sourcefolder-root> <path-to-pythonw.exe> topoloco.py ``` Example `run.bat`: ```bat @echo off start "topoloco" /D D:\<user>\topoloco\py_topoloco D:\<user>\topoloco\py_topoloco\venv\Scripts\pythonw.exe topoloco.py ``` 4. Save file as `run.bat` be sure that the file ends with`.bat`!
If not:
- Locate source folder and copy its path (something like
C:\<User>\Documents\topoloco\
, it containstopoloco.py
) - Open a text editor (like notepad / editor / notepad ++) and type:
@echo off start "topoloco" /D <path-to-sourcefolder-root> pythonw topoloco.py
Example `run.bat`:
@echo off start "topoloco" /D C:\<User>\Documents\topoloco\ pythonw topoloco.py
3. Save file as
run.bat
be sure that the file ends with.bat
! - Locate
-
Right-click on your
run.bat
file and selectSend-To/Desktop
. There you have your shortcut!
-
-
Linux:
- If you have a solution, let me know
-
Mac:
- Here too, let me know if you know a solution
-
-
Update mechanism works only on Windows
-
Online Library only on Windows working (probably, idk because I haven't tested it)
If you've created a level, feel free to create an issue or contact me, so I can include it into the Online Library
A level contains of a json
file and a png
or other image format file.
The json
file is pretty straightforward, just look into existing levels.
A hint though:
- The coordinates are relative to the image
- Localization
- Platform independency
- Code clean up (like Dependency injection)
- Level creator/editor
- More levels
- smarter marker choosing algorithm than just random
- category selector
- different colored marker
- better animated UI, improve overall UX
- idk, whatever bug appears or feature suggestions
Now, the more technical things
The installer is built using pynsist
.
pynsist installer.cfg
Feel free to create PRs and or contact me directly if anything bothers you.
Create an issue or if don't know how this works (like me) contact me directly
You are welcome to contribute your improvements on platform compatibility. Like fiddling around with pyinstaller
to create executables that work :)
On Python 3.9.1 developed and tested (Windows only for now)
pygame==2.0.1
easing-functions==1.0.3
packaging==20.8
requests==2.25.1
- Structure of game using scenes in PyGame (I forgot where it was :( )
- uuhm, if I remember them again, I will update
Now again: drop in every single comment, feedback and contribution somewhere on GitHub or into my mail-inbox,
I'd really appreciate that! :)
You find contact information on the about page inside TopoLoco and here somewhere.