English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 12 April 2017, 10:58   #1
Anakirob
Unregistered User
Anakirob's Avatar
 
Join Date: Nov 2005
Location: Tasmania
Age: 35
Posts: 858
Captive Rogue-Like

A thought just popped into my head which I felt was so profound that I just had to share it with the Amiga community right away.

Now you have obviously read the title of the thread, so you must already have a good idea where I'm going with my idea, and honestly I'm surprised that nobody has done it already.

Captive uses procedurally generated levels right? That is well documented in a number of Amiga publications of the time, not to mention the ST and PC publications also.

But it uses the same seed every time so the levels are the same every time. I have heard whispered rumours in some dark corners of the internet about replacing the default seed for a new set of levels. While I cannot personally confirm that this is possible it sure sounds plausible to me.

Now while using a seed which is fixed in code was a good thing in the sense that the player would never be treated unfairly by an unlucky RNG it is also a bad thing in the sense that the game becomes predictable and can discourage the player from starting again. Do you really want to play the same hundred levels you played last time? Anyway...

If that was where my thought ended I may not have been so exited to share my idea with you all. But this is the bit I'm particularly exited about: Now that we have WHDLoad wouldn't it be fairly straightforward to make a slave which patches Captive's level generating seed number with it's own RNG generated seed? And possibly make it so there was some kind of permadeath?
Anakirob is offline  
AdSense AdSense  
Old 12 April 2017, 11:31   #2
Zetr0
Ya' like it Retr0?
Zetr0's Avatar
 
Join Date: Jul 2005
Location: United Kingdom
Age: 43
Posts: 9,769
@Anakirob

Firstly I truly love Captive - its one of those games that I got infected by a long time ago!

The thought of re-playing 100 level is quite appealing to be honest LOL - to be honest I think the highest I have gotten to map 7 mission 8 - I think that 68 - ish bases

I would love to see more levels and this idea does indeed interest me - I would urge a word of caution, as pick ups and enemies are based on base level which in turn comes down to the seed in question - so there might be a play there as the last thing you want is your level 1 droid's getting spanked by literally every weakest creature in the base.

But have at it sir! I would love to see the results of this idea =)
Zetr0 is offline  
Old 12 April 2017, 11:31   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,785
I found and modified the seed value (or something similar in the level generator code) in 1990s and it did create different levels and it seemed to work. I had the infamous badly cracked version (can't enter shops) which I "fixed", I guess I wanted to examine the code more after that. Or something.

Thats all I remember..
Toni Wilen is offline  
Old 12 April 2017, 12:22   #4
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,420
I'd give more value to the ability to draw handwritten levels than generating new ones.
meynaf is offline  
Old 12 April 2017, 12:28   #5
Anakirob
Unregistered User
Anakirob's Avatar
 
Join Date: Nov 2005
Location: Tasmania
Age: 35
Posts: 858
Quote:
Originally Posted by Toni Wilen View Post
I found and modified the seed value (or something similar in the level generator code) in 1990s and it did create different levels and it seemed to work. I had the infamous badly cracked version (can't enter shops) which I "fixed", I guess I wanted to examine the code more after that. Or something.

Thats all I remember..
This is most promising to hear from such a source as such a respectable member of the Amiga community as yourself. I may open another thread in either WinUAE or WHDLoad section when I get more serious about this idea.
Indeed you can probably expect either Troy Wilkins or myself to contact you in the near future in regards to covering UAE in our magazine, we are more interested in FS-UAE but I understand that this is largely based on your code, and 32-bit WinUAE seems to work fine with Wine too.

I might ask a few of questions of you which you may not recall. But then you might.

-Did you have do decompress the data containing the seed?
-Was it in the main executable or a data file or is the data stored as one big 880Kb block on floppy?
-would you happen to remember either/both where the seed is located both in the data and in the RAM?
-Did the new set of levels appear to have a difficulty curve as the standard ones did?
-And finally, was it just the one number that needed to be patched, or were there multiple seeds?

If I had a workable Amiga set-up at the moment I would find these things out for myself. But I have just sold my A1200 and have yet to set up my virtual Amiga system.

I also like the idea of using the way the Captive uses smaller images to make up a number of larger images and think I would like to also have many more monster types somehow. You'd still have the same number of enemy types for each level as the original, but if you could patch the image data then there's entire families of monsters that could be created just using the default sprite generation routines and making use of the capacity of a hard drive.

And then there's the concept of somehow combining the plot from Liberation:Captive 2 to create some kind of modern open-world game for the Amiga,

But these other ideas I have just mentioned are a bit more unrealistic and require much more work. Right now I'm just interested in adding an RNG to the seed. Or possibly creating a few preset seeds which seem to have a nice flow.
Anakirob is offline  
Old 12 April 2017, 20:58   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,785
Quote:
Originally Posted by Anakirob View Post
-Did you have do decompress the data containing the seed?
I think all files were compressed.

Quote:
-Was it in the main executable or a data file or is the data stored as one big 880Kb block on floppy?
At least cracked version is normal dos disk (but uses trackloader).

Quote:
-would you happen to remember either/both where the seed is located both in the data and in the RAM?
No

Quote:
-Did the new set of levels appear to have a difficulty curve as the standard ones did?
Can't remember. I think it was just an experiment, didn't really test it much. (Unless it simply didn't work but I am sure I remember seeing different outside level and I did enter the base)

Quote:
-And finally, was it just the one number that needed to be patched, or were there multiple seeds?
I think I only changed single value.

It may not be that difficult to find, freeze/enter debugger when it generates the level (pause when entering planet/base) and trace it until it jumps to code that looks like random number generator.

It is possible code gets reloaded after each level or something and that forced me to do on-disk modification. (and to be usable without action replay)
Toni Wilen is offline  
Old 12 April 2017, 21:03   #7
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 44
Posts: 6,578
Quote:
Originally Posted by Toni Wilen View Post
I think all files were compressed.



At least cracked version is normal dos disk (but uses trackloader).



No



Can't remember. I think it was just an experiment, didn't really test it much. (Unless it simply didn't work but I am sure I remember seeing different outside level and I did enter the base)



I think I only changed single value.

It may not be that difficult to find, freeze/enter debugger when it generates the level (pause when entering planet/base) and trace it until it jumps to code that looks like random number generator.

It is possible code gets reloaded after each level or something and that forced me to do on-disk modification. (and to be usable without action replay)

Which was the badly cracked version? Not the Classic crack surely?
Galahad/FLT is offline  
Old 12 April 2017, 21:27   #8
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,785
Quote:
Originally Posted by Galahad/FLT View Post
Which was the badly cracked version? Not the Classic crack surely?
It was Classic (Was there even any others?). Game worked but it was not possible to enter any shop inside the base, nothing happened when clicked. It was caused by a checksum check that only prevented shop from working.

I guess fixed version was released quite soon. (I am not going to test this!)
Toni Wilen is offline  
Old 12 April 2017, 21:35   #9
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,420
Captive files should be easy to access and alter, as the WHD version has them extracted. They are RNC crunched.
File fed_MapGen contains code for the map generator. It is reloaded for every level change.
meynaf is offline  
Old 13 April 2017, 10:56   #10
Anakirob
Unregistered User
Anakirob's Avatar
 
Join Date: Nov 2005
Location: Tasmania
Age: 35
Posts: 858
I will be sure to make a suitable request in the WHDLoad section soon, but might just add that Captive was one of the few premium Amiga games to make it into Australia before 93 or so in large numbers, and therefore I have quite a bit of experience playing it.
Anakirob is offline  
Old 15 April 2017, 01:34   #11
Lyverbe
Registered User
 
Join Date: Sep 2007
Location: Montreal, Canada
Age: 49
Posts: 52
You need to visit the technical section of my Captive site. You'll get a lot of answers there.

As for changing the seed using WinUAE
  1. Create a .uss snapshot right before entering a base (outside). Make sure you create an uncompressed snapshot.
  2. Edit the snapshot file with an hex editor.
  3. At location 0x1d84c, enter the (mission number - 1) on 2 bytes. For example, for mission 17 (which means 17-1 = 16), enter 0x0010.
  4. At location 0x19eb4, enter the seed number twice. For example with planet #3 of mission 17, you must enter 0xb3b3.
  5. Reload the edited snapshot and enter the base.

If you ever decide to try Captive using the Atari ST Emulator called Steem, you'll be able to do all this (and so much more!) using my SuperCC Tool.
Lyverbe is offline  
Old 03 May 2017, 02:46   #12
Lord Riton
Registered User
Lord Riton's Avatar
 
Join Date: Jan 2011
Location: France
Age: 45
Posts: 489
Wow ! A Captive thread ! .. again...

In 2012 some of us decided to make a Captive remake for the Amiga (AGA). It didn't go far. It ended by me programming some sort of demo we can walk arround, in a small area. (for those interested, you can still DL it THERE ) . Then i lost all the sources do to a stupid HD crash, and the whole project just ended with it.. sad...
At least 3 of the other people involved into that project responded to this thread here. And probably only one of them (Meynaf)DLed my demo and tried it out. Even more sad...

As for Captive, i realy loved that game. Played it till the 11th mission, where a second code bug stopped me from going further (got the code for the first code bug of a french Amiga magazine back at the time).
For me the game has a special feeling, and i liked the random made levels as well. I think random levels can be great if the generator is good, and Captive's generator was rather good. Of course handdrawn can be better, but it removes the randomness which is so great to have.
Lord Riton is offline  
Old 29 June 2017, 01:02   #13
BippyM
Global Moderator

BippyM's Avatar
 
Join Date: Nov 2001
Location: Nottingham, UK
Age: 42
Posts: 8,619
Ooooohhhh.... What is this?
BippyM is offline  
Old 02 July 2017, 02:09   #14
saimon69
Bedroom musician

 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 686
This is a practical impossiblity but would love the idea to reprogram Captive engine using a raycaster, even a 3x3 one, so to have it move smooth rather than by squares; same could be done on Hired guns though
saimon69 is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Rogue WHDLoad issues ED-209 support.Games 0 12 May 2015 07:26
Rogue: The Adventure Game Hanzu HOL contributions 5 18 December 2013 06:14
Rogue Help Rednoc Nivert support.Games 9 13 September 2013 18:12
Rogue Trooper v1.1 WHD Retroplay request.Old Rare Games 0 06 August 2010 22:45

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 04:47.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.20890 seconds with 12 queries