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


Tool for randomising Goldeneye (new version Release 4)
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sun Aug 20, 2017 9:11 am    Post subject: Reply with quote Back to top

Wreck wrote:
Just wanted to see if you were still working on updates for this tool? Please do take your time with it, as I don't intend for you to hurry out a new version. Simply knowing that you're continuing on it when you have free time is enough for now. Smile


Whoops, sorry I missed your post Wreck, yep.. all is progressing nicely. I'm hoping to release the next update in a couple of days to coincide with the 20 year anniversary. It won't be as big an update as I had hoped as I lost three weeks away on work and a family emergency.. but hey, these things can't be avoided.

The new version is a huge (if mostly behind the scenes) improvement on the existing release so I'm still excited to release it soon. It does some funny things like replacing metal crates for wooden ones, wooden and metal crates for explosive barrels etc.. so there's a fair amount of testing required Very Happy
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7197
Location: Ontario, Canada

 PostPosted: Sun Aug 20, 2017 11:05 am    Post subject: Reply with quote Back to top

Just be cautious of texture memory. I think I noticed the odd time in Graslu's video where graphical issues began to occur, mostly with bullet tracers, crosshair and ammo icons. Those tend to be affected first when too many images are loaded in. If you modify all wooden crates to be metal (or vice versa), swapping one prop ID for another, it may be fine. But if it is spread out randomly (so wooden and metal can appear together), you'll be introducing more models and textures. Vehicles are really hard on memory, due to how much is involved, and character models also eat up their share.
 
View user's profile Send private message Visit poster's website
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sun Aug 20, 2017 2:29 pm    Post subject: Reply with quote Back to top

Yep.. I'm being careful to only use things that are already in a stage when randomising. I'm still experimenting. These object variations however are not in v1002 which is released so that can't be the cause of the corruption.

On that subject, when I remove a weapon or a hat from an enemy I put it in a stash so I can reuse the entry directly later but reset the associated guard ID to 0. Silly me. 0 is a valid guard. Very Happy

http://i.imgur.com/hVQ7lXt.mp4

At least we know who stole all the hats in the level.

This also gives a preview of the 'turncoat' feature I'm working on. Random scientists may be soldiers and random soldiers may really be scientists - so be careful what you shoot at. Twisted Evil
 
View user's profile Send private message
pavarini
00 Agent
00 Agent


Joined: 07 May 2015
Posts: 479

 PostPosted: Sun Aug 20, 2017 2:52 pm    Post subject: Reply with quote Back to top

That's pretty great. Would you consider open sourcing the tool in the near future?
 
View user's profile Send private message
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sun Aug 20, 2017 3:51 pm    Post subject: Reply with quote Back to top

pavarini wrote:
That's pretty great. Would you consider open sourcing the tool in the near future?


Hmm.. possibly. There's a fair amount of reverse engineering I had to do even with the public docs so I think it would be nice to open that up so others can use it. Maybe further down the line.
 
View user's profile Send private message
Graslu
Agent
Agent


Joined: 15 Dec 2016
Posts: 119
Location: Almeria, Andalucia, Spain

 PostPosted: Sun Aug 20, 2017 4:34 pm    Post subject: Reply with quote Back to top

It'd be awesome to have the randomized guns per level, if you keep the same set for the whole game it gets repetitive. All the other changes seem really promising!
_________________
You can't win.

YouTube: https://www.youtube.com/c/Graslu00
Discord: https://discord.gg/tksttVC
 
View user's profile Send private message
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Tue Aug 22, 2017 12:39 am    Post subject: Reply with quote Back to top

graslu wrote:
It'd be awesome to have the randomized guns per level, if you keep the same set for the whole game it gets repetitive. All the other changes seem really promising!


I'm still in two minds about whether weapons and starting weapons should be themed for the whole game (like release 2) or randomised per-level. Currently as an experiment I've got them randomising for each level... maybe I'll add an option to switch between modes when randomising, not sure yet. Cool

I very much want to make the tool a 'fire and forget' rather than having options galore. I was toying with the idea of making a GUI front end which would show exactly what changes were made and allow people to tweak the randomisation settings for the seed.. but this then spoiled the surprise when loading up the ROM to see what has changed.

Again, this is something I will look at more in the future, for now my focus is randomising as much as possible. I still have a long ideas list. Very Happy
 
View user's profile Send private message
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Fri Aug 25, 2017 3:41 pm    Post subject: Reply with quote Back to top

I ran in to a bit of a problem yesterday when I started testing all the additions I have made together. Each individual feature worked fine, however when they all ran together I started seeing problems. Whilst I really wanted to release something on the day marking 20 years since the release of Goldeneye.. I've decided to hold off a couple more days.

The reason for this is how much I can compress individual setup files. Most of the time for most of the levels there are no problems at all since my compression options are actually more aggressive than that which Rare used. However Train in particular is consistently giving me problems, even when I reduce randomisations to a minimum for that particular level.



As you can see, currently if a level grows too large it can cause problems by overwriting part of the subsequent level info which leads to the corruption of that level.

Rather than releasing now and maybe a minor percentage of randomised ROMs having an issue (I'd guess ~20%) with one or more levels, I'm first going to do the work I planned on completing for the next release for this one. The work involves dynamically reorganising the internal data within the ROM. It will mean that space savings obtained from compressing other levels can be used as a buffer if any other levels grow in size.

This should solve the issues and reduce the number of 'bad' randomisations to nearly zero, however I need to dig through other parts of the ROM to familiarise myself with where the setup offsets are stored and write a bit of code to dynamically reallocate these table pointer entries when recompressing. I don't think this is a big task and hopefully wont delay the next version more than a couple of days.

So, instead of a new release you have a block of text, but I hope you can appreciate I prefer to get something working reliably than rush out the next release. Confused
 
View user's profile Send private message
Kode-Z
Hacker
Hacker


Joined: 09 Nov 2007
Posts: 1142
Location: London, England

 PostPosted: Sat Aug 26, 2017 2:19 am    Post subject: Reply with quote Back to top

Came across this article today!

Features this amazing mod!

https://www.digitaltrends.com/gaming/goldeneye-n64-rom-hack-mod/
 
View user's profile Send private message
pavarini
00 Agent
00 Agent


Joined: 07 May 2015
Posts: 479

 PostPosted: Sat Aug 26, 2017 4:00 am    Post subject: Reply with quote Back to top

K1lo wrote:
Hmm.. possibly. There's a fair amount of reverse engineering I had to do even with the public docs so I think it would be nice to open that up so others can use it. Maybe further down the line.

Awesome I look forward to it.
 
View user's profile Send private message
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sat Aug 26, 2017 5:06 am    Post subject: Reply with quote Back to top

Kode-Z wrote:
Came across this article today!

Features this amazing mod!

https://www.digitaltrends.com/gaming/goldeneye-n64-rom-hack-mod/


Wow that's so cool! I found a couple of different places talking about it (although it's a tool rather than a mod to be pedantic Laughing )
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7197
Location: Ontario, Canada

 PostPosted: Sat Aug 26, 2017 10:54 am    Post subject: Reply with quote Back to top

Nice article, although the writer mentions karate chopping guards and it working on emulators (not being possible on an N64). Must not have been super informed on the subject (or game, for that matter) when writing it up. Unarmed guards using their slapper would be a nice addition to the game, and would also allow hunting knives, too.
 
View user's profile Send private message Visit poster's website
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sun Sep 10, 2017 1:46 am    Post subject: Reply with quote Back to top

I'm super excited to share with you all Release 4 of Janus - this is the culmination of many many days of research, staring at diffs in hexeditors and pestering people on this forum for help and advice. I had hoped to get this out in time for the 20th anniversary as I mentioned before.. but never-mind. Effectively this release is release 3 and 4 rolled in to one.

The earlier releases of Janus were relatively simplistic in that they searched for patterns and altered them. In Release 4, Janus has been pretty much rewritten from scratch. It now goes through parsing everything about each level, building representations in memory before randomising and changing many elements in a combined fashion. What do I mean by this? Well, for example, previous when Janus changed an enemy to an officer type this was by modifying the character body type only. Now, Janus will pick a guard ID, change their body type, weapon(s), hat etc as a single change meaning everything feels much more purposeful.

As a result of some of these changes, the CRC checksum in the header has had to be recalculated for each randomised ROM. Whilst this won't cause a problem when playing the ROMs on the console, it does trip up Project 64 which seems to rely on game specific hacks to make everything work properly. When a ROM is randomised, it no longer matches the entry in Project 64's ROM DataBase (rdb file) causing slowdowns and graphical glitches. To solve this, I'd added a function within Janus that will automatically update the pdb file, however it does need to be configured in the Janus ini file as it is off by default. For information about this, please read the text file in the zip. I've only been testing with Project 64 v2.3.2.202 and have no idea what other emulators do.

So, apart from being much more optimised and hugely improved parsing of ROMs, what's new in Janus you ask?

- Rather than weapon 'themes' for the whole game, each level has different random weapons
- Enemies can now randomly be promoted to NCOs (different weapons) or Officers (best weapons plus character body and hat changes)
- More enemies now spawn additional reinforcements when you make too much noise making the basic game more difficult
- 25% of all enemies are now left handed
- Bond's starting weapon is now randomised along with the amount of ammo supplied
- Better placement of Nemesis units and a wider range of Nemesis characters can now be encountered
- Scientists can now be armed and hostile. Additionally, there can be more scientists through the game that are neutral so be careful who you shoot at!
- Level specific randomisations (currently limited to Facility and Surface 2) where keycards are distributed randomly to enemies
- Janus can automatically update Project 64's rdb file each time a new ROM is randomised
- .. many more small tweaks

Release 4 build link
 
View user's profile Send private message
Narann
Agent
Agent


Joined: 05 Dec 2013
Posts: 4

 PostPosted: Sun Sep 10, 2017 12:08 pm    Post subject: Reply with quote Back to top

That looks cool! Is there a PAL version of this? Hacks are often NTSC and doesn't work on European real hardware. Sad
 
View user's profile Send private message Visit poster's website
K1lo
Agent
Agent


Joined: 10 Jun 2012
Posts: 112
Location: Albert Embankment, Vauxhall

 PostPosted: Sun Sep 10, 2017 12:32 pm    Post subject: Reply with quote Back to top

Thanks! I've focused my effort on the NTSC ROM simply because that's the best mapped out. Honestly, it's unlikely I'll do a PAL modification (despite owning the PAL version myself). However, all ROM patches as far as I am aware target the NTSC version and I have played these on my Everdrive on a PAL N64.. so it should work?

UPDATE: I had a report that some randomised ROMs freeze on real hardware. I'll put out a slightly tweaked release shortly which appends the seed to the ROM so I can investigate further. I suspect the issue is memory being exhausted within the level. I did spend a while play testing, however due to the random nature of the tool it's not possible to see every combination... if anyone spots anything strange please let me know.

The focus of the next release will be bug fixing and stability.
 
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
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 ]