tModLoader Cave Story

The Example Mod worked just fine, after messing around and realizing I had to go inside the folder to get the actual mod out. Prior to that, I made a new world and character with the cave story mod and still no dice. In the same world I tried the example mod and it worked ok. Though... Maybe its something in the folders? I took a screenshot, https://drive.google.com/open?id=0B5B0jBtxDr0WVUhYcFRCTUE2bVk Just to be sure. Cave Story was plopped into the Mod Source, builded, and loaded.
Wait a second....you shouldn't have a Cave Story folder in Mod Sources. "Mod Sources" is for mods that you yourself create/build (as in, you have the source code.). The zip file you downloaded for this mod contains the mod already built, so you just copy the two files into the "mods" folder. You don't build mods you get from other people, you just go to the mod menu and enable them.

What I think happened is you "built" the already built file and ended up with a .tmod file that is gibberish to Terraria.

Delete the "Mod Sources/Cave Story" folder. Delete the "mods/CaveStory v0.2.tmod" and "mods/CaveStory v0.2.enabled" files. Open up the original zip, copy the two files and paste in "mods" folder. Open up Terraria. In the "Mod sources" window, you should NOT see anything about CaveStory. In the "Mods" window, you should see CaveStory. If it is disabled, enable it, reload, then it should work. Let me know.
 
Well what'dya know? It worked! ^ ^
Its a bit ironic, I first put the folder in the Mods section, and when that didnt work, Put it into the Sources section and it then showed up in mods. I had no idea you had to take out the files themselves.


Anywho, I wanted to leave some feedback, as thanks for all your help :)

What struck me right off the bat was how clean the graphics were and how true to detail the weapons all worked. It was mindblowing, especially the bubbler!
Now, suggestions and stuff.

The MachineGun is really cool. the blasts are big, its rapid, it even shoots you into the sky just like cavestory! I did notice though that unless you're using plentiful ammo, you're bound to run out kinda fast. Still, not the biggest of concerns. It does shoot you up pretty quick though. Really dangerous without a horseshoe or wings. also, a bit too easy to get into sky islands, but hey, that's at the cost of ammo and/or Hardmode. If possible, I think having the Lv 2 blaster and then Lv 3 blaster, and then a Lv 4 blaster that shoots farther and is stronger, maybe a different color? more blue?

The Bubbler is probably the most unique, or at least, in its final form. I think this one could work really well as a pre-hardmode Lv 1 weapon that can be upgraded to Lv. 2. Maybe have the triangles be like a currency for a Gaudi NPC that reforges your weapons once you have enough triangles. Or.... he stuffs the triangles into the weapon so it would free up an inventory slot as well as make it possible to lose levels? I dunno, seems like it needs a lot of know-how to pull that off. Either way, i think the Lv3 is a bit underpowered for the rest of hardmode, but its got potential!

The Nemesis is a powerful weapon. Usually. It seems like it would be really effective at close range, but bosses end up being a bit more long-range if you're going for ranged weapons. Maybe its just me, but it seems to end a lot sooner than expected. Maybe have the level tiers just be going from shorter to longer and longer range? Otherwise, not much to say.

The Fireball has always been a very tricky weapon, and I mistook it for the Snake in the video. I like how it goes faster depending on your velocity and it makes for a very intresting playstyle! Though I noticed that aiming upwards is less than reliable. maybe just a bit more distance for that one? Also, the Lv1 Fireball leaves you pretty vulnerable to attacks as its also pretty weak and can only use the two shots. Maybe increase the velocity a bit to make it more reliable, because even at Lv3 its still all over the place.

The booster itself is sweet! I'd imagine that that much flight time is only for testing purposes, but otherwise the physics and detail is pretty nice. Works just like wings, but feels like a jetpack! I noticed it replaced the jump though, that was a bit odd. Other than needing some tweaks for balance, its looking awesome :3

The Curly mount is such an amazing idea, I squeee'd when I saw it. its practical, its helpful, its awesome, its curly. Making something like that looks tricky though, and while I enjoyed the extra back support, having my jetpack cutoff for the King Slime's jump made it a bit of a pain to use. otherwise its pretty great, though the nemesis does feel shorter, its probably for the best :p


Lastly, I was surprised you threw the triangles in there. They worked well, though a little too well. Gonna be a bit hard to balance those out. So the first thing I did before I saw you could spawn the triangles themselves was to grind up and power up my weapons. It... didnt take long. I like the idea of the upgrades being spread out the game's length to make the weapons a constant force to be reckoned with, because anyone curious enough will spend as much time as possible to max out the weapon levels. Although maybe that can be balanced by taking damage. Another ammo icon or even slot would be awesome, but im not sure if its possible.
Another thing was the four-direectional aiming. While I was rooting for it at first, it felt pretty clusmy in my hands upon use and It was tricky to keep the slimes away (darn Fireball). I like the idea, but it just doesnt fit well with Terraria's situational battle style of being surrounded by enemies on all sides. an 8-direction might solve that, but im not certain. It'd be tricky to program for the MachineGun too. Some quote and curly vanity items would be cool to see too, for that full-on costume :) Also, i want to emphasize on what someone said on here (or reddit perhaps), that black outlines would help adapt it to Terraria's art style since almost everything has a subtle black outline.

Thanks for your help, and I hope you continue on this project ^ ^
 
Anywho, I wanted to leave some feedback, as thanks for all your help :)
Glad it worked, and thanks for the feedback. Most of what you mentioned has been on my mind. On one hand, I'd like to be faithful to the source (weapon sprites, 4 directions, machinegun life amount, etc), but on the other hand, I should probably adapt them to fit Terraria more. TBH, I'll probably end up letting the weapons have free rotation. I'll also probably let you have infinite Fireballs too...

Curly mount is a problem, because you'd assume you could still use wings/jetpaks, but original Terraria doesn't allow those items to take effect while mounted. I can fix it if I do a change to tModLoader, but I'm not sure if I'll break things for other modders.

I really want to figure out the Experience triangles. I think the risk of your weapons becoming weaker will be fun since you'll have to vary your weapons a lot in a long fight. I believe once we release tModLoader v0.6.1 there will be an easy solution that won't take up inventory space.

As for why everything looked true to detail, I found sprite sheets that I was able to adapt. I'll have to do the black outline everyone is telling me to do, I never noticed it until just now.

Costumes would be great, but I'm not sure about my artistry.

As for balance, this is version 0.2, I still don't know how I want to go about everything.
 
For version 0.2, its looking and working pretty well. I know most people would even be happy just as it is now, though the directions are a bit frustrating against enemies. And thinking of losing experience triangles, it actually does make it for good balance :)

If you need to shoot around some ideas, I'd be happy to help.
 
Glad it worked, and thanks for the feedback. Most of what you mentioned has been on my mind. On one hand, I'd like to be faithful to the source (weapon sprites, 4 directions, machinegun life amount, etc), but on the other hand, I should probably adapt them to fit Terraria more. TBH, I'll probably end up letting the weapons have free rotation. I'll also probably let you have infinite Fireballs too...

Curly mount is a problem, because you'd assume you could still use wings/jetpaks, but original Terraria doesn't allow those items to take effect while mounted. I can fix it if I do a change to tModLoader, but I'm not sure if I'll break things for other modders.

I really want to figure out the Experience triangles. I think the risk of your weapons becoming weaker will be fun since you'll have to vary your weapons a lot in a long fight. I believe once we release tModLoader v0.6.1 there will be an easy solution that won't take up inventory space.

As for why everything looked true to detail, I found sprite sheets that I was able to adapt. I'll have to do the black outline everyone is telling me to do, I never noticed it until just now.

Costumes would be great, but I'm not sure about my artistry.

As for balance, this is version 0.2, I still don't know how I want to go about everything.
Maybe in a major update for tmodloader add an option to allow the mount to let you use wings or give curly mount the booster for flight.
 
Oh, I changed it to 10 iron bars for each at an anvil before i uploaded it last. (I didn't want people having them show up in the craft menu when you just had dirt, heh.)
also I would like a version where you get the level 1 of the weapon at the early game..level 2 around the start of hardmode(?) and level 3 after plantera? so basicly craftable versions of each thing instead of having the experience stuff..maybe as a separate mod option?? I don't really know :p
 
This is the greatest thing, but I'd like to see the booster become a little more accurate, and I'd also like to see some Cave Story blocks and NPCs.
 
I really wish I could help out with this mod, I've been a big fan of CS for about 9 months now, and having CS items in Terraria is amazing! I hope this mod is not dead, because CS is a pretty big game, and this mod has great potential because of that.

Is this mod open-sourced? I've been trying herd to learn C#, and I have many ideas for this mod that it would take me about half an hour to make the entire list!

Here's a summary of it:
- Titles/blocks from Cave Story that you can place
- Special furniture, like CS's beds and computers
- Refill stations that refill your HP and mana
- Town NPCs! Can't forget about these! (The Mimigas...?)
- New enemies, like the critters, bats (Don't confuse this with the bats already in Terraria) and the rabid Mimigas(Chance of 1 out of 700 chance to spawn but but drop treasures).
- Bosses, such as Ironhead, the Doctor (When enraged), Ballos, Monster X, and even omega.
- And when creating a new world, you have a chance of 1 out of 20 to have a large floating island to spawn with these items, and different areas, I don't think tModLoader could do this, but it could.

Thanks!
 
I really wish I could help out with this mod, I've been a big fan of CS for about 9 months now, and having CS items in Terraria is amazing! I hope this mod is not dead, because CS is a pretty big game, and this mod has great potential because of that.

Is this mod open-sourced? I've been trying herd to learn C#, and I have many ideas for this mod that it would take me about half an hour to make the entire list!

Here's a summary of it:
- Titles/blocks from Cave Story that you can place
- Special furniture, like CS's beds and computers
- Refill stations that refill your HP and mana
- Town NPCs! Can't forget about these! (The Mimigas...?)
- New enemies, like the critters, bats (Don't confuse this with the bats already in Terraria) and the rabid Mimigas(Chance of 1 out of 700 chance to spawn but but drop treasures).
- Bosses, such as Ironhead, the Doctor (When enraged), Ballos, Monster X, and even omega.
- And when creating a new world, you have a chance of 1 out of 20 to have a large floating island to spawn with these items, and different areas, I don't think tModLoader could do this, but it could.

Thanks!
Not dead, I'm just doing a lot of things.

Alright, sure, I'll make it open-source. Here is the GitHub: https://github.com/JavidPack/CaveStory

There are reference sprite sheets there, so have at it. Fork it and try making something, what ever you'd like, and we'll go from there.

I'd say start with an item or tile, maybe even an NPC if you feel up to it. World Gen things will have to wait for a couple tModLoader updates.
 
Not dead, I'm just doing a lot of things.

Alright, sure, I'll make it open-source. Here is the GitHub: https://github.com/JavidPack/CaveStory

There are reference sprite sheets there, so have at it. Fork it and try making something, what ever you'd like, and we'll go from there.

I'd say start with an item or tile, maybe even an NPC if you feel up to it. World Gen things will have to wait for a couple tModLoader updates.
I've been working on it a little bit, but I can not find the KB of the Curly Brace mount's KB, which, of course, is way to high.

On the other hand, I'm working on the red bats, and they should spawn in the underworld. I'm using the Terraria wiki as a reference for other things to make them a little more powerful than the bats in the Underworld. They spawn in the last cave in Cave Story, so I'm thinking that they should be hardmode monsters.

I'm also using tModLoader's wiki on Github for help on what I should use, and the Example mod helps a lot with most of the code I need. (I'm not being lazy, I'm typing it down, and making sure I don't make mistakes.)

EDIT: I'm on the SetDefaults part, with the "npc.soundKilled" part. I want to put in the sound that (almost) all the enemies in Cave Story make, but I'm not sure how to get to it, and I don't have any sound format converters on me.
 
Last edited:
I've been working on it a little bit, but I can not find the KB of the Curly Brace mount's KB, which, of course, is way to high.

On the other hand, I'm working on the red bats, and they should spawn in the underworld. I'm using the Terraria wiki as a reference for other things to make them a little more powerful than the bats in the Underworld. They spawn in the last cave in Cave Story, so I'm thinking that they should be hardmode monsters.

I'm also using tModLoader's wiki on Github for help on what I should use, and the Example mod helps a lot with most of the code I need. (I'm not being lazy, I'm typing it down, and making sure I don't make mistakes.)

EDIT: I'm on the SetDefaults part, with the "npc.soundKilled" part. I want to put in the sound that (almost) all the enemies in Cave Story make, but I'm not sure how to get to it, and I don't have any sound format converters on me.
Wow, that's awesome, I'm impressed.

I have some programs on my computer that I used for the other sounds, I'll convert them and add them to the repo when I can.

And by curly brace mount knockback, do you mean the nemesis lv 1 knockback, or something different?
 
Wow, that's awesome, I'm impressed.

I have some programs on my computer that I used for the other sounds, I'll convert them and add them to the repo when I can.

And by curly brace mount knockback, do you mean the nemesis lv 1 knockback, or something different?
The projectiles that the Curly Brace mount projects has way to muck knockback, while the weapon itself does normal KB.

Also, I'm wondering how I can do the AIs for the enemies, and I'm starting with the bats. The bats have 2 AIs, one is where it is on the ceiling, and when the player moves under it and moves away, it drops down and charges at the player, and one flies around in a small area, and when the player does under it, it swoops down at the player.
The AIs should be randomized for the bats, so they could take one AI or the other.

EDIT: I'm NOT having a heck of a fun time with making banners... It just places a dirt block:
Code:
using System;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace CaveStory.Items.Banners
{
  public class RedBatBanner : ModItem
  {
    public override void SetDefaults()
    {
      item.name = "Red Bat Banner";
      item.width = 10;
      item.height = 24;
      item.maxStack = 99;
      item.useTurn = true;
      item.autoReuse = true;
      item.useAnimation = 15;
      item.useTime = 10;
      item.useStyle = 1;
      item.consumable = true;
      item.rare = 1;
      item.value = Item.buyPrice(0, 0, 10, 0);
      item.createTile = mod.TileType("MonsterBanner");
      item.placeStyle = 1;
    }
  }
}
 
Last edited:
The projectiles that the Curly Brace mount projects has way to muck knockback, while the weapon itself does normal KB.

Also, I'm wondering how I can do the AIs for the enemies, and I'm starting with the bats. The bats have 2 AIs, one is where it is on the ceiling, and when the player moves under it and moves away, it drops down and charges at the player, and one flies around in a small area, and when the player does under it, it swoops down at the player.
The AIs should be randomized for the bats, so they could take one AI or the other.
Something like:
Code:
    public override int SpawnNPC(int tileX, int tileY)
        {
            int a = base.SpawnNPC(tileX, tileY);
            Main.npc[a].ai[3] = Main.rand.Next(2);
            return a;
        }
...can be used to spawn an npc with different behaviors. In the AI method, just have an if statement that checks ai[3] and does one behavior if it is 0, and the other behavior if it is 1. The actual behavior itself will be the hard part. Have you looked at this? https://github.com/bluemagic123/tModLoader/blob/master/ExampleMod/NPCs/Fish.cs#L25 This should help. Basically, use the ai[] array for state info. You can use this state info to only execute code that is relevant. You mentioned hanging on the ceiling. You might also want to use the SpawnNPC() method to position a bat that would be hanging right below the ceiling.
I imagine something like this might work in there:
Code:
while(!Main.tile[tileX, tileY].active())
{
    tileY--;
}
tileY++;
 
EDIT: I'm NOT having a heck of a fun time with making banners... It just places a dirt block:
Code:
using System;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace CaveStory.Items.Banners
{
  public class RedBatBanner : ModItem
  {
    public override void SetDefaults()
    {
      item.name = "Red Bat Banner";
      item.width = 10;
      item.height = 24;
      item.maxStack = 99;
      item.useTurn = true;
      item.autoReuse = true;
      item.useAnimation = 15;
      item.useTime = 10;
      item.useStyle = 1;
      item.consumable = true;
      item.rare = 1;
      item.value = Item.buyPrice(0, 0, 10, 0);
      item.createTile = mod.TileType("MonsterBanner");
      item.placeStyle = 1;
    }
  }
}

Show me your ModTile code.

Also, I put some sounds on the GitHub for you.
 
I've been working on it quite a bit, here's the link to my changes, one yesterday: https://github.com/Vetpetmon-Labs/CaveStory/commit/ce8102932cd8fdf291c03807f3f0156f47fc49f4 , and one today: https://github.com/Vetpetmon-Labs/CaveStory/commit/aee74e0ab94826139c28051ee2ce2e16270a079e

You can then fix my code after your done testing it out, I found a couple glitches that were left behind:
- What the heck is the machine gun doing while I'm firing it?!
- The Red Bat banner, when placed, shows a pink texture, instead of the actual Banner Graphics.

Not bad, though I'm new to C#. I'm still using the Example Mod for help. I don't have any fancy tools for learning C# or writing C# scripts, but I am using Atom as a text editor if you wanted to know.:)
 
I've been working on it quite a bit, here's the link to my changes, one yesterday: https://github.com/Vetpetmon-Labs/CaveStory/commit/ce8102932cd8fdf291c03807f3f0156f47fc49f4 , and one today: https://github.com/Vetpetmon-Labs/CaveStory/commit/aee74e0ab94826139c28051ee2ce2e16270a079e

You can then fix my code after your done testing it out, I found a couple glitches that were left behind:
- What the heck is the machine gun doing while I'm firing it?!
- The Red Bat banner, when placed, shows a pink texture, instead of the actual Banner Graphics.

Not bad, though I'm new to C#. I'm still using the Example Mod for help. I don't have any fancy tools for learning C# or writing C# scripts, but I am using Atom as a text editor if you wanted to know.:)
Nice, I've merged your commits, and since you have proven capable, I've added you as a collaborator to the original fork. Now you can work directly from there if you'd like.

The machine gun is probably my fault, I must have forgot to revert some changes after I made this post: http://forums.terraria.org/index.php?threads/1-3-tmodloader-a-modding-api.23726/page-177#post-793647

I'll work on fixing some code up so you can see how custom sounds are integrated.

Edit: also let me know if you want any more sounds added
 
Last edited:
Back
Top Bottom