NeutralReiddHotel
NeutralReiddHotel
Posts

183

Following

20

Followers

111

Cursed Black Developer: 7 years and countin'!

Joined on June 10, 2006, 4:43 PM Visited on June 30, 2018, 4:46 PM
Badges

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:

[img=683x369]https://files.64digits.com/NeutralReiddHotel/MapEncounterData.png[/img]

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??
Quote

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

Hey are you still working on this orrr?
Quote

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.
Quote

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

Is this still being worked on?
Quote

Did Reidd die
Quote

are all the updates part of a demo yet?
Quote

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.

NeutralReiddHotel posted on January 13, 2018 at 4:25 PM

Documentation for Cursed Black

grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr i'm so wanting to stay home and work on my game. I've forced myself to work on it at least 30 mins a day for a week now and I have so much momentum building from it its insane. I suggest trying this out with any project that you may have sitting around. No matter how busy you get, you can always squeeze out 30 minutes of your day to work on something that, over time, adds up like crazy.

See, 30 minutes a day after a week totals 3.5 hours of work. After a month that's 14 hours of work. After 6 months thats 84 hours of work that might have not happened. I mean, shit, this is better than binging on work hours hating the sight of game maker.

My current goal, recommended to me by my old roommate, is to document the fuck of of my game in order to fully understand how it works and so others can interpret my code with much ease. The results are pretty nice, and I don't intend to stop until everything I've written so far is completely documented, cause, lets be real, this helps me too:


I got inspired to do this because of the Slight Edge book by Jeff Olson, which has been a very good read in terms of understading compound interest and how the numbers look, over time, when something is done daily. He doesn't call it this, but this really hammers on the point of how to eat an elephant (protip: you do it one bite at a time).

Cursed Black is my elephant. At least the engine is. The plan is to finish this game, use the engine to create my own Pokemon fangame set in Gen 2 (all these features are being written in but not shown), then release the engine open source WITH documentation.

Game Maker for Pokemon Fangames never looked so good.

Edit: PDFs
January 15, 2018