Skip to content

Romain-1/my_world

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

my_world

Description

The goal of this project is to create your own terraformer program.

Your challenge is to display a map and edit it at runtime. The map is a wireframed map with tiles that are squares having all the same size. The ground must be altered by raising, lowering or tilting tiles.

MANDATORY

⚠️ The following features are mandatory (if your project is missing one of them, it will not be evaluated further):

  • the window can be closed using events,
  • the game manages the input from the mouse click and keyboard,
  • animations in your program are frame rate independent.

MUST

  • The map must be displayed using a 3D projection (whether isometric or parallel),
  • the tiles and their corners must be selected using the mouse,
  • at least 3 effects (including the modification of altitude) must be implemented and selectable with a toolbar in the window (e.g. reinitialization of the tiles’ altitudes, modification of the size of the area of effect, switching between “tiles selectable” and “corners selectable”).

SHOULD

  • Your window should stick between 800x600 pixels and 1920x1080 pixels,
  • the size of the map should be selected using editable textboxes in the window,
  • help boxes should appear as the mouse hovers elements in the toolbar(s),
  • the buttons should have at least 3 visual states : idle, hover, and clicked,
  • tiles should have a texture,
  • the format of saved maps should be in a .legend file,
  • moving around on the map should be done with arrow keys and/or by positionning the mouse cursor on the edges of the window,
  • zooming up and down should be done with keyboard and/or the scrolling button of the mouse.

COULD

  • The program could save the map in a file at the end of the program in the terminal,
  • the program could save the map in a file at runtime using buttons and tools,
  • the program could load a map at the beginning of the program in the terminal (argument or stdin),
  • the program could load a map at runtime using buttons and tools,
  • the name of the saved files could be chosen at runtime,
  • tools can be selected using keyboard shortcuts,
  • sounds could be played on user actions,
  • textures of the tiles could change depending on the direction of their slope,
  • elements (e.g. buildings, roads) could be added on the map in compliance with the landforms,
  • water areas could be added.

Bonus

  • Procedural generation using perlin noise.
  • Lot of animations using 3d formulas.

Screenshots of the game

Image1

Image2

Image3

Image4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published