If he made a port on the "build it and they will come" model, there's a good chance that it would be unused for modding. Also, if he's using his port to make his own content, that will ensure that it gets better. There's nothing like actually using something yourself for exposing bugs and deficiencies.
I'm hoping people really like my third episode mod, and want to develop mods using the tools I'm making for my project. I think its really critical to make content as your flushing out a development platform. You can come up with great ideas, but if your ideas don't work in practicality, its pointless.
This post has been edited by icecoldduke: 26 June 2017 - 02:35 PM
In current SW, you can't even go as far as to make a door automatically open after killing a boss.
Ninjakitty, on 26 June 2017 - 11:27 AM, said:
There are no documented tags to make that happen (I tried, and I still haven't figured it out). I even explored boss rooms in build and tried replicating the boss/door, and I couldn't get it to work...
After some verifying in the editor and poking around in the source, give the vator the same lotag as the boss. I don't see any built in way to do what icecoldduke wants with regular group of dudes though.
Had forgotten all about the annoyance in the build editor of the starting spawn location moving to the first place you switch into 3D.
NeverSawFreeWilly, on 26 June 2017 - 02:41 PM, said:
After some verifying in the editor and poking around in the source, give the vator the same lotag as the boss. I don't see any built in way to do what icecoldduke wants with regular group of dudes though.
Had forgotten all about the annoyance in the build editor of the starting spawn location moving to the first place you switch into 3D.
I think its really critical to make content as your flushing out a development platform. You can come up with great ideas, but if your ideas don't work in practicality, its pointless.
Very true.
Or you might have made something that is functional but is a pain in the ass to use, and the users don't complain because they assume they are stuck with it.
Also, when there is such a small user base, you as the developer can't rely on bug reports from the community (although it's awesome when you get someone like Forge to help out in that regard). What I find in my modding projects is that I end up finding 90% of the bugs myself, even if I have beta testers. It's often because players don't know what your intent is -- an aspect of a feature may be broken and it's not obvious to someone who didn't design it.
NeverSawFreeWilly, on 26 June 2017 - 02:41 PM, said:
After some verifying in the editor and poking around in the source, give the vator the same lotag as the boss. I don't see any built in way to do what icecoldduke wants with regular group of dudes though.
Had forgotten all about the annoyance in the build editor of the starting spawn location moving to the first place you switch into 3D.
Wow, that's very helpful information!
It would seem this works for the Serpent god and Sumo in both regular and mini(sprite pal 16) variety, doesn't seem to work for Zilla or any other actors in the game.
You can also use this trick with the 2 lesser bosses' match tag trigger upon death ability to then trigger a sector swap st1 ht58/59 and the newly swapped sector being lo tagged as 116, you'd need to leave the sector and re-enter it to trigger if you were already standing in the swapped sector but this in effect lets you end the map upon boss death. There could even be better ways of immediately ending the map after the boss dies other than the obvious door opening to reveal the end button, the st1 tagging system is foxy like that.
I'm certain you're already aware however some may not know that in order to have the boss meters work and cut scenes triggered in a user map, you need to do the following: For example the Serpent boss shows up in map #4 Dark Woods in the original game therefore in your user map you'd have to place the Serpent god and then have your map replace map#4 in the game, doing this makes the damage meter show up and function as well trigger the appropriate cut scene afterward.
This post has been edited by Wombat: 26 June 2017 - 07:14 PM
In the EpisodeThree branch I have committed new lua functions, getspritetag, spawnsprite, and findactor. I have also expanded getlocalvar and setlocalvar to have tables. I have also expanded the ST1 function main to pass in, if this sprite is just spawning in. I have made a lua script that will spawn ninjas at ST1 sprites that have the same TAG2 as the TAG3 of the SCRIPT ST1.
Here is a simple demo
Here is the code.
function stagscript_function0(myspriteid, mysectorid, isspawning)
TABLE_ST1_STATE = 0 -- Holds state information for our spawner.
TABLE_SPAWN_POSITIONS = 1 -- Table that stores the spawn positions.
TABLE_SPAWN_ENTITIES = 2 -- Table that holds the actual entities that are spawned.
LOCAL_VAR_NUM_STORED_SPRITES = 0
LOCAL_VAR_ST1_STATE = 0
STATE_PLAYER_HASNOT_ENTERED = 0
STATE_PLAYER_HAS_ENTERED = 1
if isspawning == 1 then
local spawnSpriteCount = 0;
-- Find all of our spawn positions.
tag2 = getspritetag(TAG3, myspriteid);
spawnnodes = findactor(ST1, NO_TAG, tag2, NO_TAG, NO_TAG, NO_TAG, NO_TAG);
-- We need to store the spawn nodes for later.
for nodeSpriteId = 0, #spawnnodes do
setlocalvar(myspriteid, TABLE_SPAWN_POSITIONS, spawnSpriteCount+1, spawnnodes[nodeSpriteId]);
spawnSpriteCount = spawnSpriteCount + 1;
end
-- Store how many sprites we have.
setlocalvar(myspriteid, TABLE_SPAWN_POSITIONS, LOCAL_VAR_NUM_STORED_SPRITES, spawnSpriteCount);
end
currentstate = getlocalvar(myspriteid, TABLE_ST1_STATE, LOCAL_VAR_ST1_STATE);
-- If the player enters this sector, we are going to spawn Ninjas.
playersector = getplayersector(0);
if mysectorid == playersector then
if currentstate == STATE_PLAYER_HASNOT_ENTERED then
-- Spawn Ninjas for every spawn position we have!
local spawnSpriteCount = getlocalvar(myspriteid, TABLE_SPAWN_POSITIONS, LOCAL_VAR_NUM_STORED_SPRITES);
for i = 0, spawnSpriteCount do
local spriteid = getlocalvar(myspriteid, TABLE_SPAWN_POSITIONS, i + 1);
-- Spawn a ninja on the sprite.
spawnsprite(NINJA_RUN_R0, spriteid);
end
setlocalvar(myspriteid, TABLE_ST1_STATE, LOCAL_VAR_ST1_STATE, STATE_PLAYER_HAS_ENTERED)
end
else
-- If the player has left our sector, reset our state.
if currentstate == STATE_PLAYER_HAS_ENTERED then
setlocalvar(myspriteid, TABLE_ST1_STATE, LOCAL_VAR_ST1_STATE, STATE_PLAYER_HASNOT_ENTERED)
end
end
end
This post has been edited by icecoldduke: 26 June 2017 - 07:42 PM
I'm certain you're already aware however some may not know that in order to have the boss meters work and cut scenes triggered in a user map, you need to do the following...
I have made a lua script that will spawn ninjas at ST1 sprites that have the same TAG2 as the TAG3 of the SCRIPT ST1.
Spawning in Ninjas or any other actor can be done by giving the actors a lo tag of 203 and then their hi tag is the match tag and can be spawned in by anything set to trigger their match tag.
This post has been edited by Wombat: 26 June 2017 - 07:49 PM
Spawning in Ninjas or any other actor can be done by giving the actors a lo tag of 203 and then their hi tag is the match tag and can be spawned in by anything set to trigger their match tag.
I'm aware that the ST1 system supports spawning sprites. Now that I can do that in script, I can add extra logic to deal with what happens when those assets get killed(like spawn a health box at the enemy spawn locations when the player kills a monster). That is something you can't do with the ST1 system.
This post has been edited by icecoldduke: 26 June 2017 - 07:53 PM
Spawning in Ninjas or any other actor can be done by giving the actors a lo tag of 203 and then their hi tag is the match tag and can be spawned in by anything set to trigger their match tag.
NeverSawFreeWilly, on 26 June 2017 - 07:46 PM, said:
The boss meter code is an engineering sitcom.
If the player dies while fighting a boss and chooses Y to load their last save - the meter stays at the top of the screen
(at least it does if the last save was somewhere in the boss map - even if it was near the start of the level)
I'm aware that the ST1 system supports spawning sprites. Now that I can do that in script, I can add extra logic to deal with what happens when those assets get killed(like spawn a health box at the enemy spawn locations when the player kills a monster). That is something you can't do with the ST1 system.
Oh ok cool, your post and video made it seem like you weren't aware.
Ninjakitty, on 26 June 2017 - 08:17 PM, said:
Wait... but then can't it only be triggered once?
Yes the enemy will only spawn and die once. If you wanted to respawn a new wave after that, just use a different trigger and match tag.
This post has been edited by Wombat: 26 June 2017 - 08:26 PM
It has taken me a long time to learn what little con knowledge I have. I won't learn Lua so I'm all for doing as much thru mapping with tags as possible.
It has taken me a long time to learn what little con knowledge I have. I won't learn Lua so I'm all for doing as much thru mapping with tags as possible.
Aw, what???
Just look at his examples if ya need to, and a list of functions, and start by experimenting!
By just looking at his functions, it shouldn't be too hard to tell what does what.
Anyway, I think he will be adding more ST1 tags if that's more your style.
This post has been edited by Ninjakitty: 27 June 2017 - 09:37 AM
So what is everyone's view on level scripting vs ST1 tags? This is a pretty open ended question, but I'm curious on what everyones thoughts are.
That's loaded question for sure.
I'd use both. Scripting for my fancy game flow (actors work together for attack) and tags for standard items, like keys open a locked door.
Thats a tall order to make a comprehensive guide repleat with drop-in examples of real world code snippets. I probably learned more con coding from looking at examples than looking at the wiki list of commands with their tech speak.
So the way I see it it's scripting or no scripting, it's not as if sw had con code to start with. So I vote yes to lua, even though I've never used it and most likely won't here either, it's just my 2 cents.
Why the hell would anyone not want a scripting system? That would mean you'd have to make a new fork of the game any time you wanted to change something significant.
I'm hoping people really like my third episode mod, and want to develop mods using the tools I'm making for my project. I think its really critical to make content as your flushing out a development platform. You can come up with great ideas, but if your ideas don't work in practicality, its pointless.
I must warn you, though:
When making fun of dictatorial regimes like North Korea, do not use Kim's real name in your mod because they will target you. Ask Sony what happened to them or that Otto Warmbier kid. Use a caricatured version of his appearance and name to get the comedic effect across.
Regimes like North Korea do not like criticism or caricatures of themselves out there. They attempt to silence everyone and anyone who try to oppose them.
As Americans, we take free speech for granted, but in many parts of the world, saying the wrong thing gets your corpse thrown into a shallow grave with a bullet in the back of the head.
This post has been edited by Master O: 27 June 2017 - 04:56 PM
@ Master O
This is beyond free speech, it is very inappropriate to use any real person, without their consent. http://www.dmlp.org/...ikeness-another In most states, you can be sued for using someone else's name, likeness, or other personal attributes without permission for an exploitative purpose. Usually, people run into trouble in this area when they use someone's name or photograph in a commercial setting, such as in advertising or other promotional activities. But, some states also prohibit use of another person's identity for the user's own personal benefit, whether or not the purpose is strictly commercial.
@ Mark. Lucky you. I took me two weeks to figure out what nullop does. - I'll write the little guide then, but I need someone to clean up my shitty English.
This post has been edited by Hank: 27 June 2017 - 06:03 PM
I would love it if Kim Jung Un sued me. I'd be famous as fuck for life.
One - You'll get a C&D first.
Two - Warmbier is famous for life two, sort of. Will be forgotten in a month or so.
Three - Make a superior game - everyone will want to know you.
One - You'll get a C&D first.
Two - Warmbier is famous for life two, sort of. Will be forgotten in a month or so.
Three - Make a superior game - everyone will want to know you.
He cant sue in the united states anyway unfortunately. North Korea doesn't even have diplomatic ties with the United States.
One - You'll get a C&D first.
Two - Warmbier is famous for life two, sort of. Will be forgotten in a month or so.
Three - Make a superior game - everyone will want to know you.
Masterful trolling on your part, but if North Korea decides to go after someone, it will not be in a courtroom.
Regimes like North Korea do not like criticism or caricatures of themselves out there. They attempt to silence everyone and anyone who try to oppose them.
I'm sorry that's no reason not to make a mod. I'm not scared of that fat fuck and I plan on making a fantastic mod with humor directed at him. And if he ever plays, and gets offended. I can cross a item off my bucket list .
When making fun of dictatorial regimes like North Korea, do not use Kim's real name in your mod because they will target you. Ask Sony what happened to them or that Otto Warmbier kid. Use a caricatured version of his appearance and name to get the comedic effect across.
As long as icecoldduke doesn't visit North Korea like Warmbier did, he'll be fine.
By the way, if Team America, a major motion picture can get away with a brutal depiction of Kim Jung Il (who reportedly hated the film with a burning passion), then I'm pretty sure an obscure video game can get away something similar with Kim Jung-un.