{"author_link":"\/users\/diptoman","author_name":"diptoman","author_uid":"diptoman","comments":[],"epoch":1524800991,"event":"LD41","format":"md","ldjam_node_id":94742,"likes":5,"metadata":{"p_key":"114122","p_author":"diptoman","p_authorkey":"1003725","p_urlkey":"330082","p_title":"Bullet Hell Patterns","p_cat":"LDJam ","p_event":"LD41","p_time":"1524800991","p_likes":"5","p_comments":"0","p_status":"WAYBACK","us_key":"1003725","us_name":"diptoman","us_username":"diptoman","event_start":"1524182400","event_key":"72","event_name":"LD 41"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD41","removed_author":false},"_superparent":73256,"_trust":7,"author":3725,"body":"[![6.png](\/\/\/raw\/d8e\/z\/143dc.png)](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering)\n\nSo this has been my [3rd bullet hell entry](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering) for a game jam (first in a LD) - so I thought I'd share how I generate patterns easily. Note that this is for generic patterns - there are specialized patterns (even in this game) whose behavior you'd have to program separately.\n\n### Step 1: Have a spawner class which spawns bullets. \n### Step 2: Create some common variables for every bullet type: \n**InitSpeed:** What speed the bullet starts with \n\n**FinalSpeed:** What speed the bullet ends at \n\n**Deceleration:** The rate at which the bullet decelerates.\n\n**DecelerationDelay:** If there's a delay from when the decel starts.\n\n**NumberOfBullets:** Number of bullets created in one round\n\n**AngleVariation:** The angle between two bullets in terms of direction\n\n**NumberOfRounds:** Number of rounds in one burst (one burst is considered firing once).\n\n**TimeBetweenRounds:** The time between two rounds.\n\n**RateOfFire**: The time between each set of rounds\n\n**SpawnerRotationRate**: The rate at which the spawner rotates\n\n**NumberOfSpawners**: The number of spawners, equally spaced in terms of angle.\n\n### Step 3: Program the spawner to spawn based on just those variables - should be fairly easy to do.\n\nRemember, if you're creating a more danmaku-like game, make sure your bullets have deceleration and a minimum speed. This was used in this game.\n\nAnd voila - by changing just these values - you can get a lot of variations! You can set these variables to vary based on the current level too to make teh game progressively harder. You can try out the effects in our [deckbuilding x bullet-hell entry!](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering)\n","comments":2,"comments-timestamp":"2018-04-27T04:27:10Z","created":"2018-04-27T03:00:53Z","files":[],"files-timestamp":0,"id":94742,"love":5,"love-timestamp":"2018-04-27T04:36:19Z","meta":[],"modified":"2018-04-27T04:36:19Z","name":"Bullet Hell Patterns","node-timestamp":"2018-04-27T03:50:58Z","parent":90718,"parents":[1,5,9,73256,90718],"path":"\/events\/ludum-dare\/41\/magic-the-shattering\/bullet-hell-patterns","published":"2018-04-27T03:49:51Z","scope":"public","slug":"bullet-hell-patterns","subsubtype":"","subtype":"","type":"post","version":279232},"node_metadata":{"n_key":"94742","n_urlkey":"330082","n_parent":"90718","n_path":"\/events\/ludum-dare\/41\/magic-the-shattering\/bullet-hell-patterns","n_slug":"bullet-hell-patterns","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"3725","n_created":"1524798053","n_modified":"1524803779","n_version":"279232","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering\/bullet-hell-patterns","text":"[![6.png](\/\/\/raw\/d8e\/z\/143dc.png)](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering)\n\nSo this has been my [3rd bullet hell entry](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering) for a game jam (first in a LD) - so I thought I'd share how I generate patterns easily. Note that this is for generic patterns - there are specialized patterns (even in this game) whose behavior you'd have to program separately.\n\n### Step 1: Have a spawner class which spawns bullets. \n### Step 2: Create some common variables for every bullet type: \n**InitSpeed:** What speed the bullet starts with \n\n**FinalSpeed:** What speed the bullet ends at \n\n**Deceleration:** The rate at which the bullet decelerates.\n\n**DecelerationDelay:** If there's a delay from when the decel starts.\n\n**NumberOfBullets:** Number of bullets created in one round\n\n**AngleVariation:** The angle between two bullets in terms of direction\n\n**NumberOfRounds:** Number of rounds in one burst (one burst is considered firing once).\n\n**TimeBetweenRounds:** The time between two rounds.\n\n**RateOfFire**: The time between each set of rounds\n\n**SpawnerRotationRate**: The rate at which the spawner rotates\n\n**NumberOfSpawners**: The number of spawners, equally spaced in terms of angle.\n\n### Step 3: Program the spawner to spawn based on just those variables - should be fairly easy to do.\n\nRemember, if you're creating a more danmaku-like game, make sure your bullets have deceleration and a minimum speed. This was used in this game.\n\nAnd voila - by changing just these values - you can get a lot of variations! You can set these variables to vary based on the current level too to make teh game progressively harder. You can try out the effects in our [deckbuilding x bullet-hell entry!](https:\/\/ldjam.com\/events\/ludum-dare\/41\/magic-the-shattering)\n","title":"Bullet Hell Patterns","wayback_source":[]}