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'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
|
||||
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
|
||||
side-scrolling platformer game. You can draw maps freehand or with some basic
|
||||
With _Sketchy Maze_, you may draw your own levels and then play them as a
|
||||
side-scrolling platformer game. You may draw maps freehand or with some basic
|
||||
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
|
||||
"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
|
||||
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
|
||||
doodads included in them depending on your version of the game.
|
||||
also be able to play custom maps created by others, which may come with their
|
||||
own custom doodads attached ([details](/register)).
|
||||
|
||||
## What devices can I play it on?
|
||||
|
||||
_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:
|
||||
|
||||
* **Windows** (64-bit and 32-bit)
|
||||
* **Mac OS** (Intel 64-bit only for now!)
|
||||
* **GNU/Linux**
|
||||
* x86_64, i386, and aarch64 release on Fedora-likes (.rpm) and Debian-likes (.deb) and .tar.gz
|
||||
* x86_64 and aarch64 Flatpak packages.
|
||||
* Flatpak (x86_64 and aarch64) should work across all modern Linux distributions.
|
||||
* 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!
|
||||
|
||||
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
|
||||
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.
|
||||
* The **[Steam Deck](https://store.steampowered.com/steamdeck/):** for _Sketchy Maze_ I just need joypad
|
||||
controls so you can navigate the UI and play the game without a mouse or keyboard, and this
|
||||
Nintendo Switch-like device would be an amazing host to my game!
|
||||
* The **[Steam Deck](https://store.steampowered.com/steamdeck/):** _Sketchy Maze_ has some joystick
|
||||
control support and with a little more love this Nintendo Switch-like device could be an amazing
|
||||
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?"
|
||||
|
||||
![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
|
||||
it "do" things. They are the Buttons, Switches, Trapdoors, and other traps
|
||||
and hazards to create puzzles and perilous platforming sections of your
|
||||
level.
|
||||
|
||||
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.
|
||||
|
||||
## 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
|
||||
the player in-game: "Watch out for spikes!"
|
||||
|
||||
You can use these generic scripts as a base and program your own logic and
|
||||
behavior in JavaScript. 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
|
||||
or playable characters.
|
||||
## How do I program a custom doodad?
|
||||
|
||||
There are some [full example doodads](https://code.sketchymaze.com/declassified/doodads)
|
||||
that you can learn from for creating your own custom Warp Doors or
|
||||
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!
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
|
@ -236,9 +269,13 @@ and maintain backwards compatibility for maps made today.
|
|||
## What is this game built with?
|
||||
|
||||
_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?
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
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)
|
||||
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
|
||||
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
|
||||
some simple graphical applications.
|
||||
|
||||
|
@ -271,8 +308,8 @@ some simple graphical applications.
|
|||
|
||||
GitHub mirrors of the above:
|
||||
|
||||
* [go/render](https://github.com/kirsle/render)
|
||||
* [go/ui](https://github.com/kirsle/ui)
|
||||
* [SketchyMaze/render](https://github.com/SketchyMaze/render)
|
||||
* [SketchyMaze/ui](https://github.com/SketchyMaze/ui)
|
||||
|
||||
Also this website, the user guidebook, and other things with the game are
|
||||
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?
|
||||
|
||||
These are relatively low on the priority list; maybe after the 1.0 release is
|
||||
feature-complete I'll work on making the game work on mobile phones.
|
||||
An Android app is the most likely one of these, but it may be a while out (after the
|
||||
"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
|
||||
Pinephone. This phone has a 720x1280 pixel display and _most_ of the UI buttons
|
||||
are usable in the level editor, doodads can be dragged onto levels, etc.; its
|
||||
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!
|
||||
I have some resources on how I might compile my game as an Android app, but I
|
||||
haven't found any info on how one compiles a Go SDL2 app for iOS; and I don't
|
||||
own any of the hardware needed to develop for iOS anyway.
|
||||
|
|
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