{"author_link":"\/users\/loveapplegames","author_name":"loveapplegames","author_uid":"loveapplegames","comments":[],"epoch":1745918335,"event":"LD57","format":"md","ldjam_node_id":415463,"likes":2,"metadata":{"p_key":"211712","p_author":"loveapplegames","p_authorkey":"1006791","p_urlkey":"451539","p_title":"New experiment: shooter creation tool with AI generated enemy behaviour","p_cat":"LDJam ","p_event":"LD57","p_time":"1745918335","p_likes":"2","p_comments":"0","p_status":"WAYBACK","us_key":"1006791","us_name":"loveapplegames","us_username":"loveapplegames","event_start":"1743811200","event_key":"111","event_name":"Ludum Dare 57"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD57","removed_author":false},"_superparent":406845,"_trust":13,"author":6791,"body":"Hi everyone, right after releasing my AI based point and click adventure generator for LD57, I already started on a new project: a shooter authoring tool with AI generated enemy behaviour.  The first playable prototype is here!\n\nYou can generate enemies by describing their behaviour in natural language.  The AI then codes Javascript files for the enemies, and generates sprites as well.  The result can be immediately viewed in the browser.  You can enable and configure the enemies through the web-based UI, so you can create suitable levels with the available  material.  The AI supplies additional behaviour parameters with each enemy (these are the options that start with \"extra_\"), so you can tweak the enemies further. \n\nIt can handle prompts that describe multiple enemies and shooting behaviour.  Example prompts:\n\n> zig zags randomly, periodically spawning minions that circle around it. The minions shoot bullets that explodes into a spray of shrapnel when they are close to the player. \n\n> dashes randomly, either in random direction or towards the player. Fires a single arc of bullets when it dashes towards the player. \n\n> alternatively stands still and moves quickly in a random direction. Is invisible when standing still. Shoots a bullet when it starts moving. Bullets explode after some time into a spray of shrapnel. \n\nIt's still a prototype, you can define only one level that starts playing immediately, and load\/save options are limited. You can create an URL to demonstrate your playable level.  No unit testing is done on the AI generated code yet, so you will find some malfunctioning enemies.  Some planned features are: \n\n- each user can create, modify and delete their own enemies\n- multiple levels\n- configurable player, background, and sounds\n- download full game (as a zip containing all the generated code).\n\n\n**[Check out the tool here](http:\/\/136.144.174.107\/)**\n\n**[Play an example game here](http:\/\/136.144.174.107\/?leveldefs=%5B%7B%22name%22%3A%22Level+1%22%2C%22entitysets%22%3A%7B%7D%2C%22setopts%22%3A%7B%22a74c540a44834d2aa9b3f24f66d11c1a%22%3A%7B%22enabled%22%3A%22false%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22true%22%2C%22spawnBottom%22%3A%22true%22%2C%22spawnFrequency%22%3A200%7D%2C%22276b46ba5a764848b670ec30952906e6%22%3A%7B%22enabled%22%3A%22false%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22true%22%2C%22spawnBottom%22%3A%22true%22%2C%22spawnFrequency%22%3A200%7D%2C%2290abda5e7da44216b6b3f56b53473014%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22300%22%7D%2C%22ed6dd3e06d9d4fdd83494457a346d12d%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22200%22%7D%2C%22f4c2d456b1cd4ac3bfc5bc2fb8842204%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22500%22%7D%7D%2C%22entityopts%22%3A%7B%22a74c540a44834d2aa9b3f24f66d11c1a%22%3A%7B%22StealthBomber%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A1%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A1%2C%22angleOffset%22%3A0%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22ExplodingBullet%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22directional+rotate%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%2245%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_lifetime%22%3A%22100%22%2C%22extra_shrapnelCount%22%3A%225%22%7D%7D%2C%22ed6dd3e06d9d4fdd83494457a346d12d%22%3A%7B%22Asteroid%22%3A%7B%22boundaries%22%3A%22wrap%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+clockwise%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_size%22%3A%221%22%7D%2C%22AsteroidFragment%22%3A%7B%22boundaries%22%3A%22wrap%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+counterclockwise%22%2C%22animationSpeed%22%3A%222%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%7D%2C%2290abda5e7da44216b6b3f56b53473014%22%3A%7B%22ErraticMineLayer%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A1%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A1%2C%22angleOffset%22%3A0%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22Shrapnel%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+clockwise%22%2C%22animationSpeed%22%3A%227%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22SpaceMine%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_lifetime%22%3A%22200%22%2C%22extra_explosionCooldown%22%3A%22100%22%7D%7D%2C%22f4c2d456b1cd4ac3bfc5bc2fb8842204%22%3A%7B%22ZigZagCommander%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22directional+rotate%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_zigzagSpeed%22%3A%227%22%2C%22extra_spawnInterval%22%3A%22100%22%7D%2C%22MinionOrbiter%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+counterclockwise%22%2C%22animationSpeed%22%3A%222%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_orbitRadius%22%3A%22120%22%2C%22extra_shootingInterval%22%3A%2250%22%7D%7D%7D%7D%5D)**\n\n![ActionGameGenGrab1-sm.jpg](\/\/\/raw\/78a\/1\/z\/6c888.jpg)\n\n![Screenshot 2025-04-25 at 16-03-38 ActionGameGen design a game with AI generated behaviours.jpg](\/\/\/raw\/78a\/1\/z\/6c889.jpg)","comments":0,"created":"2025-04-29T08:47:44Z","files":[],"files-timestamp":0,"id":415463,"love":2,"love-timestamp":"2025-04-29T20:25:16Z","meta":[],"modified":"2025-04-29T20:25:16Z","name":"New experiment: shooter creation tool with AI generated enemy behaviour","node-timestamp":"2025-04-29T09:31:11Z","parent":411488,"parents":[1,5,9,406845,411488],"path":"\/events\/ludum-dare\/57\/adventuregen\/new-experiment-shooter-creation-tool-with-ai-generated-enemy-behaviour","published":"2025-04-29T09:18:55Z","scope":"public","slug":"new-experiment-shooter-creation-tool-with-ai-generated-enemy-behaviour","subsubtype":"","subtype":"","type":"post","version":1312934},"node_metadata":{"n_key":"415463","n_urlkey":"451539","n_parent":"411488","n_path":"\/events\/ludum-dare\/57\/adventuregen\/new-experiment-shooter-creation-tool-with-ai-generated-enemy-behaviour","n_slug":"new-experiment-shooter-creation-","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"6791","n_created":"1745916464","n_modified":"1745958316","n_version":"1312934","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/57\/adventuregen\/new-experiment-shooter-creation-tool-with-ai-generated-enemy-behaviour","text":"Hi everyone, right after releasing my AI based point and click adventure generator for LD57, I already started on a new project: a shooter authoring tool with AI generated enemy behaviour.  The first playable prototype is here!\n\nYou can generate enemies by describing their behaviour in natural language.  The AI then codes Javascript files for the enemies, and generates sprites as well.  The result can be immediately viewed in the browser.  You can enable and configure the enemies through the web-based UI, so you can create suitable levels with the available  material.  The AI supplies additional behaviour parameters with each enemy (these are the options that start with \"extra_\"), so you can tweak the enemies further. \n\nIt can handle prompts that describe multiple enemies and shooting behaviour.  Example prompts:\n\n> zig zags randomly, periodically spawning minions that circle around it. The minions shoot bullets that explodes into a spray of shrapnel when they are close to the player. \n\n> dashes randomly, either in random direction or towards the player. Fires a single arc of bullets when it dashes towards the player. \n\n> alternatively stands still and moves quickly in a random direction. Is invisible when standing still. Shoots a bullet when it starts moving. Bullets explode after some time into a spray of shrapnel. \n\nIt's still a prototype, you can define only one level that starts playing immediately, and load\/save options are limited. You can create an URL to demonstrate your playable level.  No unit testing is done on the AI generated code yet, so you will find some malfunctioning enemies.  Some planned features are: \n\n- each user can create, modify and delete their own enemies\n- multiple levels\n- configurable player, background, and sounds\n- download full game (as a zip containing all the generated code).\n\n\n**[Check out the tool here](http:\/\/136.144.174.107\/)**\n\n**[Play an example game here](http:\/\/136.144.174.107\/?leveldefs=%5B%7B%22name%22%3A%22Level+1%22%2C%22entitysets%22%3A%7B%7D%2C%22setopts%22%3A%7B%22a74c540a44834d2aa9b3f24f66d11c1a%22%3A%7B%22enabled%22%3A%22false%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22true%22%2C%22spawnBottom%22%3A%22true%22%2C%22spawnFrequency%22%3A200%7D%2C%22276b46ba5a764848b670ec30952906e6%22%3A%7B%22enabled%22%3A%22false%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22true%22%2C%22spawnBottom%22%3A%22true%22%2C%22spawnFrequency%22%3A200%7D%2C%2290abda5e7da44216b6b3f56b53473014%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22300%22%7D%2C%22ed6dd3e06d9d4fdd83494457a346d12d%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22200%22%7D%2C%22f4c2d456b1cd4ac3bfc5bc2fb8842204%22%3A%7B%22enabled%22%3A%22true%22%2C%22spawnLeft%22%3A%22true%22%2C%22spawnRight%22%3A%22true%22%2C%22spawnTop%22%3A%22false%22%2C%22spawnBottom%22%3A%22false%22%2C%22spawnFrequency%22%3A%22500%22%7D%7D%2C%22entityopts%22%3A%7B%22a74c540a44834d2aa9b3f24f66d11c1a%22%3A%7B%22StealthBomber%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A1%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A1%2C%22angleOffset%22%3A0%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22ExplodingBullet%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22directional+rotate%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%2245%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_lifetime%22%3A%22100%22%2C%22extra_shrapnelCount%22%3A%225%22%7D%7D%2C%22ed6dd3e06d9d4fdd83494457a346d12d%22%3A%7B%22Asteroid%22%3A%7B%22boundaries%22%3A%22wrap%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+clockwise%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_size%22%3A%221%22%7D%2C%22AsteroidFragment%22%3A%7B%22boundaries%22%3A%22wrap%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+counterclockwise%22%2C%22animationSpeed%22%3A%222%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%7D%2C%2290abda5e7da44216b6b3f56b53473014%22%3A%7B%22ErraticMineLayer%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A1%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A1%2C%22angleOffset%22%3A0%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22Shrapnel%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+clockwise%22%2C%22animationSpeed%22%3A%227%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%7D%2C%22SpaceMine%22%3A%7B%22boundaries%22%3A%22disappear%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22stationary%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_lifetime%22%3A%22200%22%2C%22extra_explosionCooldown%22%3A%22100%22%7D%7D%2C%22f4c2d456b1cd4ac3bfc5bc2fb8842204%22%3A%7B%22ZigZagCommander%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22directional+rotate%22%2C%22animationSpeed%22%3A%221%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_zigzagSpeed%22%3A%227%22%2C%22extra_spawnInterval%22%3A%22100%22%7D%2C%22MinionOrbiter%22%3A%7B%22boundaries%22%3A%22bounce%22%2C%22hitpoints%22%3A%221%22%2C%22animationType%22%3A%22rotate+counterclockwise%22%2C%22animationSpeed%22%3A%222%22%2C%22angleOffset%22%3A%220%22%2C%22flipX%22%3A%22false%22%2C%22flipY%22%3A%22false%22%2C%22extra_orbitRadius%22%3A%22120%22%2C%22extra_shootingInterval%22%3A%2250%22%7D%7D%7D%7D%5D)**\n\n![ActionGameGenGrab1-sm.jpg](\/\/\/raw\/78a\/1\/z\/6c888.jpg)\n\n![Screenshot 2025-04-25 at 16-03-38 ActionGameGen design a game with AI generated behaviours.jpg](\/\/\/raw\/78a\/1\/z\/6c889.jpg)","title":"New experiment: shooter creation tool with AI generated enemy behaviour","wayback_source":[]}