Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isometric Grid Fill #1450

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
221 changes: 221 additions & 0 deletions extensions/community/IsometricGridFill.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
{
"author": "",
"category": "Game mechanic",
"extensionNamespace": "",
"fullName": "Isometric Grid Fill",
"helpPath": "",
"iconUrl": "",
"name": "IsometricGridFill",
"previewIconUrl": "",
"shortDescription": "Isometric Grid For Tile Based Generation Based On The Position.",
"version": "1.0.0",
"description": [
"\"This extension enables the creation and management of isometric grids in GDevelop. It provides functionality similar to rectangular grids but tailored for isometric layouts, making it ideal for creating isometric games such as strategy games, city builders, or tile-based RPGs.",
"",
"With this extension, you can:",
"",
"Automatically generate isometric grids based on a player's position or predefined settings.",
"Simplify movement and tile placement using isometric coordinates.",
"Customize the grid size and behavior for dynamic gameplay mechanics.",
"Perfect for developers looking to implement isometric worlds with ease, this extension offers seamless integration with GDevelop's event system, enabling both beginners and advanced users to enhance their projects.\"",
"",
""
],
"tags": [
"\"isometric\"",
"\"grid\"",
"\"strategy\"",
"\"RPG\"",
"\"movement\"",
"\"layout\"",
"\"level-design\""
],
"authorIds": [
"yZ9Y8HmUKPcXVddoDlFmRoOZ8dh1"
],
"dependencies": [],
"globalVariables": [],
"sceneVariables": [],
"eventsFunctions": [
{
"description": "Create The Object Around The Target Object.",
"fullName": "Create Object Around Target Object",
"functionType": "Action",
"name": "IsometricGridFill",
"sentence": "Create _PARAM1_ Around _PARAM2_ With Range Of _PARAM3_",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [],
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "Create"
},
"parameters": [
"",
"Object",
"Around.X()",
"Around.Y()",
""
]
},
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"XAxis",
"=",
"-Range"
]
},
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"YAxis",
"=",
"-Range"
]
}
]
},
{
"type": "BuiltinCommonInstructions::Repeat",
"repeatExpression": "2 * Range+ 1",
"conditions": [],
"actions": [
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"YAxis",
"=",
"-Range"
]
}
],
"events": [
{
"type": "BuiltinCommonInstructions::Repeat",
"repeatExpression": "2 * Range+ 1",
"conditions": [],
"actions": [
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"TileX",
"=",
"Around.X()+(XAxis-YAxis)*(Object.Width()/2)"
]
},
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"TileY",
"=",
"Around.Y()+(XAxis+YAxis)*(Object.Height()/2)"
]
},
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"YAxis",
"+",
"1"
]
},
{
"type": {
"value": "Create"
},
"parameters": [
"",
"Object",
"TileX",
"TileY",
""
]
}
]
},
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "SetNumberVariable"
},
"parameters": [
"XAxis",
"+",
"1"
]
}
]
}
]
}
],
"variables": [
{
"name": "XAxis",
"type": "number",
"value": 0
},
{
"name": "YAxis",
"type": "number",
"value": 0
},
{
"name": "TileX",
"type": "number",
"value": 0
},
{
"name": "TileY",
"type": "number",
"value": 0
}
]
}
],
"parameters": [
{
"description": "Object that will be created",
"name": "Object",
"type": "objectList"
},
{
"description": "Around Which Object",
"name": "Around",
"type": "objectList"
},
{
"description": "Value For Range",
"name": "Range",
"type": "expression"
}
],
"objectGroups": []
}
],
"eventsBasedBehaviors": [],
"eventsBasedObjects": []
}