Update FAQ
This commit is contained in:
parent
19c4e0fb51
commit
d637d23e08
106
content/faq.md
106
content/faq.md
|
@ -12,31 +12,34 @@ About Sketchy Maze.
|
||||||
It is a "drawing-based maze game" themed around hand-drawn maps on paper.
|
It is a "drawing-based maze game" themed around hand-drawn maps on paper.
|
||||||
It's one part 'yet another 2D platformer game', one part 'Mario Maker but you can
|
It's one part 'yet another 2D platformer game', one part 'Mario Maker but you can
|
||||||
make whatever you want', and part educational game in that it might help teach
|
make whatever you want', and part educational game in that it might help teach
|
||||||
someone to code so they can program their own custom doodads.
|
someone to code so they can program their own custom doodads to use with their
|
||||||
|
levels.
|
||||||
|
|
||||||
With Sketchy Maze, you can draw your own levels and then play them as a
|
With _Sketchy Maze_, you may draw your own levels and then play them as a
|
||||||
side-scrolling platformer game. You can draw maps freehand or with some basic
|
side-scrolling platformer game. You may draw maps freehand or with some basic
|
||||||
drawing tools (like rectangles and ellipses), specify which color lines are
|
drawing tools (like rectangles and ellipses), specify which color lines are
|
||||||
"solid" and which behave like "fire" or "water," and then drag and drop various
|
"solid" and which behave like "fire" or "water," and then drag and drop various
|
||||||
"doodads" such as buttons and doors onto your map to add some interactive elements.
|
"doodads" such as buttons and doors onto your map to add some interactive elements.
|
||||||
|
|
||||||
If you're not much of a level designer, fear not! The game will also feature some
|
If you're not much of a level designer, fear not! The game will also feature some
|
||||||
built-in levels that you can play and get some inspiration from. You will
|
built-in levels that you can play and get some inspiration from. You will
|
||||||
also be able to play custom maps created by others, possibly with custom
|
also be able to play custom maps created by others, which may come with their
|
||||||
doodads included in them depending on your version of the game.
|
own custom doodads attached ([details](/register)).
|
||||||
|
|
||||||
## What devices can I play it on?
|
## What devices can I play it on?
|
||||||
|
|
||||||
_Sketchy Maze_ is first and foremost a videogame for **desktop operating systems.**
|
_Sketchy Maze_ is first and foremost a videogame for **desktop operating systems.**
|
||||||
It should run on any GNU/Linux, Microsoft Windows or Apple macOS computer.
|
It should run on any GNU/Linux, Microsoft Windows or Apple macOS computer. It also
|
||||||
|
happens to run on Linux smartphones and is mostly playable at screen resolutions as
|
||||||
|
narrow as 375x750.
|
||||||
|
|
||||||
I currently package releases of the game for:
|
I currently package releases of the game for:
|
||||||
|
|
||||||
* **Windows** (64-bit and 32-bit)
|
* **Windows** (64-bit and 32-bit)
|
||||||
* **Mac OS** (Intel 64-bit only for now!)
|
* **Mac OS** (Intel 64-bit only for now!)
|
||||||
* **GNU/Linux**
|
* **GNU/Linux**
|
||||||
* x86_64, i386, and aarch64 release on Fedora-likes (.rpm) and Debian-likes (.deb) and .tar.gz
|
* Flatpak (x86_64 and aarch64) should work across all modern Linux distributions.
|
||||||
* x86_64 and aarch64 Flatpak packages.
|
* Native packages (x86_64, i386, and aarch64) for Fedora-likes (.rpm) and Debian-likes (.deb) and .tar.gz
|
||||||
* Works on Linux smartphones like the Pinephone and Librem 5!
|
* Works on Linux smartphones like the Pinephone and Librem 5!
|
||||||
|
|
||||||
Some places I could see it going in the future:
|
Some places I could see it going in the future:
|
||||||
|
@ -45,19 +48,26 @@ Some places I could see it going in the future:
|
||||||
how to run a Go SDL2 program like mine on Android but its documentation seems outdated and I haven't
|
how to run a Go SDL2 program like mine on Android but its documentation seems outdated and I haven't
|
||||||
figured it out yet. I'm using my Pinephone to plan a mobile/touch friendly UI but Android is a
|
figured it out yet. I'm using my Pinephone to plan a mobile/touch friendly UI but Android is a
|
||||||
likely target at some point.
|
likely target at some point.
|
||||||
* The **[Steam Deck](https://store.steampowered.com/steamdeck/):** for _Sketchy Maze_ I just need joypad
|
* The **[Steam Deck](https://store.steampowered.com/steamdeck/):** _Sketchy Maze_ has some joystick
|
||||||
controls so you can navigate the UI and play the game without a mouse or keyboard, and this
|
control support and with a little more love this Nintendo Switch-like device could be an amazing
|
||||||
Nintendo Switch-like device would be an amazing host to my game!
|
host to my game! I don't own a Deck but try and see if my game can run on it,
|
||||||
|
[let me know](https://www.kirsle.net/contact) how it goes!
|
||||||
|
|
||||||
## What are "doodads?"
|
## What are "doodads?"
|
||||||
|
|
||||||
|
![Bird](https://www.sketchymaze.com/guidebook/images/doodads/bird.gif)
|
||||||
|
![Snake](https://www.sketchymaze.com/guidebook/images/doodads/snake.gif)
|
||||||
|
![Button](https://www.sketchymaze.com/guidebook/images/doodads/button-a.gif)
|
||||||
|
![Electric Door](https://www.sketchymaze.com/guidebook/images/doodads/electric-door.gif)
|
||||||
|
|
||||||
Doodads are the dynamic objects you drag and drop into your level to make
|
Doodads are the dynamic objects you drag and drop into your level to make
|
||||||
it "do" things. They are the Buttons, Switches, Trapdoors, and other traps
|
it "do" things. They are the Buttons, Switches, Trapdoors, and other traps
|
||||||
and hazards to create puzzles and perilous platforming sections of your
|
and hazards to create puzzles and perilous platforming sections of your
|
||||||
level.
|
level.
|
||||||
|
|
||||||
The game ships with a handful of [built-in doodads](/guidebook/doodads.html)
|
The game ships with a handful of [built-in doodads](/guidebook/doodads.html)
|
||||||
and players may also create their own, and program their behavior using
|
and players may also [create their own](/guidebook/custom-doodads/index.html),
|
||||||
|
and [program their behavior](/guidebook/custom-doodads/scripts.html) using
|
||||||
JavaScript.
|
JavaScript.
|
||||||
|
|
||||||
## Do I need to learn how to program?
|
## Do I need to learn how to program?
|
||||||
|
@ -72,11 +82,23 @@ You can also create some useful custom doodads in-game by selecting from a
|
||||||
doodad and choose the "Generic Fire" script and it will act as a hazard to
|
doodad and choose the "Generic Fire" script and it will act as a hazard to
|
||||||
the player in-game: "Watch out for spikes!"
|
the player in-game: "Watch out for spikes!"
|
||||||
|
|
||||||
You can use these generic scripts as a base and program your own logic and
|
## How do I program a custom doodad?
|
||||||
behavior in JavaScript. There are some
|
|
||||||
[full example doodads](https://code.sketchymaze.com/declassified/doodads)
|
There are some [full example doodads](https://code.sketchymaze.com/declassified/doodads)
|
||||||
that you can learn from as well for creating your own custom Warp Doors
|
that you can learn from for creating your own custom Warp Doors or
|
||||||
or playable characters.
|
playable characters similar to the ones the game ships with.
|
||||||
|
|
||||||
|
You may also peek at [the game's built-in doodad sources](https://code.sketchymaze.com/game/assets)
|
||||||
|
to see how they're programmed if you want to make something similar.
|
||||||
|
|
||||||
|
You may also pick from a built-in generic script for your doodad, and then
|
||||||
|
download the script out of your doodad to use as a starting place to
|
||||||
|
customize it.
|
||||||
|
|
||||||
|
See the [Doodad Scripts](/guidebook/custom-doodads/scripts.html) documentation
|
||||||
|
that came in the game's Guidebook and the
|
||||||
|
[full JavaScript reference](/guidebook/custom-doodads/api-reference.html)
|
||||||
|
for more information.
|
||||||
|
|
||||||
## The user interface is ugly!
|
## The user interface is ugly!
|
||||||
|
|
||||||
|
@ -94,6 +116,17 @@ graphical application. One day, the UI toolkit will support fancy theming
|
||||||
of widgets, and _Sketchy Maze_ will very easily look better (or have
|
of widgets, and _Sketchy Maze_ will very easily look better (or have
|
||||||
user-configurable themes available to choose from).
|
user-configurable themes available to choose from).
|
||||||
|
|
||||||
|
## Why does my launcher icon have an orange logo?
|
||||||
|
|
||||||
|
<img src="/images/pinephone-apps-crop.png"
|
||||||
|
style="cursor: pointer"
|
||||||
|
onClick="this.src = this.src.indexOf('crop') > -1 ? '/images/pinephone-apps.png' : '/images/pinephone-apps-crop.png'">
|
||||||
|
|
||||||
|
Since version 0.13.0, Flatpak builds for Linux are now using an orange
|
||||||
|
version of the launcher icon. This is mostly because I install both the
|
||||||
|
Flatpak and the native (rpm/deb) package simultaneously and it was hard to
|
||||||
|
tell which version is which!
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Known Issues
|
# Known Issues
|
||||||
|
@ -236,9 +269,13 @@ and maintain backwards compatibility for maps made today.
|
||||||
## What is this game built with?
|
## What is this game built with?
|
||||||
|
|
||||||
_Sketchy Maze_ runs on a custom game engine, built from the ground up, in the
|
_Sketchy Maze_ runs on a custom game engine, built from the ground up, in the
|
||||||
[Go](https://golang.org) programming language using [SDL2](https://www.libsdl.org/) for graphics via [veandco/go-sdl2](https://github.com/veandco/go-sdl2) bindings for Go.
|
[Go](https://golang.org) programming language and using [SDL2](https://www.libsdl.org/)
|
||||||
|
for graphics, sound, gamepad and other basic features via the
|
||||||
|
[veandco/go-sdl2](https://github.com/veandco/go-sdl2) bindings for Go.
|
||||||
|
|
||||||
While the game itself is not open source, some of its critical components are released as free and open source projects that other developers can use in their projects.
|
While the game itself is not open source (yet), some of its critical components are
|
||||||
|
released as free and open source projects that other developers can use in
|
||||||
|
their projects.
|
||||||
|
|
||||||
## Is this game open source?
|
## Is this game open source?
|
||||||
|
|
||||||
|
@ -249,16 +286,16 @@ _Sketchy Maze_ was built from the ground up using little more than
|
||||||
I was designing the game, I thought it'd be a good idea to write an abstraction
|
I was designing the game, I thought it'd be a good idea to write an abstraction
|
||||||
layer between low-level SDL2 functions and give me a clean, Go-like API to work
|
layer between low-level SDL2 functions and give me a clean, Go-like API to work
|
||||||
with that keeps my code from either _depending_ too much on SDL or for my Go
|
with that keeps my code from either _depending_ too much on SDL or for my Go
|
||||||
code to be written too C-like to work with it.
|
code to be written too much like C to work with its raw API.
|
||||||
|
|
||||||
So I built my own [render](https://git.kirsle.net/go/render) library that
|
So I built my own [render](https://git.kirsle.net/go/render) library that
|
||||||
abstracts around SDL2 for desktops and HTML5 Canvas elements for WebAssembly,
|
abstracts around SDL2 for desktops (and HTML Canvas elements for WebAssembly),
|
||||||
and my game needed UI buttons so I wrote a [UI toolkit](https://git.kirsle.net/go/ui)
|
and my game needed UI buttons so I wrote a [UI toolkit](https://git.kirsle.net/go/ui)
|
||||||
which provides Labels, Buttons, Menus, Windows, and all sorts of useful widgets
|
which provides Labels, Buttons, Menus, Windows, and all sorts of useful widgets
|
||||||
to draw my user interface with. The render engine can be extended to target
|
to draw my user interface with. The render engine can be extended to target
|
||||||
other APIs, such as OpenGL or Vulkan, in the future as needs arise.
|
other APIs in the future, such as OpenGL or Vulkan, as needs arise.
|
||||||
|
|
||||||
Here are a list of open source projects created **as a part of** development of
|
Here are a list of open source projects released as a part of development of
|
||||||
_Sketchy Maze_ which should be generally useful to any Go developers for making
|
_Sketchy Maze_ which should be generally useful to any Go developers for making
|
||||||
some simple graphical applications.
|
some simple graphical applications.
|
||||||
|
|
||||||
|
@ -271,8 +308,8 @@ some simple graphical applications.
|
||||||
|
|
||||||
GitHub mirrors of the above:
|
GitHub mirrors of the above:
|
||||||
|
|
||||||
* [go/render](https://github.com/kirsle/render)
|
* [SketchyMaze/render](https://github.com/SketchyMaze/render)
|
||||||
* [go/ui](https://github.com/kirsle/ui)
|
* [SketchyMaze/ui](https://github.com/SketchyMaze/ui)
|
||||||
|
|
||||||
Also this website, the user guidebook, and other things with the game are
|
Also this website, the user guidebook, and other things with the game are
|
||||||
readable as open source code, at https://code.sketchymaze.com/
|
readable as open source code, at https://code.sketchymaze.com/
|
||||||
|
@ -290,15 +327,12 @@ it just freezes web browsers frequently and I'm not letting you see it yet.
|
||||||
|
|
||||||
## Is it coming to Android or iOS?
|
## Is it coming to Android or iOS?
|
||||||
|
|
||||||
These are relatively low on the priority list; maybe after the 1.0 release is
|
An Android app is the most likely one of these, but it may be a while out (after the
|
||||||
feature-complete I'll work on making the game work on mobile phones.
|
"1.0" release). The game is primarily meant for desktop-sized displays, but it
|
||||||
|
also runs as-is on GNU/Linux smartphones like the Pinephone, so I am testing
|
||||||
|
the game on that to make sure it _mostly_ works on that size of screen, if only a
|
||||||
|
bit awkwardly.
|
||||||
|
|
||||||
Already the game _sort of_ functions on GNU/Linux smartphones such as the
|
I have some resources on how I might compile my game as an Android app, but I
|
||||||
Pinephone. This phone has a 720x1280 pixel display and _most_ of the UI buttons
|
haven't found any info on how one compiles a Go SDL2 app for iOS; and I don't
|
||||||
are usable in the level editor, doodads can be dragged onto levels, etc.; its
|
own any of the hardware needed to develop for iOS anyway.
|
||||||
current biggest issue is with the on-screen keyboard app not being able to press
|
|
||||||
two keys simultaneously (like to move and jump at the same time).
|
|
||||||
|
|
||||||
An Android port would likely be the first one _after_ testing on the Pinephone
|
|
||||||
to get a touch-friendly user interface going. This game mainly just uses SDL2
|
|
||||||
which is good for portability!
|
|
||||||
|
|
BIN
static/images/orange-128.png
Normal file
BIN
static/images/orange-128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
BIN
static/images/orange-64.png
Normal file
BIN
static/images/orange-64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
BIN
static/images/pinephone-apps-crop.png
Normal file
BIN
static/images/pinephone-apps-crop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
BIN
static/images/pinephone-apps.png
Normal file
BIN
static/images/pinephone-apps.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 159 KiB |
Loading…
Reference in New Issue
Block a user