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 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: Thu Jul 13, 2017 11:59 am    Post subject: Tool for randomising Goldeneye (new version Release 4) Reply with quote Back to top

Hi guys,

So you may have seen me posting the last couple of days and pestering SubDrag with questions. I wanted to share with a tool that I've been working on. It's called Janus (reference to the film) and will create a randomised copy of your Goldeneye ROM.



Here's what it can do in the current version:

Arrow Randomise enemy weapons with a large number of permutations - each level has different random weapons
Arrow Major and minor weapons for each randomisation type - 'common' enemies no longer all have the same weapon on each map
Arrow Enemy soldiers can now be promoted to NCO and Officer types with different weapons
Arrow Higher ranked common enemy types distinguished by different bodies suitable for level
Arrow Guards occasionally have 'super' weapons (i.e. rocket + grenade launcher) although this is rare
Arrow Occasional encounters with Bond villains who pop-up organically throughout the game
Arrow Many more enemies throughout the game as any enemy can have the 'spawns clones' flag set
Arrow ~ 25% of all enemies are now left handed
Arrow Starting weapons are now randomised along with the amount of ammo supplied
Arrow 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!
Arrow Level specific randomisations (currently limited to Facility and Bunker 2) where keycards and mission objects are distributed randomly to enemies
Arrow Janus can automatically update Project 64's rdb file each time a new ROM is randomised
Arrow .. many more small tweaks

The end goal is to make the game unpredictable again, as it was when we first played it way back when. Very Happy

Idea Release 4 - release post

Older versions:
Release 3 (cancelled) - post
Release 2
Release 1

Looking for your feedback and ideas. Hope you enjoy using it as much as I am. Very Happy


Last edited by K1lo on Tue Sep 19, 2017 2:36 am; edited 17 times in total
 
View user's profile Send private message
AL64inthedark
00 Agent
00 Agent


Joined: 18 Sep 2014
Posts: 457
Location: France

 PostPosted: Thu Jul 13, 2017 12:21 pm    Post subject: Reply with quote Back to top

Ideas : Same for Perfect Dark Laughing

Also, and more realist idea would be to develop on your first post what it can do.
 
View user's profile Send private message MSN Messenger
K1lo
Agent
Agent


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

 PostPosted: Thu Jul 13, 2017 1:00 pm    Post subject: Reply with quote Back to top

AL64inthedark wrote:
Ideas : Same for Perfect Dark Laughing

Also, and more realist idea would be to develop on your first post what it can do.


Heh I knew someone would suggest that .. I'm not ruling it out, but there's a lot I want to add for Goldeneye first.

As for a description, remember the Enemy Rockets cheat? Well it's like that, it will randomly change all the weapons for enemies throughout the game. Each time you run it it generates a new randomised ROM file. Smile

I'm particularly enjoying one it just generated where every enemy has a golden gun .. sheesh
 
View user's profile Send private message
00action
Secret Agent
Secret Agent


Joined: 21 Feb 2007
Posts: 367
Location: UK

 PostPosted: Thu Jul 13, 2017 2:04 pm    Post subject: Reply with quote Back to top

Just had a go at this and its fun, i would like to offer a few sugestions:

Add a readme.txt to the zip explaining how to use it and what it dose

Instead of changing every single weapon to the same one could you group them, eg.

open Dam setup:
change all KF7 to laser
Change all Sniper to Shotgun
Change all DD44 to Magnum

open Caverns Setup
Change all ZMG to PP7
Change all AR33 to Rocket Launcher
Change all RC-P90 to Phantom

and so on for all levels, i think that would be cool.


For future releases it would be cool to have random enemy heads and bodys.
_________________
Projects I've had the pleasure to help with.
GoldenEye X
Goldfinger64
 
View user's profile Send private message
Wreck
Administrator
Administrator


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

 PostPosted: Thu Jul 13, 2017 4:33 pm    Post subject: Reply with quote Back to top

Sounds neat. However, if you get into creating custom action blocks, you could probably randomize their weapons in a single ROM, rather than needing to generate a new one when you want to face enemies using a different weapon. I believe somebody did something similar recently, in one of the JokeEye packs on the Vault.

Ack, golden weapons are just cruel. Magnum and Laser should really be about as bad as it gets. Well, other than Rockets or Grenades.

Technically speaking, most enemy heads are random. Doesn't it generate a list of four heads to use randomly each time a level is loaded? That's probably better than having it either make all guards the same head, or each one choose on its own. That could lead to texture issues from loading in so many unique models.
 
View user's profile Send private message Visit poster's website
AL64inthedark
00 Agent
00 Agent


Joined: 18 Sep 2014
Posts: 457
Location: France

 PostPosted: Fri Jul 14, 2017 3:24 am    Post subject: Reply with quote Back to top

Since we have 8mo ram nowadays, it wouldn't hurt to have a way to go further than only 4 heads.
I never understood how Perfect Dark manage that, it goes further than the number of different heads in GE. Sometimes it seem it even generate another head when close to completion of the level.
 
View user's profile Send private message MSN Messenger
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1661

 PostPosted: Fri Jul 14, 2017 5:23 am    Post subject: Reply with quote Back to top

Actually, it's six. Four male and two female, though the two female will (was it probably or absolutely) look identical. Besides the overhead for the loaded heads themselves that's really just an array. Move it or clear out another word and yes, it could look up more than what's allowed.

In the few places it was completely implemented, there's also support for a single random body. There wasn't a limit on which body could be used though (unlike the list of acceptable heads) so you could wind up with all Oddjobs or something.
I had rolled complete support for random bodies anywhere bodies can be loaded into a giant patch once, but never made a standalone for it.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
K1lo
Agent
Agent


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

 PostPosted: Fri Jul 14, 2017 11:11 am    Post subject: Reply with quote Back to top

AL64inthedark wrote:
Since we have 8mo ram nowadays, it wouldn't hurt to have a way to go further than only 4 heads.
I never understood how Perfect Dark manage that, it goes further than the number of different heads in GE. Sometimes it seem it even generate another head when close to completion of the level.


If I can figure out how to do that I will happily add it in, although at the moment the likelyhood is low as I'm still learning many things about the game.


Wreck wrote:

Sounds neat. However, if you get into creating custom action blocks, you could probably randomize their weapons in a single ROM, rather than needing to generate a new one when you want to face enemies using a different weapon. I believe somebody did something similar recently, in one of the JokeEye packs on the Vault.


Well actually randomising weapons is just the start of what this tool will do. I added some new features today like adding glasses, toggling the respawn flag and adding random body types. Based upon which characters are in the level there's a 'superior' type that now gets added for added variety.



Also, I've added three special characters - Oddjob, Mayday and Jaws who *can* appear however this is fairly unlikely to happen more frequently than every few levels. It just adds a nice spice to things. Particularly as the first time I was testing this Oddjob randomly appeared behind me in Dam carrying an RPC90.. Shocked



I did do a double take when the very first guard on Silo was Jaws Very Happy Very Happy



It's the sheer randomness and unexpected nature of the changes that makes it so fun to play ROMs randomised with the tool. I'm really enjoying seeing what can be done.

The first version above could generate 60 odd permutations of ROM, the current code can already do many hundreds.. I'm actually unsure how to calculate the exact number of possibilities at this stage without spending ages following all the logic paths Razz

EDIT: Something I've had to do is tweak the compression for each setup individually as changing bytes that were previously 00 makes gzip work a bit harder as it can no longer just RLE the whole sequence. Different setups respond to varying memory and compression settings differently so I've been tweaking them slightly to give myself as much breathing room as possible.

Train in particular is very tight for space, I've had to disable guard options randomisation for that setup to avoid it growing too large. I'll see what I can do to improve this.
 
View user's profile Send private message
K1lo
Agent
Agent


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

 PostPosted: Sat Jul 15, 2017 4:22 am    Post subject: Reply with quote Back to top

I've uploaded a new version of the tool, it does a lot lot more than the first version. Still plenty of things I was to experiment with randomising - as I'm slowly understanding each part of the setup I'm adding more options.



Hope you guys like the new version and I'll update again soon, feedback welcome Very Happy

 
View user's profile Send private message
Wreck
Administrator
Administrator


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

 PostPosted: Sat Jul 15, 2017 9:41 pm    Post subject: Reply with quote Back to top

Another possible idea, is to change the pad (coordinate position / rotational angle / custom sizing entry) of certain objective based things. Like Dr. Doak in Facility, and the Flight Recorder in Statue. Each will spawn at a different location randomly (from a list in the setup through action blocks), forcing the player to search around. You could do something similar. Make Boris start someplace else in Bunker, assign keys to different guards, move body armor to other spots, etc. Some of that requires testing (as there may be action block tests to detect player location, so need to work that in with it), and you would have to generate your own list of pads for the character / item on a per-mission basis (which the GoldenEye Setup Editor in Visual Mode makes easier, since you can view every pad available). Can't have a guard who stands beyond a locked door have the key to it, either. Still, interesting randomizations to change portions of the game. Kinda like Randomize mode in certain Resident Evil games. Could even help spruce up some of the levels, such as Surface i/ii or Depot, which completely looks over many areas.
 
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 Jul 16, 2017 3:30 am    Post subject: Reply with quote Back to top

Wreck wrote:
Another possible idea, is to change the pad (coordinate position / rotational angle / custom sizing entry) of certain objective based things. Like Dr. Doak in Facility, and the Flight Recorder in Statue. Each will spawn at a different location randomly (from a list in the setup through action blocks), forcing the player to search around. You could do something similar. Make Boris start someplace else in Bunker, assign keys to different guards, move body armor to other spots, etc. Some of that requires testing (as there may be action block tests to detect player location, so need to work that in with it), and you would have to generate your own list of pads for the character / item on a per-mission basis (which the GoldenEye Setup Editor in Visual Mode makes easier, since you can view every pad available). Can't have a guard who stands beyond a locked door have the key to it, either. Still, interesting randomizations to change portions of the game. Kinda like Randomize mode in certain Resident Evil games. Could even help spruce up some of the levels, such as Surface i/ii or Depot, which completely looks over many areas.


I was thinking about something like that actually.. I need to continue investigating how everything fits together before embarking on something like this. It's one thing to change a few bytes, it's quite another to start making big changes like you're suggesting.

The next thing I want to do is update the file table at 0x21990 when I'm writing back in to the ROM. Currently I'm just fitting the updated data in the slots where I loaded them from. This has lead to a problem, for example for Train, where it's hard for me to make many modifications without exceeding the chunk allocated for it. There's a limit to what custom compression settings for each setup will give me.

Once I can reorder the file table to allow me to have bigger compressed setup sizes I can think about randomising objectives which would be really neat.
 
View user's profile Send private message
AL64inthedark
00 Agent
00 Agent


Joined: 18 Sep 2014
Posts: 457
Location: France

 PostPosted: Sun Jul 16, 2017 5:34 am    Post subject: Reply with quote Back to top

Wreck came up with great ideas.
Would be very nice (and lots of work too ^^) if we can have something random, but not at an exagerate rate. Hard to tweak, but very fun for all of us.

Btw, nice edit of your first post. Nice screenshot and a clear list of what is does = WIN.
 
View user's profile Send private message MSN Messenger
K1lo
Agent
Agent


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

 PostPosted: Sun Jul 16, 2017 9:27 am    Post subject: Reply with quote Back to top

AL64inthedark wrote:
Wreck came up with great ideas.
Would be very nice (and lots of work too ^^) if we can have something random, but not at an exagerate rate. Hard to tweak, but very fun for all of us.

Btw, nice edit of your first post. Nice screenshot and a clear list of what is does = WIN.


Thanks Smile

Is there anywhere I can find documentation for the setup files as a whole? It would speed things up enormously if I didn't have to go step by step reverse engineering everything Wink
 
View user's profile Send private message
Wreck
Administrator
Administrator


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

 PostPosted: Sun Jul 16, 2017 9:41 pm    Post subject: Reply with quote Back to top

I documented Perfect Dark's setup block object types, but that wouldn't be too much help. The sizes are mostly all different, and certain aspects changed. Most regular objects usually follow the same order, however. Size, type, model, pad position, special flags.

SubDrag had trouble for quite some time limiting himself to maintaining the original sizes for each setup. Many users would run into "too big compressed file" issues when editing levels. It wasn't until he allowed bigger files, and updating tables and other address specific data, that people could really let loose and enjoy the tool.

Yeah, it would require testing for each individual stage to collect yourself a good list of pad positions. Can't just put things anywhere, unfortunately. Thankfully Rare left many unused pads in most missions, so you should have some options to play with.
 
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 Jul 16, 2017 11:25 pm    Post subject: Reply with quote Back to top

Hmm I can understand why now Confused

SubDrag - aside from reordering the newly compressed setups by updating the file table, was there anything else you discovered which was helpful?
 
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 1, 2, 3, 4  Next
Page 1 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 Our Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

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

[ Privacy Policy ]