Skip to main content

News

Topic: Project ZeC (My Zelda-esque Clone) (Read 61265 times) previous topic - next topic

0 Members and 4 Guests are viewing this topic.
Re: Project ZeC (My Zelda-esque Clone)
Reply #195
Update: The before and after versions of the Overworld.

Note: The very last row of tiles was removed in the image of the revised Overworld map for file size reduction. They do still exist on the actual map.
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Rhuan
  • [*][*][*][*]
Re: Project ZeC (My Zelda-esque Clone)
Reply #196
@Rhuan Just did a quick count... I currently have 310 maps. To change them all at this point to use ExitMap() would entail roughly around 1200 edits in total. I am going to see if I can make some edits to use the map exit naming I already have in place.
Three options:
a) could write a script to update the map scripts, would be an interesting exercise in data handling
b) you could set up a system to change your map scripts at runtime - would be fairly simple
c) make 4 functions with the old names that either redirect to my function after putting in the direction parameter or take the contents of my function and split it to only have the bit for their direction (getting rid of the switch)

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Project ZeC (My Zelda-esque Clone)
Reply #197
b) you could set up a system to change your map scripts at runtime - would be fairly simple

This is what persist.js does, in fact.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Project ZeC (My Zelda-esque Clone)
Reply #198
If I understand things correctly, you have one map dedicated for every screen, right? You could actually use and depend on just the combined overworld map, put every single (overworld) screen on there, and use some clever coding to position the camera as well as spawn objects into and out of existence depending on what your current screen is.

It takes more coding, but it makes things like scrolling to the next map a cinch and it prevents you from having to maintain duplicates of every screen as well.

(If I didn't understand things correctly, excuse the mistake - I've been looking at the pictures and text more than actually downloading the scripts and code. :P )

Re: Project ZeC (My Zelda-esque Clone)
Reply #199
@Rhuan Just did a quick count... I currently have 310 maps. To change them all at this point to use ExitMap() would entail roughly around 1200 edits in total. I am going to see if I can make some edits to use the map exit naming I already have in place.
Three options:
a) could write a script to update the map scripts, would be an interesting exercise in data handling
b) you could set up a system to change your map scripts at runtime - would be fairly simple
c) make 4 functions with the old names that either redirect to my function after putting in the direction parameter or take the contents of my function and split it to only have the bit for their direction (getting rid of the switch)

I did c.

Code: [Select]
//Before
function NorthernExit(layer, map)
{
 var Name = GetInputPerson();
 var PX = GetPersonX(Name);
 var PY = GetPersonY(Name);
 var NewPY;

 NewPY = (176 - PY) - 8;
 
 LastMap = GetCurrentMap();  //used for Dbug
 RingCheck();  //Check to see if blue or red ring
 
 if (map) ChangeMap(map);
 if (layer >= 0) SetPersonLayer(Name, layer);
 Foo(Name, PX, NewPY) //Foo(name, x, y, dir, layer)
 FadeOut(200); // My temp solution for the room transitions
 
 SetRenderScript("SlidingMap()");
}

//After

function NorthernExit(layer, map)
{
 var Name = GetInputPerson();
 var p_coords = [GetPersonX(Name), GetPersonY()];

 p_coords[0] = 264 - p_coords[0];
 sliding_coords = [w, 0];
 
 LastMap = GetCurrentMap();
 RingCheck();
 
 frozen_player_info = GrabImage(0, h, w, s_h-h);
 
 ChangeMap(map);
 Foo(Name, p_coords[0], p_coords[1], GetPersonDirection(Name), layer);
 
 SetRenderScript(SlidingMap);
}
  • Last Edit: September 15, 2017, 07:05:27 am by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Project ZeC (My Zelda-esque Clone)
Reply #200
b) you could set up a system to change your map scripts at runtime - would be fairly simple

This is what persist.js does, in fact.

I am reading the Wiki page about it
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Project ZeC (My Zelda-esque Clone)
Reply #201
If I understand things correctly, you have one map dedicated for every screen, right?

Each map is 16 tiles x 11 tiles. The Overworld & Underworld, as examples, are composed of 112 maps. They are both 16 maps x 7 maps.

Quote
You could actually use and depend on just the combined overworld map, put every single (overworld) screen on there, and use some clever coding to position the camera as well as spawn objects into and out of existence depending on what your current screen is.

I actually, recently, created a map just like that. I took all of my individual map images (used to create the combined overworld image in one of the above posts), converted each one to a tileset, combined all of the tilesets into 1 file and created a map of all of Hyrule.

The whirlpool function I created uses that map. I've also started using it to develop the cutscene involving Setzer's airship. I do plan on using it more in other functions as well.

Quote
It takes more coding, but it makes things like scrolling to the next map a cinch and it prevents you from having to maintain duplicates of every screen as well.

(If I didn't understand things correctly, excuse the mistake - I've been looking at the pictures and text more than actually downloading the scripts and code. :P )
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Project ZeC (My Zelda-esque Clone)
Reply #202
I've been thinking about how all the levels in the original LoZ fit together into one map. I created this mockup with that thought in mind. The mockup image is not complete. It is missing, at minimum, 3 dungeon levels. The rooms are just a ProtoRoom for development purposes and the levels in no way connect with doors as they do in the image. The colors are to tell the difference between the levels.

Thoughts? Opinions? Suggestions?
  • Last Edit: September 15, 2017, 07:30:32 pm by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Project ZeC (My Zelda-esque Clone)
Reply #203
I like the zec text and the little heart-like dungeon! The other shapes seem kinda undefined which gives you plenty of opportunity to move things around,

If you move the zec dungeons to the left more, you end up with more flexibility on the right side of the large map. Also, if you remove/rework the rightmost two tiles of the gray dungeon, this gives you more space to place a dungeon at the bottom right/general right side.

Re: Project ZeC (My Zelda-esque Clone)
Reply #204
I like the zec text and the little heart-like dungeon!
Heart? Do you mean the skull? Death Mountain.

Quote
The other shapes seem kinda undefined which gives you plenty of opportunity to move things around,

If you move the zec dungeons to the left more, you end up with more flexibility on the right side of the large map.

Moving levels around is a possibilty, although the mockup is still missing (turns out to be) 4 maps. I'm creating ProtoLevel images of them now...

Quote
Also, if you remove/rework the rightmost two tiles of the gray dungeon, this gives you more space to place a dungeon at the bottom right/general right side.

I didn't realize it when I first created the mockup but what you refer to as "the grey dungeon" is actually 2 seperate dungeons. The color difference between them is a very suttle change and makes it hard to tell them apart. They are in fact, Setzer's Tomb & Kain's Tomb as depicted below.
  • Last Edit: September 16, 2017, 11:54:57 am by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Project ZeC (My Zelda-esque Clone)
Reply #205
Also, One of the missing dungeons is huge. I have no idea, currently, where I would even place it on the mockup. It is below.
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Project ZeC (My Zelda-esque Clone)
Reply #206
@DaVince Going through my Sphere Tutorials folder I found your Mode7map program. I think it might just be the solution I was looking for to create my cutscene with Setzer's airship.
  • Last Edit: September 16, 2017, 02:46:46 pm by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Project ZeC (My Zelda-esque Clone)
Reply #207
Nice to see a little demo become useful! I thought that demo was broken in miniSphere though, so that might need a fix...

Re: Project ZeC (My Zelda-esque Clone)
Reply #208
oh, I'll have to test that. I only tried it in 1.5

Edit: Doesn't function the say way in miniSphere... attempting to see what I can do
  • Last Edit: September 16, 2017, 03:36:28 pm by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Rhuan
  • [*][*][*][*]
Re: Project ZeC (My Zelda-esque Clone)
Reply #209
Had a quick glance, looks to me like it should work it's just GrabImage and transformBlit I've used both of those in miniSphere.