Cursed Black Developer: 8 years and countin'!

Joined on June 10, 2006, 4:43 PM Visited on May 21, 2019, 6:53 AM

NeutralReiddHotel posted on September 16, 2018 at 8:07 PM

Cursed Images

Been studying for the last month for my EMT exam. one month left. then i can fuck off practice Melee/work on my game as much as I want to. 

btw use if you're having trouble concentrating with studying, like me. And read about the Pomodoro technique on wikipedia before trying it out -- it's done wonders for my undisciplined mind, and I intend to use it for game development as well when I'm done.

luck is desired. thanks homies.

NeutralReiddHotel posted on June 02, 2018 at 11:18 PM

Pokémon: Cursed Black 4.0 June 2018 Update

Currently working on inputting all of the data for encounters all throughout the game. It's kinda slow progress at this point but I do have something exciting to show:

Yes! I have several things going on here:

  • The battle system -- it comes back, rewritten!
  • Switching Pokemon is no longer placeholder -- actually happens!
  • Wild Encounters! 
  • In-battle inventory.
  • In-battle party viewing.
  • Running away (auto)
  • Textbox object interacting with battle system

So to break it down, I'm super happy about the battle system because it's my biggest obstacle obviously. Even though all of the Pokemon data is programmed in, it's going to be rough adding in all the attacks/animations. Most of the formulas can carry over from the older versions.

Switching Pokemon was huge - I had a huge problem with this; I used to store Pokemon data in strings like a fucking moron, but now I have them all in easy to access arrays from a persistent object. Will always work and be accessible!

Wild Encounters! As soon as I do this, making maps is as easy as editing in grass, and no worries about the Pokemon because the encounter list is linked to the map data already. It's also completely based from in-game real data:


I have big plans for this game. A lot of my current progress is engine-based, and I'm not worrying too much about the overworld map data or objects or anything since my Textbox script has that pretty much on lock for now. Just have to keep going, and we'll see how much progress I can grind out next month! I want to make these monthly hopefully. Even if I don't make a lot of progress.

Let's see what the future holds. You never know.

06/02/2018 - Adding more encounter data to game
06/05/2018 - Still adding more encounter data (Safari Zone, Pokemon Mansion)
06/09/2018 - Completed inputting all encounter data to game (including surfing, but not including Old Rod/Good/Super encounters). Started working on in-battle switch mechanics.
06/10/2018 - Added speed checking functionality to determine who goes first in a battle (player or enemy). Partially organized flow of battle turn-wise by separating turn mechanics from it's previous confusing engine.
06/15/2018 - Worked on the Pokemon switching in-battle script more.
06/16/2018 - Had a lot of time today... so I fixed several things. I have a persistent object holding all Pokemon party variables, and I have the battle object hold these variables for convenience. I had it to so at the end of the battle the game simply pulled the variables from the persistent object but never put them back. Now it puts them back.

The party switching script looks rough animation-wise but works perfectly fine. It also defaults to the next thing that happens right after switching is the opposite's trainer's turn. At each turn, the Pokemon have their PP decreased by one already. The only move unaffected by this is Curse, which never ends. There's also a screen that shows if you were to try to switch to the same Pokemon:

06/17/2018: Began re-writing damage calculations. My old engine used Defense instead of Speed for calculating critical hits, by mistake. Lol. 
06/20/2018: Continued work on damage calculation. Stat changes, badge increase, correct order of calculations figured out. 
06/27/2018: More work on damage calc. Found out the order of the calculation, and figured out it was wrong on my old engine. Surprise surprise. Properly aligned who gets what stat changes also since that was also incorrect before. (enemy getting player's stat changes applied to both, etc.). Lots of mistake fixing.

NeutralReiddHotel posted on April 29, 2018 at 5:37 PM

Youtuber Comments

Are you even still working on this??

I think dabr1dg3 forgot to pay his web rent and no longer has tohjo falls.

Hey are you still working on this orrr?

Reidd, I noticed that the Tohjo Falls website has become archived (and seems to be inactive), but is Cursed Black still being worked on? I've been a huge fan of your Lost Silver adaptation and am eagerly waiting for Cursed Black to be completed!
If you're interested at all, I'd also like to offer help for a Japanese translation anytime.

Reidd, ¿qué tal va el proyecto? ¡Mucho ánimo!

Is this still being worked on?

Did Reidd die

are all the updates part of a demo yet?

I keep seeing these on my youtube channel comments and the answer is yes, I'm still working on this daily. The biggest problem is the re-write I started last year, It's just a lot of work and I suck at programming sometimes. It makes sense, I can't always be pimpin' at this.

I am on day 13 of nocaffeine. Feelsgoodman.

Receiving item from NPC Adds one to inventory, gives error message if inventory is full.

NPC Confirmation prompt Asks the player a question, then the NPC has 2 preset responses depending on the answer.

Heal prompt Asks if player wants to heal. gives 2 responses, different prompt input.

Trainer card Added to main menu, holds badges, money, trainer name & ID as well as keeps count of how long the save file has been played for. There's also extra functions shown in this one since the trainer card is so short.

and of course, the obvious one...

the textbox!

This took forever to figure out, but I'm glad it did. The above functions actually are activated through a string. Here's what it looks like for the old man one:

Text_Feed="Ahh, I've had my#coffee now and I#feel great!%ntSure you can go#through!%ntAre you in a#[email protected]~001~002";
Next_String[1] = "Time is money...#Go along then.";
Next_String[2] = "I see you're using#a POKeDEX.%ntWhen you catch a#POKeMON, POKeDEX#is automatically#updated.%ntWhat? Don't you#know how to catch#POKeMON?%ntI'll show you#how to then."

And here's the item add:

Text_Feed="Hi! I work at a#POKeMON MART.%ntIt's a convenient#shop, so please#visit us in#VIRIDIAN CITY.%ntI know, I'll give#you a sample!#Here you [email protected]~001~001%ntASH got#POTION!";

The "full inventory" text is preset.

So my textbox will have functionality where you can simply add what the script/NPC needs to do and it will do it regardless of the text that's next to it. I wanted to mimic how rom hacks edit text, and I know they have to keep track of functions like this as well. Plus it's a lot easier to script the textbox text for every NPC like this when there's some NPCs that are special and need other functions. Below are all the planned functions (some changes will come soon, but I've done 3 out of the below)

Com[0]               =      "#"; //New line break
Com[1]               =      "%nt"; //New paragraph
Com[2]               =      "@yn"; //Draws yes/no prompt
Com[3]               =      "@hp"; //Draws heal/cancel prompt
Com[4]               =      "@ri"; //Gives item to player
Com[5]               =      "@tb"; //Begins trainer battle
Com[6]               =      "@wb"; //Begins wild battle
Com[7]               =      "@ci"; //Checks if item is in inventory
Com[8]               =      "@ma"; //Begins mart script/object
Com[9]               =      "@mo"; //Shows player money
Com[10]              =      "@fp"; //Flashes Pokemon portrait
Com[11]              =      "@dp"; //Flashes Pokedex entry
Com[12]              =      "@pc"; //Shows regular PC
Com[13]              =      "@pi"; //Shows player's PC
Com[14]              =      "@dl"; //Delays the game text
Com[15]              =      "@sp"; //Shows the player's party
Com[16]              =      "@ne"; //Shows the name entry
Com[17]              =      "@cb"; //Checks if player has badge
Com[18]              =      "@rc"; //Receives coins
Com[19]              =      "@sf"; //Flashes fossil portrait (no cry)
Com[20]              =      "@mom";//Does a quick heal animation
Com[21]              =      "@hl"; //Heal animation @ Pokemon Center
Com[22]              =      "@gp"; //Gives player new Pokemon
Com[23]              =      "@ps"; //Plays specificed sound with delay

Progress is good, just fairly slow.