# LRS: Projects Needed

WIP

*See also [exercises](exercises.md).*

{ If you want to maybe start some project here I'll be glad if you let me know before you start, it can be good to talk about it first as I already have some ideas about how to make some of these projects, I just don't have time to work on them, I will just give you the ideas I have if you want, we can discuss how to best write the code etc. Of course it's all up to you, I'm just offering advice and discussion :) ~drummyfish }

Here is a list of some projects and project ideas which we, [LRS](lrs.md), need to make in order to pursue our goals. The projects here are mostly basic things and tools that already exist in some form, but that have to be made from scratch according to [LRS](lrs.md) philosophy, i.e. in a KISS/suckless way, under public domain, in a good language (C, comun, ...) etc. This is kind of a dirty list serving some rough organization. If you have the skills and will (or know someone who does), you may take inspiration here, pick one up and make it, or contribute to some of the projects listed here. Also note that it's still possible to make multiple projects of the same type, e.g. you may still create another chess engine even though we already have one, just watch out that this is justified (it should offer something worth the extra effort).

NOTE: **We also desperately need [suckless](suckless.md) rewrites of "FOSS" software**, i.e. of [shitware](shitware.md) that perhaps has "open soars" written on it but is generally unusable: this includes for example anything that uses [Docker](docker.md), [Rust](rust.md), [CMake](cmake.md), encryption libraries, anything that needs "up-to-date" packages, Internet connection and so on -- this software is equivalent to [proprietary](proprietary.md) software in that it cannot be used. Rewrite it in plain old C.

| what                                   | difficulty | implementation                  | by           |  status             | comment                                                         | similar/for now use       |
| -------------------------------------- | ---------- | ------------------------------- | ------------ | ------------------- | --------------------------------------------------------------- | ------------------------- |
| 2D image editor                        | mid?       |                                 |              |                     | KISS GIMP clone needed! Use LRS GUI lib. Glorified MS paint?    | ped, GIMP, classic colors |
| 2D raycasting engine (C)               | mid        | [raycastlib](raycastlib.md)     | drummyfish   | done                |                                                                 |                           |
| 3D modelling software                  | mid/hard?  |                                 |              |                     | Blender clone needed! LRS GUI lib + small3dlib, just .obj files | Blender :(                |
| 3D physics engine (C)                  | hard       | [tinyphysicsengine](tpe.md)     | drummyfish   | done                | could use a true rigid body one too                             |                           |
| 3D raytracing library                  | mid?       |                                 |              | had vague plans     |C lib for shooting 3D rays, allows raycast., RT, pathtr., ...    | POV-RAY                   |
| 3D renderer (C)                        | mid/hard   | [small3dlib](small3dlib.md)     | drummyfish   | done                |                                                                 | TinyGL, PortableGL        |
| 3D voxel renderer (C)                  | mid/hard?  |                                 |              |                     | like Ken Silverman's voxlap, looks very nice                    | voxlap                    |
| [Anarch](anarch.md) mods               | easy       |                                 |              | more would be nice  | for fun                                                         |                           |
| artificial human language              | hard?      |                                 |              | thinking bout it    |need LRS lang., big problems with definitions of words tho, think| Esperanto, Lojban, ...    |
| Arduino/Pokitto/... computer           | mid/hard?  |                                 |              |                     | until we have PD computer, we'll need a nice tiny embedded comp.|                           |
| audio/music editor                     | mid/hard?  |                                 |              |                     | for waveforms and/or MIDI (tracker music), can even be CLI/TUI  | Audacity, LMMS, ...       |
| chat software                          | mid?       | dumbchat                        | drummyfish   | one done            | make it KISS, no encryption, no Unicode, ... just chat!         | IRC                       |
| [chatbot](chatbot.md)                  | mid?       |                                 |              | plans in my head    | probably NOT neural net, KISS lib for good enough chatbot       |                           |
| [chess](chess.md) engine/library (C)   | mid/hard   |[smallchesslib](smallchesslib.md)| drummyfish   | done                | it's not very strong tho :/                                     |                           |
| [compression](compression.md) lib/util | mid?       | shitpress/comunpress            | ...          | one so far          |                                                                 |                           |
| data, datasets                         | easy/mid?  |                                 |              |can never have enough|simple format CC0 data (CSV etc.): txt dictionaries, star DB, ...| Wikidata, ...             |
| dating/friend searching website        | mid?       |                                 |              |                     | we are lonely + don't wanna use proprietary dating shit         |                           |
| [free universes](free_universe.md)     | mid/hard?  |                                 |              |                     | need at least one fantasy and one sci-fi, for games n shit      |                           |
| fiction, stories, books                | mid?       |                                 |              |have some plans      | fairytales, sci-fi from LRS society etc.                        |                           |
| free cultural [porn](porn.md) website  | mid?       |                                 |              |                     | libre porn + suckless site (no JS), prev. attempts failed       | WMC porn, freedomporn.org |
| forum, chat, git/file host/mirror, ... | easy/mid?  |                                 |              |                     |for LRS community, if you have a server you could host something | email, IRC                |
| [gamebook](gamebook.md)                | easy/mid?  |                                 |              |                     |can be done by nonprogrammers and later be made into PC game too |                           |
| game engine/fantasy console (tiny)     | easy/mid   | [SAF](saf.md)                   | drummyfish   | done                |                                                                 |                           |
| game engine: point n click adventure   | mid        |                                 |              |                     |                                                                 |                           |
| game: [Doom](doom.md) clone            | hard       | [Anarch](anarch.md)             | drummyfish   | done                |                                                                 | Freedoom                  |
| game: [GTA](gta.md) clone              | hard       |                                 |              |                     |                                                                 |                           |
| game: [Minecraft](minecraft.md) clone  | hard?      |                                 |              |                     | Minetest is bloated as fuck, also bad license and SJWs          | Minetest :(               |
| game: text adventure                   | easy       |                                 |              |                     | pure CLI text adventure, maybe "US citizen simulator"? :)       |                           |
| game: [Trackmania](trackmania.md) clone| hard       | [Licar](licar.md)               | drummyfish   | started             |                                                                 |                           |
| game: [Pokemon](pokemon.md) clone      | hard?      |                                 |              |                     | catchable monsters game, procedurally generated ones? SAF?      | Tuxemon, ...              | 
| game: fantasy [RPG](rpg.md)            | hard?      |                                 |              |                     | Dream: Elder Scrolls clone, also just a dungeon crawler, ...    |                           |
| game: multiplayer arena shooter        | hard       |                                 |              |                     | Xonotic died, OpenArena is imperfect, we need a suckless one    | OpenArena?                |
| games: tiny ones                       | easy       | [uTD](micro_td.md), ...         | ...          |can never have enough| very tiny games, SAF is ideal for this, nice learning project   |                           |
| [go](go.md) engine/library (C or comun)| mid?       |                                 |              |                     |                                                                 |                           |
| [GUI](gui.md) library                  | easy/mid   |                                 |              |                     |like SAF but for "PC" GUI (mouse, sound, ...), now GUI's a mess  |                           |
| image/2D data library                  | mid?       |                                 |              |                     | C/comun lib for bitmaps (FFT, formats, ...), needs good planning|                           |
| logic circuit library/simulator (comun)| mid/hard?  |                                 |              |                     | will be needed for PD computer                                  |                           |
| Marble Blast clone (C?)                | mid/hard?  |                                 |              |                     | like Neverball but KISS, better controls, wouldn't be so hard   | Neverball                 |
| "[micronation](micronation.md)"        | ???        |                                 |              |                     | kinda joke, has to be anarchist, no money/government/army       |                           |
| [MUD](mud.md) codebase (C or comun)    | mid        |                                 |              |                     | AFAIK there is no nice MUD codebase now                         |                           |
| nice polished concise encyclopedia     | mid/hard?  |                                 |              |                     | nice printable UNCENSORED encyclop. (clone of Larousse Desk E.) |                           |
| neural net/other ML library            | hard?      |                                 |              |                     | could use something KISS in pure C without needed python n shit | nothing                   |
| steganography hosting anywhere         | easy/mid   |                                 |              |planning in head...  |embedding uncensored data anywhere on the Inet with steganography| darknet n shit            |
|[PD computer](public_domain_computer.md)| very hard  |                                 |              |                     | needs prerequisites done first (language, logic circ. lib., ...)| Thinkpads :)              |
| PD computer "[operating system](os.md)"| mid?       |                                 |              |                     | not now, will be more like Pokitto loader (see OS article)      |                           |
| [portal renderer](portal_rendering.md) | mid/hard?  |                                 |              |                     | for Anarch II? :)                                               | Doom engine, BUILD        |
| propaganda materials                   | easy       |                                 |              |can never have enough|wallpapers, songs, videos, translations, tutorials, games, ...   |                           |
| programming language                   | mid/hard   | [comun](comun.md)               | drummyfish   | done, continuing    |                                                                 | C, comun, FORTH, ...      |
| [search engine](search_engine.md)      | mid/hard?  |                                 |              |                     |like wiby, marginalia, ... support gopher, KISS (no DB, just txt)| wiby, marginalia, ...     |
| soundfonts                             | easy/mid   |                                 |              | working on one      | nice CC0 soundfonts so we can make completely PD MIDI           |                           |
| text editor (C, comun)                 | mid?       |                                 |              |                     | likely more will be made, need a standard KISS editor in comun  | vim etc.                  |
| translation/dictionary software        | mid?       |                                 |              |                     | Google translate alt., KISS, offline, even just word for word   |                           |
| vector fonts                           | mid?       | GirlsAreDumb, ...               | ...          | one done            | nice CC0 fonts for texts, there are too few of those            |Aileron, GirlsAreDumb, ... |
| web (gopher, ...) browser              | easy/mid?  |                                 |              |                     | like badwolf basically, but yet nicer (support gopher etc.)     |badwolf, netsurf, lynx, ...|
| wiki                                   | mid        | [LRS wiki](lrs_wiki.md)         | drummyfish   | done, continuing    |                                                                 |                           |
