UQdeco2800 / deco2800-2017-rocketpotatoes

7 stars 4 forks source link

Terrain design - team 9 & 3 #26

Open Sh4lidar opened 6 years ago

Sh4lidar commented 6 years ago

Description

Expanding on the map design by adding additional tile types and adding random map generation. Maps will generate based on a theme which consists of a set of tiles. Each theme will consist of some modified basic tile types. Basic Tiles:

Themes will include:

Map Style

Map Generator

The map generator will generate a map given a specific theme.

Milestone

Team 9 - Graphics

Terrain types Environment objects

Aesthetic enhancements

Team 3 - Mechanics

Team 3 - Extras

whiteya commented 6 years ago

So far, Team 3 has added some basic rendering for Z coordinates, changed map creation so they can be generated programmatically and added added very basic random map generation. The current map generation uses the placeholder water, grass and basic tiles. The diamond square algorithm is used to generate the noise for choosing which tiles to place.

Leggy commented 6 years ago

Just a reminder: please update your tickets regularly. This counts toward your project participation.

whiteya commented 6 years ago

Level changing is now implemented but there are some bugs with events. Terrain properties can be retrieved from the world and these are used to check water collision for the player. Changing levels needs to be changed to generate new worlds with a given world type instead of the default.

brakchen commented 6 years ago

upgrade: We are Team9 working with team 3 and they are responsible for the majority code. We've added a lot of new tree types: Lighting the Tree The FIre Tree Acorn Tree The Ice Tree We have completed the design of the trees listed above.In addition to the design tree we also designed the animation of the tree the animation included: normal animation Being attacked animation Be destroyed animation One last thing,all tree already added into game word and animation all set as well. Next step: We will improve feature of trees according to different environment and the design of tile will be in progress

brakchen commented 6 years ago

upgrade: Team 9 User testing has been completed and has been added to the wiki page

whiteya commented 6 years ago

Worlds now store managers that are related to a single world as well as entities. These managers are loaded / saved when changing worlds. World generation has been changed to have water on the edge of the map and a background of water tiles have been added for beyond the edges of the map. The ability to add default entities to the world has been added and relevant portal types are added to each world by default. The terrain generation has points it checks the player can move on, and regenerates the world if the player can't move on them. Further work required is to change the point checking to use flood fill so the player can get to locations and the world generation need to be improved further.

Sh4lidar commented 6 years ago

Team 9 added 2 dirt tiles, 3 grass tiles, 2 gravel tiles, 2 leaf litter tiles, a mud tile, 3 solid rock tiles, a sand tile and 2 snow tiles.

whiteya commented 6 years ago

World generation now properly checks given locations are passable, but the player is very close to the edge of the map (water) so the check is set to timeout after a huge number of unsuccessful generation attempts. The player, and all entities in general, need to be moved closer to the centre of the map. The world generation will be changed to seed the required locations to land or randomly place entities.

A GUI has been created (on terrain-testing branch) that shows the output of the terrain generation based on supplied settings. This can be used to easily see the results of changing the settings and improve the terrain generation.

whiteya commented 6 years ago

The world generation was updated to be significantly faster by seeding instead of just generating multiple times. Also, the portals and enemy gates were updated to be part of this check. The terrain generation for the intial world was altered slightly to account for the problems with pathfinding.