Jump to content

Cyclone Open For Mods


reepblue

2,546 views

 Share

As a teenager, I've spent thousands of hours with the Source SDK. It was really cool how Valve gave people the real tools to develop and create maps and mods. Overtime I got to see and take apart games to see how they actually work.

Overtime, the indie engine market took over, and making Source mods is now just a terrible experience. Hammer crashes more frequently and the SDK branch of the engine has old bugs that were never patched. I want the excitement I had of making maps and cool features to be part of Cyclone as a package. Leadwerks has a very intuitive interface, and with a Lua Sandbox, many possibilities open up.

As of the last update shipped today, anyone with a license of Leadwerks Game Engine has the ability to create custom maps and scripts and share them with others. This is the first step to see if anyone would be interested if they had the tools in their holster.

There's now a batch file called "create_mod_env.bat" which will create a Leadwerks project within the game directory by default. You can edit the batch file to define a different path if you wish. You'll also receive a few example maps showing the logic of the game. Import the project in Leadwerks, and you should be good to go! When you're ready to share, zip up the map and chapter script and tell people to install it in a folder called "Addons" within the game's directory.

While this is only the first draft of this, I'm interested to see where it will end up. I hope you all find it interesting and motivating.

  • Like 6
 Share

9 Comments


Recommended Comments

I was thinking that it is not necessary to have a leadwerks license, in the case of scripts they are simply left out unpacked and the user can modify them. 

Link to comment

Question: Is it possible to make a surface that can accept a cyclone, but does not have collision with the player?

Untitled.thumb.jpg.5cad2226e79885ee7503beed374b4dd1.jpg

  • Like 1
Link to comment
2 hours ago, Josh said:

Question: Is it possible to make a surface that can accept a cyclone, but does not have collision with the player?

 

There probably is, but I'll need to check my code base to make sure. 

I'll be sure to try your map when I get home. 🙂

Link to comment

@JoshI was able to beat it! :D

Here's a few tips.

1) There's a file called [uid]_CycloneMod.json. If you were to copy that file, modify it as below and resave it as [uid]_bastardplatforms.json, the map will be accessible from the menu!

{
    "author": "Josh",
    "maps": {
        "TemplateAddon": {
            "filepath": "Maps/bastardplatforms.map"
        }
    },
    "name": "BastardPlatforms"
}

This uses the SAME system as the chapter selection. You can also have a custom image for your addon. Here's an example with one of the chapter scripts showcasing images and multiple maps.

{
    "name": "Crash Courses 00-08",
    "author": "Reep Softworks",

    "maps":
    {
        "Crash Course 00 + 01":
        {
            "id": 0,
            "filepath": "Maps/lvl0.map",
            "imagepath": "Materials/GUI/Chapters/chaptericon_lvl0.tex",
        },
    
        "Crash Course 02 + 03":
        {
            "id": 1,
            "filepath": "Maps/lvl1.map",
            "imagepath": "Materials/GUI/Chapters/chaptericon_lvl1.tex"
        },
    
        "Crash Course 04 + 05":
        {
            "id": 2,
            "filepath": "Maps/lvl2.map",
            "imagepath": "Materials/GUI/Chapters/chaptericon_lvl2.tex"
        },

        "Crash Course 06 + 07":
        {
            "id": 3,
            "filepath": "Maps/lvl3.map",
            "imagepath": "Materials/GUI/Chapters/chaptericon_lvl3.tex"
        },

        "Crash Course 08":
        {
            "id": 4,
            "filepath": "Maps/lvl4.map",
            "imagepath": "Materials/GUI/Chapters/chaptericon_lvl4.tex"
        }
    }
}

It's best practice not to use spaces with map names. This is so your map can be loaded with the map command within developer console. But spaces should work with chapter scripts. I also combined everything to get around the censor, 🙄

 

2) If you add flash chambers to your map, the player will respawn when they die instead of a hard reload. I made an example map showcasing these - but for some reason didn't include it. You can refer to example_lvl7.map for the time being. Also with an exit flash chamber, the map will automatically fade out and kick the player back to the menu if there's no more maps in the queue.

3) I didn't need the slope to get onto the first platform.

4) Make sure you add your bumpers. Any tool brush with the collision set to projected will do the trick!

5) This answers your question. Make a new script and attach it to the brush you want this effect. 

function Script:Start()
	self.entity:SetCollisionType(19) -- COLLISIONTYPE_CLEANSER
	self.entity:SetKeyValue("force_cyclone_placement", "1")
end

I might write a few guides on my Steam page this weekend. Right now, I just wanted to see what curiosity alone would bring. :)

  • Like 1
Link to comment

I also really like that other creators can load each other's maps for investigation. Reminds me back when I used to use vmex to decompile cool community maps to learn how they made custom elements and such! 

  • Like 1
Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...