Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [ID] Topic: CVIII Password Revisited  (Read 6099 times)

0 Members and 1 Guest are viewing this topic.

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
CVIII Password Revisited
« on: May 31, 2015, 09:05:28 AM »
0
CV3's password algorithm is at the end of this post.

A long while back, I shared a password generator for Castlevania III and a little insight about how it was created. I wasn't happy with the original code, so I thought I'd go back to it and try to understand what was actually going on and revise it. If you had seen the original code, you'd be flabbergasted by how long and ungainly it was. Parts of this post were covered in the original topic, so I apologize for repeating myself.

Boring informative stuff
(click to show/hide)

Anyhoo, here's the encryption/decryption code in Game Maker format. Even if you don't know Game Maker's language, you can figure out the code for use in C++ or Unity or whatever pretty easily.


PASS_ENCRYPT
(click to show/hide)

PASS_DECRYPT
(click to show/hide)

name_set
(click to show/hide)

cryptos
(click to show/hide)


As you can see by reading through the notes in cryptos(), you can customize the algorithm for your own games with some minor corrections. Change values at your own discretion and always thoroughly verify and re-verify your passwords work. The following code was used at the end of PASS_ENCRYPT() to verify any password generated could be decrypted with PASS_DECRYPT().

(click to show/hide)
« Last Edit: December 02, 2020, 11:25:57 PM by TheouAegis »
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline X

  • Xenocide
  • Master Hunter
  • *****
  • Posts: 9361
  • Gender: Male
  • Awards SuperOld Dungeonite: Members who have been around since the oldOLD days. The Unfazed: Never loses his/her calm, even in the most heated arguments. The Retro Gamer: Has a heated passion for the oldschool VG Titles.
    • Awards
  • Favorite Game: Super Castlevania IV (SNES)
  • Likes:
Re: CVIII Password Revisited
« Reply #1 on: May 31, 2015, 10:03:21 AM »
0
LOL! Glad to see you having fun with this. I can't make heads or tails out of it, oh god... *dizzy*
"Spirituality is God's gift to humanity...
Religion is Man's flawed interpretation of Spirituality given back to humanity..."

Offline SabinFigaro

  • Hunter in Training
  • **
  • Posts: 83
  • Gender: Male
  • What a horrible day to go to work..
    • Awards
  • Favorite Game: Castlevania III: Dracula's Curse (NES)
  • Likes:
Re: CVIII Password Revisited
« Reply #2 on: May 31, 2015, 06:58:56 PM »
0
I assume that the hard difficulty you're talking about is when you restart the game after beating it once? Otherwise.....yes, complete mindfuck lol!

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: CVIII Password Revisited
« Reply #3 on: June 01, 2015, 12:00:37 PM »
0
Yes, when you beat the game and play again, or if you use certain names like OKUDA (I think), a difficulty variable is flagged and that is included in the password.

Here's the original password generator:
http://www.mediafire.com/download/5im4cq9zrcym156/cv3pwgen.exe
My original code for that is on the forums in the murky past.


The point of this thread was so anyone wanting to incorporate a password system like the one in CV3 into their game, all the necessary code is here. You just copy the four scripts into your program, edit the name_set and cryptos scripts, then you're good to roll.

I also did it for anyone interested in various ways password generators were made. Like, I never would have considered some of the things they did in this code. I had a lot of "How did they come up with this?!" moments while working on this.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline BLOOD MONKEY

  • rrrrrrrrrrrrr
  • Master Hunter
  • *****
  • Posts: 1253
  • Gender: Female
  • BEWARE, I LIVE
  • Awards May 2017 Sprite Contest Second Place 2015-02-Sprite Contest 1st Place
    • twitter
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: CVIII Password Revisited
« Reply #4 on: June 01, 2015, 03:33:37 PM »
0
Noice. Now i can play as grant from the start. ^-^
UPON THE COMPLETION OF ITS STATEMENT, THE BLOOD MONKEY LEAPS TOWARDS YOU, BARING TEETH. IT IS TOO LATE FOR YOU.

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: CVIII Password Revisited
« Reply #5 on: June 02, 2015, 04:25:10 PM »
0
If you knew what bytes to edit, you could make Alucard or even Grant freeze enemies (give them Sypha's abilities). Of course the pallet entries will be all wrong, but still fun. (No, you can't give Sypha the ability to turn into a bat unless you hack the ROM data itself. Sorry.)
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline BLOOD MONKEY

  • rrrrrrrrrrrrr
  • Master Hunter
  • *****
  • Posts: 1253
  • Gender: Female
  • BEWARE, I LIVE
  • Awards May 2017 Sprite Contest Second Place 2015-02-Sprite Contest 1st Place
    • twitter
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: CVIII Password Revisited
« Reply #6 on: June 02, 2015, 07:15:03 PM »
0
If you knew what bytes to edit, you could make Alucard or even Grant freeze enemies (give them Sypha's abilities). Of course the pallet entries will be all wrong, but still fun. (No, you can't give Sypha the ability to turn into a bat unless you hack the ROM data itself. Sorry.)

I know. I used to make Alucard use a whip and Grant use fireballs with all my fancy rom stuff.
UPON THE COMPLETION OF ITS STATEMENT, THE BLOOD MONKEY LEAPS TOWARDS YOU, BARING TEETH. IT IS TOO LATE FOR YOU.

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: CVIII Password Revisited
« Reply #7 on: December 22, 2020, 04:11:34 AM »
0
Sorry for necroing this, but I spent a few hours this week trying to actually understand the algorithm better, analyzing what each process is intended to do. I am aware that my original code is sloppy and hard to follow, and it even has some glaring errata. Regardless, here are my notes on it. I'm fairly confident now I would be able to quite easily modify the algorithm for use in even dissimilar games. For example, I think the CV3 password would actually work well if you wanted to add passwords to a Ghost & Goblins game.

https://gmvania.blogspot.com/2020/12/castlevania-iii-password-once-more-from.html

Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Tags:
 

anything