All Projects → eobermuhlner → alien-script-generator

eobermuhlner / alien-script-generator

Licence: other
Procedurally generated front for alien languages

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to alien-script-generator

WaveCollapseFunction
Unity project that uses Wave Collapse Function to procedurally generate buildings
Stars: ✭ 20 (+17.65%)
Mutual labels:  procedural-generation
spacestation
A procedural spacestation generator
Stars: ✭ 22 (+29.41%)
Mutual labels:  procedural-generation
Thalatta
An open source terrain generation suite.
Stars: ✭ 37 (+117.65%)
Mutual labels:  procedural-generation
flowing-terrain
Algorithm for creating 3 dimensional terrain maps and their likely watercourses.
Stars: ✭ 27 (+58.82%)
Mutual labels:  procedural-generation
convchain
Javascript port of https://github.com/mxgmn/ConvChain
Stars: ✭ 44 (+158.82%)
Mutual labels:  procedural-generation
fontawesome-subset
Creates subsets of FontAwesome fonts for optimized use on the web.
Stars: ✭ 41 (+141.18%)
Mutual labels:  glyphs
calder
Interactive constraints for controlling the growth of procedural models.
Stars: ✭ 17 (+0%)
Mutual labels:  procedural-generation
TaurusDungeonGenerator
A graph based procedural dungeon generator for Unity
Stars: ✭ 25 (+47.06%)
Mutual labels:  procedural-generation
ProceduralDungeon
This is an Unreal Engine 4/5 plugin to generate procedural dungeon.
Stars: ✭ 95 (+458.82%)
Mutual labels:  procedural-generation
xibalba
A Mayan roguelike
Stars: ✭ 50 (+194.12%)
Mutual labels:  procedural-generation
FontRNN
Implementation of FontRNN [Computer Graphics Forum, 2019].
Stars: ✭ 27 (+58.82%)
Mutual labels:  glyphs
camp
Building generative VR worlds on the Web
Stars: ✭ 16 (-5.88%)
Mutual labels:  procedural-generation
dungeon
A configurable and editable dungeon generator using Binary-Space Partitioning and hand-made rooms.
Stars: ✭ 49 (+188.24%)
Mutual labels:  procedural-generation
SimpleErosion
Simple C++ implementatoin of particle-based hydraulic erosion on a square grid
Stars: ✭ 64 (+276.47%)
Mutual labels:  procedural-generation
accrete-starform-stargen
An attempt to reconcile all available versions of the Accrete/Starform/Stargen solar system generator.
Stars: ✭ 24 (+41.18%)
Mutual labels:  procedural-generation
procedural-art
🌌 Procedural art with vanilla JavaScript
Stars: ✭ 83 (+388.24%)
Mutual labels:  procedural-generation
random-art-generator
Command-line application to produce generative art based on a target image
Stars: ✭ 32 (+88.24%)
Mutual labels:  procedural-generation
fractal-noise-js
Fractal noise functions
Stars: ✭ 37 (+117.65%)
Mutual labels:  procedural-generation
Symbinode
Free and open source program for creating procedural materials.
Stars: ✭ 52 (+205.88%)
Mutual labels:  procedural-generation
beatrix
A tool to chop off useless fonts glyphs and convert TTF/OTF into WOFF & WOFF2
Stars: ✭ 22 (+29.41%)
Mutual labels:  glyphs

Procedurally generated fonts for alien languages

This project is a proof of concept to generate "fonts" for alien languages (e.g. for a sci-fi game).

Each font consists of the glyph images for 26 letters, 10 digits and a few punctuation characters.

Obviously alien languages would probably not follow these rules, this is an arbitrary decision to make them easy to compare visually. The algorithm could easily create hundreds of letters. Together with a (probably n-gram based) procedural sequence of these letters very different looking alien languages could be generated.

The following examples are automatically generated with the first 9 random seeds.

Each example has fairly consistent rules used to generate the glyphs for this language. The rules for digits vary slightly from the rules for letters. Punctuation glyphs are much simpler than normal letters but still follow similar construction rules. Operator glyphs are a bit more complex than punctuation glyphs. Three types of symmetrical brackets are available.

Have a look at the Lorem Ipsum links for each example. They show the two classical texts to show simple fonts: "The quick brown fox" and "Lorem ipsum". See whether you can spot the two numbers in the text (hint: they are surrounded by symmetrical brackets).

Each glyph is guaranteed to be distinct from all the other glyphs in the same font by pre-rendering and comparing pixel-wise during construction of the font. Unfortunately this can still produce visually very similar glyphs to us humans, but rest assured - the aliens have much more accurate visual perception and laugh at our problems to read their language.

Enhancement Ideas

  • variable width glyph (proportional instead of monospaced fonts)
  • add rule for closed loops
  • add rule to avoid crossing lines
  • add rule to prefer going forward
  • add probability to move next stroke in the same (similar) direction
  • recursive construction of glyphs (similar to Korean, Devanagari)
  • optionally create upper/lower case variants of letters
  • diacritic glyphs
  • support subsets (e.g. vowels) to follow separate rules (e.g. to be diacritics)
  • create TTF font
  • generate example fonts for "reference" rulesets (e.g. latin-looking glyphs) to verify quality of rules

Examples

Example 1

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 2

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 3

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 4

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 5

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 6

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 7

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 8

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Example 9

Link to Lorem Ipsum.

Letters

a b c d e f g h i j k l m n o p q r s t u v w x y z

Digits

0 1 2 3 4 5 6 7 8 9

Punctuation

point comma colon semicolon exclamation question plus minus mult div equal open_square_bracket close_square_bracket open_round_bracket close_round_bracket open_curly_bracket close_curly_bracket

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].