Project Proposal. Week3
Laying out the timetable.
A Project proposal was handed in on week 3. Bellow is a timetable as an indication how the workload will be divided until the hand in date.|
Teaching week
|
Task
|
Start Date
|
End Date
|
Duration
|
|
Week 4-5
|
Create the procedure that creates the layout of the level.
|
16 October 2017
|
29 October 2017
|
14
|
|
Week 6-7
|
Create the function that placed the rooms upon the layout.
|
30 October 2017
|
12 November 2017
|
14
|
|
Week 8
|
Create the function for room randomization by theme.
|
13 November 2017
|
19 November 2017
|
7
|
|
Week 9
|
Blank week to catch-up
|
20 November 2017
|
26 November 2017
|
7
|
|
Week 10-11
|
Examine and measure success and efficiency of the P.L.G.
|
27 November 2017
|
10 December 2017
|
14
|
|
Week 12
|
Collate and finalize the write up
|
09 December 2017
|
14 December 2017
|
13
|
- The first step is creating the layout for the maze, I like to describe it as the ground on which the rooms are plaved upon adding another level of randomness to the generator.
- Week 6-7 involve creating the actual maze with the rooms, this is also were most of the coding is needed and I expect to be using week 9 to catch up also.
- Week 8 involves the room randomization, were funrinture, npc, enemies are placed and loot.
- Week 9 is left to catch up.
- Week 10-11 I will try to record how different the levels are between them by scanning points and hopefully with some path finding.
PLG features
The proposed generator will include at least the following
features:
·
Themed
areas within the level, for example moving into a section of the dungeon with
cobwebs and spiders, while another section will resemble a furnace. As you
proceed deeper into the dungeon the theme becomes stronger.
·
Level
size customization and room difficulty based on the players selected difficulty.
·
A non-grid layout.
·
Pre-set pieces placed within areas the level
designer sets before the level is generated. Ensuring that the mandatory rooms are
always included. Such rooms might be a boss room, waypoint rooms, rooms that
tutor the player or vital rooms the player need to have access to.
·
Customizable starting room and its location
within the level.
·
Control over the density percentage of the rooms
within the total layout.
·
Varied height within the level.
·
Room flexibility, with no restrictions (within
reason) towards size, shape, height, number of exits.
Once the artefact is completed an
examination procedure will be created that will attempt to “photograph” the
level Layout and examine its differences comparing it to the precious generated
level.
Time permitting, methods might be examined to
achieve game efficiency towards performance.
First Draft of the PLG Algorithm
I also included a draft of the PLG algorithm. At the end of the module I will rewrite the actual algorithm and compare them.
PLG Algorithm settings
Settings
before the algorithm starts.
•
Level
Creator sets in the unity the starting
room and its location in the Starting Area [Editor]
•
Level
Creator selects any rooms they wish to preset in the scene and then selects the
size and location of the area they wish
the preset room is placed. [editor]
•
Level
creator sets the size of the level and layout area (as a persentage to the
dungeon size area) and the dencity of rooms. [editor]
Creating the Starting area
1.
Create
a plane from the dimentions given for the starting area
2.
Place
the starting room in it‘s given location.
3.
Add
the strarting room's exit point location to the open_exits List.
Create
the Grid
4.
Create
a plane of random dimentions between
1/32 to 1/64 (theoretical estimate) of
the max area.
5.
Rotate
the plane randomly 0-180 degrees.
6.
Select
a random point withing the existing layout ( in first attempt the layout is the
starting space).
7.
Examine
if the plane is at least 30% inside the
existing layout area and at least 30% outside the existing layout area. If not
repeat step 6.
8.
Merge
the plane to the existing layout.
9.
Repeat steps 4-8 until (layout area)/(max level
size) is greater than the layout level persentage given in the editor.
Place
the rooms
10. Select randomly a open exit in
open_exits List. This will be the exit way we attach the next component.
11. Select randomly between room or
coridor.
12. Select randomly a open exit from
the selected room/corridor.
13. Rotate the the parent
room/corridor so it alligns with the selected open exit.
14. Move the Room so both exits are
in the same location.
15. Check if the placed room
collides with an existing room and if it placed outside the lyout area.
16. If any of the above two
statements is true then delete the room/corridor.
17. If not, remove the selected exit
from the open_exits list
18. Chech if any of the remaining
exits of the room/corridor are outside the level area, if they are add them to
the PossibleExitPoint list, if not then add the room/corridors remaining exits
to the list open_exits.
19. Repeat steps 10-18 until the room dencity is
reached or step 18 has failed 4 times in a row.
Snap Rooms
Together and Closing open doorways
20. Check if at least one of the exits
from each preset piece is not listed in the open_exits list. Indicating that
are preset room is conneceted.
21. If a preset room is not connected find the
nearest open exit and create a corridor attaching it. Repeat for all unattached
presets rooms.
22. While the open exits list is in
size larger than Y (another number to be determined) find a open exit and
connect it to the closest open exit available.
23. While the open exits list is in size larger
than Z (another number to be determined) add a cap room (cap rooms are rooms
with only one exit point) to a random exit in openexits list and remove it from
the list.
24. For each of the remaining open
exits randomly assign a and place a blocking point prefab. This might be a
sealed door a pile of rubble blocking the door.
Adding the two themes to the level
Adding the two themes to the level
25. Add 2 gamepoints (I will call them
themepoints) randomly within the layout. These gamepoints need to be a set
distance away from the starting point and form eachother.
26. Create 3 spheres for each themepoint one larger than the other
and place them with the themepoint in the center.
27. The rooms that collide with each
spere are assigned a theme presentage.
Dress the rooms
28. This part is were we texture the room based on
the theme persentage of the room, we also add prefab objects, and enemy
spawning points.
Comments
Post a Comment