Show simple item record

dc.contributor.advisorNowostawski, Mariusz
dc.contributor.authorSandvik, Robin
dc.contributor.authorChambe-Eng, Viktor
dc.date.accessioned2023-07-04T17:25:23Z
dc.date.available2023-07-04T17:25:23Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:139559080:149144619
dc.identifier.urihttps://hdl.handle.net/11250/3075940
dc.description.abstractDenne bacheloroppgaven beskriver et svært fleksibelt prosessegenererings-rammeverk som kan bli integret i andre programmer, som spill, modellering og visualisering. Produktet er laget I Unity3D (en populær 3D spillmotor) og kan brukes i Unity3D og andre prosjekter som ikke bruker Unity3D. Vårt prosessegenererings-rammeverk kan bli brukt til å utvikle kart og terreng, enten det er for spill eller visualisering av 3D verdener. Programmet bryter prosessegenereringen ned i flere individuelle steg og inkluderer en samling av generatorer som håndterer forskjellige steg i prosessen (kalt steg-generatorer i oppgaven). Disse stegene inkluderer prosesser som å finne høydeverdiene til landskapet, skapelse av elver, og simulering av vind. Brukere kan velge og blande forskjellige steg-generatorer fra et stort utvalg av algoritmer. Disse stegene har alle parameter som lar brukeren tilpasse hvordan terrenget blir bygd. For eksempel hvor ujevn høydeverdiene bør være, hvor mange elver som bør lages, eller hvor sensitiv vinden bør være til høydeforskjeller. Brukerne kan også lettvint lage sine egne steg-generatorer med minimal ekstra kode, for å tilpasse sine spesifikke behov. Verktøykassen er designet for å være effektiv når et spill skal testes og utvikles, når kart skal designes og tilpasses, og når kart skal gjennomgå prosessegenereringen i kjøretid. Hovedmotivasjonen for prosjektet kom når Progress Interactive AS, et lite indie spillstudio, kontaktet oss og så etter et prosessegenererings-program de kunne bruke for å hjelpe dem med å lage kart til et sanntids-strategispill de jobber med. Vår løsning fullfører dette behovet. Produktet er også svært fleksibelt, og lett å bruke for hvem som helst andre som kan trenge prosessegenerering for terreng.
dc.description.abstractThis thesis describes a highly flexible procedural generation framework that can be integrated with other programs, such as games, modelling and visualization software. The product is made in Unity3D (a popular 3D game engine) and it can be used for Unity3D and other projects that do not use Unity3D. Our procedural generation framework can be used to develop maps and terrain, whether for games or visualizations of 3D worlds. The program breaks the process of generating terrain down into several individual steps and provides a collection of generators that handle different steps in the process (referred to here as step generators). These steps include processes like determining the altitudes of the landscape, spawning rivers, and simulating wind. Users can pick and mix different step generators from a wide selection of pre-made algorithms. These steps all have parameters that allow the user to customize how the terrain is constructed, such as how rough the altitudes should be, how many rivers should be included, or how sensitive the wind should be to altitude changes. The users can also easily make their own step generators with minimal extra code required, to make them fit their specific needs. The toolbox is designed to be effective when testing and developing a game, when designing and curating maps, and when procedurally generating at runtime. The main motivation for our project came when Progress Interactive AS, a small indie game studio, approached us wanting a procedural terrain generation program they could use to aid in making maps for a real-time strategy game they have been working on. Our solution fits their game requirements. In addition, the product is also made to be highly flexible and easy to use in any other use case that requires procedural terrain generation.
dc.languageeng
dc.publisherNTNU
dc.titleFlexible procedural terrain and biome generation
dc.typeBachelor thesis


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record