I've been trying to think of a project to work on and had the idea to try making (as close to) a copy of the original Super Mario Bros for NES (as i can). So this is gonna be a thread for questions for making this.
Firstly: Is there a way to only let units move on 2 axes? (sp) I won't need units to move depth whatsoever
PS. If anyone is working on a game and could use some help, feel free to PM me. I'm mostly wanting to trigger things to learn how to set up codes for different things
Yes to the 2 axis. (I think). Just apply a camera to look at the scene from the side, so it has the view of a mario game. (your unit is facing the right at this angle) Then using the A and D keys, order the unit to move to a point with a polar offset. You will have to play with angles a bit but I'm confident this would definitely be doable. The issue is with Enemies- they will move on 3 axis to attack the player. So you can counter this by paining non-pathable areas behind the 2d plane and in front of it.
ATTACHMENTS
example_pic4_copy.png
Rollback Post to RevisionRollBack
Feel free to Send me a PM if you have any questions/concerns!
Got it, that helps a lot. Next question: Is there a way to make the game gridded? For example, the pokemon games were played on a grid (in the world at least, not in pokemon battles) and so is Super Mario Bros
I've been using SnapToGrid and showing the grid as a guideline when using the terrain editor, but I don't know if there's a better way
Hmm.. I disagree with zelda. Gigantic region arrays can be easily created with triggers. If you want, PM me and I can show you how to set it up.
I currently use a 23x41 square-grid system for a turn-based strategy game. You would be amazed how fast the editor can iterate through a size 943 array.
I know you can set it all the variables fast with loops. Why I recommended against it because he wanted it for a super Mario game. Why do you need a grid for a mario game?
Rollback Post to RevisionRollBack
Feel free to Send me a PM if you have any questions/concerns!
Got it, that helps a lot.Next question:Is there a way to make the game gridded?For example, the pokemon games were played on a grid (in the world at least, not in pokemon battles) and so is Super Mario Bros
I've been using SnapToGrid and showing the grid as a guideline when using the terrain editor, but I don't know if there's a better way
okay so instead of a mario game, i ended up working on a pokemon (yellow version) replica. So question for that: Is there any way to set it so that when I stop moving the player's unit, he's in one of the grid squares? That would make things much easier i believe
another question: What's the best way to set up triggering a battle? I can set a boolean PlayerIsInGrass true/false when he enters/leaves a region with grass, but i couldn't find a way to say while unit != idle or something like that. Is there a way to say "When unit steps on another grid in region" or something with the grass Doodads maybe?
I have to warn you. Pokemon games are NOT going to be an easy thing to do. You can't really just ask "what triggers should I use for the battle system?"
But I honestly dont know of a way to set it up with units snapping to grids.
Rollback Post to RevisionRollBack
Feel free to Send me a PM if you have any questions/concerns!
i saw that. You cant get that map (afaik) on the site, and i asked the same question about triggering battles in that thread. I know it's a lot of work, but as mentioned earlier, it's for fun. And i'm not asking what triggers to make the battle system with, i mean how do i trigger it to TRIGGER a battle WHEN RUNNING IN GRASS :) In the games it seems like "each time the player steps on a new point on the grid in a grass region, give a # percent chance to trigger a battle"
I have a bazillion regions on my map, and two triggers for each. When a play enters a region, I mark the region they are in. When they leave, I unmark it only if it's the same one he's currently marked as being in. This handles over lapping regions.
Then I have a timer that runs every few seconds. I check for a random between 1 and 3 being 1 (for example), and I check that the player is in the grass.
The alternative method, checking every few seconds to see if the player was in a grass region, was very slow. Unit in Region isn't particularly fast, especially when you have a lot of them. It can be a pain setting up all those triggers, but it really goes by pretty fast, it's just a lot of copy and paste.
Have a seperate action definition for HeroEntersRegion(int RegionNumber) and HeroLeavesRegion(int RegionNumber), so your triggers are only 1 line long. That way, if you make changes later, you need only change it in one place.
Rollback Post to RevisionRollBack
Pocket Warriors - A pokemon-style game with SC2 units and full banking. New demo coming soon!
that sounds a lot like how i had it set up, but I don't quite understand what you mean about the timer. I set up 2 triggers for each region as well (set PlayerInGrass = true/false) and then i have
Events
Timer - Every (Random real between 2.0 and 18.0) seconds of Game Time
Conditions
PlayerInGrass = True
(Idle Units for Player 1) != (Unit Group (PlayerUnit))
Action
[Whatever I'll put to start a battle]
Is that what you meant by the timer, and is there a better way to only run the trigger when PlayerUnit is moving?
EDIT: the Idle condition doesn't work, nor does (Idle Units for Player 1) == No Unit Group. How else can I only run the trigger with him running? There's gotta be a simpler way than setting a boolean
I use "Unit in Unit Group" ( "Idle Units for Player" ) == false. That's how I check if a unit is moving or not.
Here's the whole trigger actually:
RandomEncountersEventsTimer-Every3.0secondsofGameTimeLocalVariablesiPlayer=0<Integer>Region=0<Integer>Hero=NoUnit<Unit>CombatInstance=0<Integer>ConditionsActionsPlayerGroup-ForeachplayeriPlayerin(ActivePlayers)do(Actions)ActionsVariable-SetHero=PlayerData[iPlayer].Hero
Variable - Set Combat Instance = Player Data[iPlayer].Combat Instance
Variable - Set Region = Player Data[iPlayer].Encounter Region
General - If (Conditions) then do (Actions) else do (Actions)
If
And
Conditions
(Random integer between 1 and 3) == 1
Combat Instance < 0(Heroisin(IdleUnitsforplayeriPlayer))==falseRegion!=-1ThenGenerateRandomEncounter(iPlayer,Region)Else
As you see, I also check no make sure they're not already in combat, as well.
Rollback Post to RevisionRollBack
Pocket Warriors - A pokemon-style game with SC2 units and full banking. New demo coming soon!
To post a comment, please login or register a new account.
I've been trying to think of a project to work on and had the idea to try making (as close to) a copy of the original Super Mario Bros for NES (as i can). So this is gonna be a thread for questions for making this.
Firstly: Is there a way to only let units move on 2 axes? (sp) I won't need units to move depth whatsoever
PS. If anyone is working on a game and could use some help, feel free to PM me. I'm mostly wanting to trigger things to learn how to set up codes for different things
@ctccromer: Go
Yes to the 2 axis. (I think). Just apply a camera to look at the scene from the side, so it has the view of a mario game. (your unit is facing the right at this angle) Then using the A and D keys, order the unit to move to a point with a polar offset. You will have to play with angles a bit but I'm confident this would definitely be doable. The issue is with Enemies- they will move on 3 axis to attack the player. So you can counter this by paining non-pathable areas behind the 2d plane and in front of it.
Got it, that helps a lot. Next question: Is there a way to make the game gridded? For example, the pokemon games were played on a grid (in the world at least, not in pokemon battles) and so is Super Mario Bros
I've been using SnapToGrid and showing the grid as a guideline when using the terrain editor, but I don't know if there's a better way
Not that I know of. Unless you somehow set up a gigantic array with a region for each grid spot or something. But I wouldn't even try that :D
Hmm.. I disagree with zelda. Gigantic region arrays can be easily created with triggers. If you want, PM me and I can show you how to set it up.
I currently use a 23x41 square-grid system for a turn-based strategy game. You would be amazed how fast the editor can iterate through a size 943 array.
I suggest you look at the metal slug map. That was a side scroller like what you want.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
@Shawn91210: Go
I know you can set it all the variables fast with loops. Why I recommended against it because he wanted it for a super Mario game. Why do you need a grid for a mario game?
This is the sort of map the SC2 engine 100% cannot run in a high quality manner. But if you really want to make it have fun.
Why not make this sort of game in flash?
No idea how to use flash :) Nor do I want to bother learning..
building footprints anyone?
okay so instead of a mario game, i ended up working on a pokemon (yellow version) replica. So question for that: Is there any way to set it so that when I stop moving the player's unit, he's in one of the grid squares? That would make things much easier i believe
another question: What's the best way to set up triggering a battle? I can set a boolean PlayerIsInGrass true/false when he enters/leaves a region with grass, but i couldn't find a way to say while unit != idle or something like that. Is there a way to say "When unit steps on another grid in region" or something with the grass Doodads maybe?
bump. Can't do too much more until I get/figure out those 2 things
There's already a Pokemon project around: http://forums.sc2mapster.com/resources/project-workplace/16942-pokemon-style-game-with-sc2-units-full-banking/#posts although I'm not sure if it's still active.
You could get some inspiration from that ;).
I have to warn you. Pokemon games are NOT going to be an easy thing to do. You can't really just ask "what triggers should I use for the battle system?"
But I honestly dont know of a way to set it up with units snapping to grids.
The project that Lonami linked is still very much alive. The progress he has made is pretty awesome.
i saw that. You cant get that map (afaik) on the site, and i asked the same question about triggering battles in that thread. I know it's a lot of work, but as mentioned earlier, it's for fun. And i'm not asking what triggers to make the battle system with, i mean how do i trigger it to TRIGGER a battle WHEN RUNNING IN GRASS :) In the games it seems like "each time the player steps on a new point on the grid in a grass region, give a # percent chance to trigger a battle"
@ctccromer: Go
What I do isn't pretty, but it's fast.
I have a bazillion regions on my map, and two triggers for each. When a play enters a region, I mark the region they are in. When they leave, I unmark it only if it's the same one he's currently marked as being in. This handles over lapping regions.
Then I have a timer that runs every few seconds. I check for a random between 1 and 3 being 1 (for example), and I check that the player is in the grass.
The alternative method, checking every few seconds to see if the player was in a grass region, was very slow. Unit in Region isn't particularly fast, especially when you have a lot of them. It can be a pain setting up all those triggers, but it really goes by pretty fast, it's just a lot of copy and paste.
Have a seperate action definition for HeroEntersRegion(int RegionNumber) and HeroLeavesRegion(int RegionNumber), so your triggers are only 1 line long. That way, if you make changes later, you need only change it in one place.
that sounds a lot like how i had it set up, but I don't quite understand what you mean about the timer. I set up 2 triggers for each region as well (set PlayerInGrass = true/false) and then i have
Events
Timer - Every (Random real between 2.0 and 18.0) seconds of Game Time
Conditions
PlayerInGrass = True
(Idle Units for Player 1) != (Unit Group (PlayerUnit))
Action
[Whatever I'll put to start a battle]
Is that what you meant by the timer, and is there a better way to only run the trigger when PlayerUnit is moving?
EDIT: the Idle condition doesn't work, nor does (Idle Units for Player 1) == No Unit Group. How else can I only run the trigger with him running? There's gotta be a simpler way than setting a boolean
@ctccromer: Go
I use "Unit in Unit Group" ( "Idle Units for Player" ) == false. That's how I check if a unit is moving or not.
Here's the whole trigger actually:
As you see, I also check no make sure they're not already in combat, as well.