A game based on the classic novella by Edwin Abbot, Flatland. It was published in 1884 as a work of political criticism by a math teacher in the late Victorian Era,  and accidentally inspired a century of forward-thinking physicists. It can be read for free here.

This was built as part of a Metroidvania jam, which has gone on over the past month. Typically I try and do these in 2.5D to 3D; but I'm still learning the quirks of Godot, and decided that this might just be a fun way to learn 2D platformers.  Then, I started thinking about 2D versus 3D, and what it might mean if I went all the way... and this idea was born!

The game is relatively brief, as I've had a lot going on over the past month. I have it filed in with my other Stand Up Games, and if it's reasonably popular, I may return to it and fill it out a bit. The book scripts very well, and many things (rain, Chromatistes, the nature of circles and higher-order polygons, and so forth) would make for great area themes.

Instructions:

You play as the square. Namely, the book's narrator, "A. Square".

WASD to move
Spacebar to jump
Drag the Mouse to use a module (known as a "Hyperplane Module", denoted by anything that is definitely not 2D and thus, clearly, a hyperdimensional anomaly...)
Roll the Mouse Wheel to change modules

As your objective, find the mysterious hyper-circle/sphere that is intersecting with Flatland.

'L' Down for One Full Second:  Return to the last auto-save point. The game periodically autosaves, mainly when you reach a critical point. You can also return to this point by dying. Health, location, and hyper-plane modules should be restored.

(Note: Due to time constraints, there are currently only two ways to get rid of a save file—you can either pass any other save point, or you can clear your cache for this specific page. Either one will replace it. I intend to add a save select feature in the future.)

Music, art, and sound effects are also by me, chiefly with LMMS, Gimp, and Blender 2.8. The artwork might get a touch-up one of these days; maybe a shader to take care of the lack of antialiasing on some of the line art.

Everybody have fun!

StatusReleased
PlatformsHTML5, Windows, macOS, Linux
Rating
Rated 3.0 out of 5 stars
(2 total ratings)
AuthorMichael Macha
GenreAction, Platformer
Made withBlender, LMMS, Godot
Tags2D, Godot, jumping, Metroidvania
Average sessionAbout a half-hour
LanguagesEnglish
AccessibilityHigh-contrast
LinksBlog, Patreon

Download

Download NowName your own price

Click download now to get access to the following files:

Flatlander -- Windows.zip 12 MB
Flatlander -- Linux.tar.gz 14 MB
Flatlander -- MacOS.zip 16 MB

Development log

Comments

Log in with itch.io to leave a comment.

(3 edits)
  • Can you add a way to quit the game, by pressing Q or by not restraining the mouse inside the window so that I can click the X?
  • After falling to the bottom of the map, I got respawned to a point where I was trapped because I no longer had any modules. Holding L didn't fix this.
  • The mouse-dragging mechanic fails when I can just move my mouse to the bottom/top of the window and click to instantly use a module to its full extent. Perhaps you could make it so that when you click, the mouse is grabbed so that you have to drag to use the module, no matter where on the window you click?

Great game!

So sorry it took me so long to get back to you—I've been working on a few books I've published over the past few months and have spent terribly little time on Itch.io. It should be relatively easy to add a way to quit the game, I'll look into the issue with the L key, and I'll look into the mouse issue.

I've had a few projects piling up on Itch from a sequence of game jams a half year ago; I've been trying to decide which ones need to be brought to completion. Flatland is certainly on that list. When I'm done with my third book and back to working with Godot, I'll make it a point to review these problems.

Thanks for playing!

Where can I read your books?

They're progressively on Amazon, starting in Kindle format (I'll have a proper paperback after I'm content with their state, later on). Roughly $6 each, up and down with time. Currently, I'm known for The Warrior Poet's Guide series, on building plug-ins for multimedia software, two on the market now—one is on plug-ins for Blender 2.80 (a very popular one), and the other on building plug-ins for GIMP 2.10. The next, as I finish it, will be on building audio plug-ins in LV2 (LADSPA) format, primarily demonstrated with Audacity and LMMS but you can use LV2 in a lot of different things. It's in progress now.

As far as the Debian error goes, this likely relates to Godot. I used an older version in producing Flatland (Godot 3.0), which is fun and small but far from perfect. When I get back to it (need to get the paid products out of the way first), I'll see about the Debian issue and whether it's maintained; there wasn't anything especially unusual going on in the build, but the toolkit was from two versions ago. It's funny, I didn't even realize that it depended on Python.

The new version is Godot 3.2. I'm going to see about testing it on Debian, since that is a freely accessible operating system, and I'm probably going to try and write the game in C instead of GDScript (the default language, an interpreted and veritable syntactual mess that I'm not fond of). In fact, if I'm going that far, I might just build it to WASM and keep a WASI interpreter on hand for each operating system—the game itself isn't that demanding, and it would make compatibility maintenance much easier. One thing at a time.

Sorry you had those issues. Thanks for playing, all the same!

Hey, if I just packed this thing into a Snap, Flatpak, or AppImage, with the dependencies with it, would you be willing to test it out and tell me how it works for you?

Just letting you know that I'm whittling on Flatlander again, and I've already resolved the press-Q-to-quit issue. (It could probably use a confirmation box though.) I've upgraded to Godot 3.2, so hopefully some of these bugs have been ironed out; but I hope you'll inform me when I miss one.

Expect an update in the next couple weeks.

There seems to be no reason or rhyme in how much health is lost in a hit. (and the few times it did only one unit worth of damage it pushed the character into inescapable death anyway)

Yes, that's a bug I'm aware of.

I can and will fix it by adding an invulnerability timer, but the day came to push to publishing before I could get around to it. 

Hopefully it isn't that much of an issue for you; I appreciate your patience. 

OK, after making breakfast this morning I sat down and implemented the timer. The new version (1.01) should give you a second of invulnerability after contact with anything dangerous, and nothing will do more than a single point of damage.

Thanks for the feedback!