Nekromanti Planlösnings-generator

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Hej forumet. Efter mitt förra javascript-projekt "Mindmap-program och äventyrsgenerator" så är jag nu igång med ett program för att generera planlösningar. Behold!

http://omjonasson.se/rollspel/buildinglayout/

Som ni ser så är det bara väggar, dörrar och fönster (eller ja, en massa streck med olika färger, men ni hajjar nog vad som är vad). Sen vet jag inte i skrivande stund hur långt jag orkar dra det här.
Inte så långt: borde fixa en en trappa om det finns två våningar i alla fall...
Rätt jäkla långt: identifiera vilken rumstyp varje rum borde vara och fylla det med möbler.

(Och för den intresserade så har jag lekt med rekursion och krånglat till det ordentligt med dörr-genereringen, spana in källkoden).
 

konami_code

Veteran
Joined
24 May 2014
Messages
73
Oh, stiligt! Kan verkligen bli härligt om det utvecklas, grunden är bra. Om jag skulle arbeta på det skulle jag först och främst arbeta på att ställa in många eller få fönster ty nu känns det som att det blir rätt fullt av dessa. Nästa steg vore trappa som Rymdhamstern på pekar, det är ju nästan lika viktigt som dörrar. Olika storlekar, antalet rum osv vore ju nice. Man skulle så klart kunna dra det precis hus långt som helst, jag gillart men å andra sidan är jag helt för allt som är automagiskt slumpgenererat (heck, min profession är ju monte carlo-simuleringar av partikelflöden, how can I not love it?).
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Det ritas Math.floor(Math.random() * 3) + 3; (dvs minst 3 och som mest 5) väggar per våning. Färre om det visar sig att det blir för trångt (minst 80 pixlar mellan ett par väggar).

Det är fast antal fönster per vägg beroende på hur lång väggen är:
var horizontalWindows = Math.floor(((x2 - x1) / windowWidth) / 4);
var verticalWindows = Math.floor(((y2 - y1) / windowWidth) / 4);
(undantaget väggen med ytterdörren som har ett fönster mindre)

Allt sånt här skulle förstås gå att lägga i ett gäng drop-menyer så man får konfa själv. Det tänkte jag på tidigare, men tappade bort när jag bråkade med dörrarna. :)
 

Caligo

Swashbuckler
Joined
3 Aug 2010
Messages
2,073
Location
Göteborg
Kan man önska sig hus som är inte är rektanglar - alltså t.ex. "vinkelhus". Kanske även hus utan fösnter och dörrar?
 

Rymdhamster

ɹǝʇsɯɐɥpɯʎɹ
Joined
11 Oct 2009
Messages
12,599
Location
Ludvika
Och kanske en liten, liten chans att det dyker upp en bakdörr/tjänstedörr?
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Hus som inte är en rektangel som avdelas i mindre och mindre bitar medels rekursiva väggar finns inte på kartan i nuläget (däremot ska jag nog kunna fixa ett val att ha torn i hörnen). Exakt vad är ett vinkelhus? :)

Eftersom jag inte planerar så noga innan jag börjar så är mitt nästa steg att optimera och snygga till kod. Sen ska jag fixa en trappa till tvåvåningsvarianten. Sen ska jaga fixa en massa olika val att göra vad gäller antal fönster etc. Sen återkommer jag hit till tråden, men det blir nog inte den här veckan som det ser ut.

Och kul att jag gav dig en massa knasiga idéer.
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Jaha, vinkelhus är då bara två rektanglar som sitter ihop, det borde vara relativt lätt (och pinsamt att jag inte hajjade vad vinkelhus var, men snöade helt in på att det hade nåt med "inte 90º-vinklar-i-hörnen" att göra).

Bakdörrar borde också vara relativt lätt.
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Pysslat med vinkelhusen nu. Behövde göra om en hel del (nåja) för att det skulle bli acceptabel kod...

http://omjonasson.se/rollspel/buildinglayout/

Ytterdörr och fönster är temporärt bortplockade (jag är för trött för att laga det just nu) och trappan är heller inte tillräckligt vettig för att få vara med i nuläget.
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
Rymdhamster;n69155 said:
Nice! Vad tror du om att utöka till potentiellt fyra våningar, för stadshus?
Tja nu är det omkodat så det är dynamiskt. Så det borde vara rätt lugnt med flera våningar. (Nu kommer det bergis visa sig omöjligt :wink: )
 

Rymdhamster

ɹǝʇsɯɐɥpɯʎɹ
Joined
11 Oct 2009
Messages
12,599
Location
Ludvika
Nice! Det här blir bara bättre och bättre! Ett par tankar jag har:

Varför kan man inte göra ett trevåningshus också? Känns som att det vore ett perfekt mellanting mellan två och fyra våningar ;)

Eftersom man ändå får välja lite vad gäller antal av fönster, varför inte slänga in valet att inte ha några fönster alls också? Borde inte vara så svårt tänker jag?

Måste trappan alltid ligga på alla våningar? Mellan våningsplanen behöver den ju göra det, men trappan mellan våning 1 och 2 måste kanske inte ligga på samma ställe som trappan mellan våning 2 och 3? Vet dock inte om det skulle krångla till koden en massa.
 

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,025
Location
Linköping
"Tre våningar" respektive "Inga fönster" var skitlätt och är fixat och uppladdat.

Trappan vet jag inte riktigt hur jag ska lösa bäst, men som du säger så är det ju rätt rimligt att kunna välja att inte ha den på exakt samma plats för alla våningsplan... jag ska grubbla.
 
Top