Code Monkey home page Code Monkey logo

planet-generator's Introduction

Hi there,

I'm Joe, a computer science major from New Zealand who enjoys solving problems with code.

I'm currently working on projects involving JavaScript, TypeScript, React Native, HTML, CSS, Node.js & MongoDB.

My portfolio can be found here.

let me = {
  name: "Joe",
  age: "23",
  status: "Full Stack Developer",
  technologies: ["JavaScript", "TypeScript", "React Native", "HTML", "CSS", "Node", "MongoDB", "SQL", "React"],
  portfolio: "https://joewuthri.ch",
}

planet-generator's People

Contributors

joewuthrich avatar

Stargazers

 avatar

Watchers

 avatar

planet-generator's Issues

Add basic minecraft functionality

  • Add a minecraft command
  • Create a set of rooms with height and length
  • Move rooms outwards until they no longer collide
  • Connect each point using Delaunay Triangulation
  • Visualize the edges in minecraft
  • Get MST from graph
  • Add a minecraft visualization of the result

Change edges to MST+

  • From the graph, generate a MST
  • Add 10% of the edges back to create loops that don't cut other rooms
  • Visualize result in Minecraft

Updates textures file

  • Textures file needs default minecraft block names
  • Names sucessfully converted to bukkit values for plugin
  • Error checking for illegal names on startup
  • Error checking for illegal percentages on startup

Configs

Add a config with default options for planets

  • Read from config
  • Config contains list of things to select from for: underlay/overlay/solid/biome/generation/liquids, with their chances if wanted
  • Can group presets in config to form larger items; i.e. red planets can be grouped under color

Create minecraft rooms

  • Figure out how to generate a natural looking room within bounds
  • Do it in minecraft
  • Generate natural looking minecraft rooms at the coordinates of each room

Add top decorations such as flowers

  • Decorations spawn on top of overlay
  • Decorations such as grass do not break if they spawn on non-grass blocks
  • Decoration list added to textures file

Add decorations/schematics

Add decorations in some form, probably start with trees, rocks, a rocket etc.

Decorations can be premade.

  • Schematics placed
  • Schematic list added to config for presets
  • Schematics placed in areas they fit

Planet customization

Add more customisation options for planets

  • Add blob texture generation
  • Add biome randomization
  • Add liquid instead of air for caves generation

Added edges sometimes overlap with others

Sometimes when the addCycles function is run it generates edges that overlap with current edges or rooms, as there is no protection for this.

Either fix issue or figure out how to avoid other edges/rooms when tunneling.

Generate names

Generate a random name + number for each planet.

This can probably be done by grabbing a random JSON name or two from https://random-word-api.herokuapp.com/word?number=2 and then appending them with a randomly generated number, which could be converted to roman numerals

This could also be done by adding a dictionary file that you can read a random name from.

  • Random name generated on each planet
  • Names don't repeat often

Use array instead of placing

Instead of placing the blocks and then checking for air to hollow them, put all the blocks in an array and then check if it is surrounded by other blocks in the array, if not, it's touching air.

Cuts down placement time.

Generate tunnels

  • Generate a natural looking tunnel in Minecraft
  • Do it between two preset points
  • Allow slight variation, avoiding air
  • Do this for each edge in the graph
  • Add to Minecraft

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.