Ero sivun ”Namegen” versioiden välillä

Siirry navigaatioon Siirry hakuun
p typo
 
(5 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 9: Rivi 9:
| moottori      =  
| moottori      =  
| ensijulkaisu  = 0.1.0 (2025)
| ensijulkaisu  = 0.1.0 (2025)
| vakaaversio    = 1.2.0
| vakaaversio    = 1.3.1
| vakaapvm      = 22. joulukuuta 2025
| vakaapvm      = 23. joulukuuta 2025
| kehitysversio  =  
| kehitysversio  =  
| kehityspvm    =  
| kehityspvm    =  
| ohjelmoitu    = [[C]]
| ohjelmoitu    = [[C]]
| käyttöliittymä = [[Komentorivi]] (cli)
| käyttöliittymä = [[Komentorivi]] (cli)
| tyyppi        =  
| tyyppi        = nimi generaattori
| lisenssi      = [[GPLv3]]
| lisenssi      = [[GPLv3]]
| kotisivu      = [https://github.com/lahtis/GeneSim/ github.com/lahtis/GeneSim/]
| kotisivu      = [https://github.com/lahtis/GeneSim/ github.com/lahtis/GeneSim/]
| lähdekoodi    = [https://github.com/lahtis/GeneSim/tree/main/src github.com/lahtis/GeneSim/]
| lähdekoodi    = [https://github.com/lahtis/GeneSim/tree/main/namegen github.com/lahtis/GeneSim/tree/main/namegen]
}}
}}
'''Namegen''' on avoimen lähdekoodin [[komentorivi]] pohjainen nimisimulaattori, joka lukee etunimen, välinimen ja sukunimen historiallisista suomenkielisistä [[CSV]]-tiedostoista.  
'''Namegen''' on avoimen lähdekoodin [[komentorivi]] pohjainen nimisimulaattori, joka lukee etunimen, välinimen ja sukunimen historiallisista suomenkielisistä [[CSV]]-tiedostoista.  
Rivi 49: Rivi 49:
* Aika-aukotota realismia: Valitse tarkasti haluamasi aikakausi (1860-luvulta 1920-luvulle). Vain tuo aikaan sopivat nimet tulivat käyttöön.
* Aika-aukotota realismia: Valitse tarkasti haluamasi aikakausi (1860-luvulta 1920-luvulle). Vain tuo aikaan sopivat nimet tulivat käyttöön.


== Täydellinen hallinta nimellesi ==
== Tekniset ominaisuudet ja datan vienti ==
Räätälöi nimen jokainen osa:
Version 1.2.0 myötä Namegen on muuttunut pelkästä tekstigeneraattorista monipuoliseksi datatyökaluksi. Ohjelma tukee nyt useita standardimuotoja, jotka mahdollistavat saumattoman integraation muihin sovelluksiin.
* Sukupuolen valinta: Valitse joko mies- tai naisnimet (tai molemmat paritilassa).
 
* Sukunimen täysi kontrolli:
'''Tuetut vientimuodot (--output):'''<br>
* Pakota sukunimi: Aseta tietty sukunimi (esim. -S Nieminen) kaikille nimille. Täydellinen, kun haluat luoda useita henkilöitä samaan sukuun.
 
* Satunnainen generointi: Anna ohjelman valita sukunimi kattavasta sukunimilistasta.
* JSON: Tuottaa täysin validoitua JSON-dataa. Syntymävuodet ja nimet on rakenteistettu oikein, joten tiedosto on suoraan luettavissa nykyaikaisilla ohjelmointikielillä ja pelimoottoreilla (esim. Unity ja Unreal Engine).
* Hienosäädä todennäköisyys: Säädä keskinimen esiintymistodennäköisyys (0–100%).
* CSV: Standardimuotoinen taulukkolaskentatiedosto. Erinomainen työkalu suurten väestölistojen hallintaan Excelissä tai Google Sheetsissä. Sisältää vakioidut sarakkeet etunimille, sukunimille ja iälle.
* Plain Text: Selkeä ja luettava listaus suoraan konsoliin, joka sopii nopeaan ideointiin ja hahmojen selailuun.
 
'''Deterministinen generointi (--seed)'''<br>
Ohjelma käyttää kehittynyttä satunnaislukugenerointia, jota voidaan hallita `--seed` -lipulla.
* Syöttämällä saman siemenluvun (esim. `--seed 1233`), saat joka kerta täsmälleen saman listan nimiä ja ikiä.
* Tämä takaa, että peliympäristösi pysyy muuttumattomana eri kehitysversioiden välillä.
 
'''Automaattinen laadunvarmistus (test.py)'''<br>
Projektin mukana toimitetaan Python-pohjainen testausympäristö, joka varmistaa koodin vakauden:
* Validointi: Tarkistaa, että JSON-rakenne on virheetön.
* Eheys: Varmistaa, että CSV-sarakkeet pysyvät linjassa.
* Konsistenssi: Testaa, että deterministinen generointi (seed) toimii odotetulla tavalla kaikissa formaateissa.
 
'''Suorituskyky ja koodin laatu:'''<br>
* Ohjelma on kirjoitettu puhtaalla C-kielellä, mikä takaa salamannopean generoinnin myös tuhansille nimille kerralla.
* Muistinhallinta on optimoitu.
 
== Kääntäminen ==
Ohjelma on helposti käännettävissä [[GCC]]:llä seuraavasti.
gcc main.c args.c generator.c loader.c output.c utils.c -o namegen
 
== Käyttö ==
JSON-moodi mahdollistaa komentoketjut, esimerkiksi 
./namegen --count 10 --output json | grep "Virtanen".


== Aiheesta muualla ==
== Aiheesta muualla ==
Noudettu kohteesta ”https://www.linux.fi/wiki/Namegen