ShootersForever.com Forum Index

GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion
GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community


goldeneye SVG maps

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Mapping and Modelling
View previous topic :: View next topic  
tolos
Agent
Agent


Joined: 17 Jan 2021
Posts: 6

 PostPosted: Mon Jul 03, 2023 6:28 pm    Post subject: goldeneye SVG maps Reply with quote Back to top

TLDR: browse goldeneye stage online: https://tolos.me/gemap/index.html (still in beta)

-----

I've been expanding support for my C# goldeneye tool suite. Most recently, after much frustration, adding support for the 1172 compression. That allowed me to parse out the bg assets.

With the three main stage components (stan, bg, setup) mostly supported, I was finally able to work on a project I've wanted for a long time, which is the ability to generate a map/image from the stage data (still in beta).

I added a command line tool to parse the stage data then generate an output svg. I chose svg because I want to support "layers" -- a "bg" layer, a "stan" layer, etc. This turned out to be maybe not so useful, but choosing svg has the benefit of great browser support, and the ability to easily manipulate with javascript/css.

The bg asset is decomposed into rooms. Each room has point data to define the level geometry (how it's rendered), I project to 2d then create a convex hull of the points. This is then saved to go into the output svg as a room, and min+max vertical values are added as metadata.

Stans are treated similarly, project to 2d and create a convex hull. Save to go to output svg, and track min+max vertical value as metadata.

Setup is more and less complicated. All the setup coordinates are just pad ids (or boundpad), so I only need to take a single point without geometry math, yay. But pretty much all the interesting level data is here, and it's all special cases.

I do not have support for model information, so that means the resulting map does not accurately represent prop information. For three reasons.

bad props reason 1: missing model info.
bad props reason 2: there's a lot of weird cases in the game I haven't supported yet, mostly just doors. If you use PerfectGold you've probably seen the "mirror" flag, this is annoying to deal with. I'm going to have to spend some time in decomp before doors are rendered correctly.
bad props reason 3: scale. This will be easier to fix than #1 or #2, but I don't use the setup scale value (except for the helicopter on Surface 2, neat trick from the devs).

Since there's no model data, all of the props are "eyeballed" to look approximately correct. Also, I hand drew every single image you see in the maps. That's why there are so many rectangles. But I tried to add images for the more important items. Or at least color it differently like the aztec dat.

Having said all that, you can generate your own svg images with my getools, C# source available at:

https://github.com/burnsba/getools/tree/main/level

I thought it would be neat to see a map for custom romhacks, so if anyone wants to try that let me know, all you need is the (uncompressed) setup+stan+bg sections. (note: if you have custom props, the output props will not match in the map)

-----

Outputting a single image is nice, but I wanted this to be "useful," so I put together a quick webpage to demo. I generated maps for all version info. The stan data is the same on all versions, bg is the same except for PAL Jungle and PAL Streets, and there are various setup differences. I'm not sure the setup differences will be noticeable as far as visual/map is concerned (like ai block changes), but I just included them any way. That gives the folloing stages:

Dam
Facility
Runway
Surface 1
Bunker 1
Silo (NTSC)
Silo (PAL)
Silo (NTSC-J)
Frigate (NTSC)
Frigate (PAL)
Frigate (NTSC-J)
Surface 2
Bunker 2
Statue (NTSC)
Statue (PAL)
Statue (NTSC-J)
Archives
Streets (NTSC)
Streets (PAL)
Depot
Train (NTSC)
Train (PAL)
Train (NTSC-J)
Jungle (NTSC)
Jungle (PAL)
Jungle (NTSC-J)
Control
Caverns
Cradle (NTSC)
Cradle (PAL)
Cradle (NTSC-J)
Aztec
Egypt

My web demo lets you choose a stage, and you can toggle individual layers on or off. I added a vertical "slicer" that will allow you to only show data between a min and max data (using the metadata included mentioned above). I added a "style" section if you want to tweak the colors. When a stage is loaded, I parse out the list of props and then allow you to selectively hide any. For example, trees on jungle. And then finally there is a direct download of the raw svg at the bottom.

I did try to make this mobile friendly, let me know if you have any UI issues.

https://tolos.me/gemap/index.html

-----

I will be working on fixing doors soon, and hopefully the prop scale issue. I do not plan on adding support for models any time soon.
 
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Mapping and Modelling All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright 2002-2004 Jakob Persson


Powered by BB 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]