<?xml version="1.0"?>
<rss version="2.0"><channel><title>Pokemon Reborn Development Blog: Pokemon Reborn Development Blog</title><link><![CDATA[https://www.rebornevo.com/pr/development/records/?sortby=cms_custom_database_2.record_comments&sortdirection=desc&d=2]]></link><description>Pokemon Reborn Development Blog: Pokemon Reborn Development Blog</description><language>en</language><item><title>E17 Status Categories</title><link>https://www.rebornevo.com/pr/development/records/e17-status-categories-r6/</link><description><![CDATA[
<p>
	Let's talk about the categories in the Status Update block, since some of them have changed a bit from before.
</p>

<p>
	 
</p>

<p>
	<strong><u>Gen VII Updates:</u></strong> (we didn't even <em>have</em> a dev blog last time there was a generation update!)
</p>

<ul>
<li>
		<strong>Sprites</strong>

		<ul>
<li>
				We can't use the Smogon set, so we've gotta scrounge up our own. Fortunately many pixel artists list theirs as free use and so I've been able to gather a solid chunk. We'll polish them and make the rest. This progress bar also includes Shiny and Egg spriting. 
			</li>
		</ul>
</li>
	<li>
		<strong>Scripting</strong>
		<ul>
<li>
				Marcello is a peach and this will be almost (if not) entirely his domain. It includes updates to old battle stuff, most of which have already been done as of this writing, and the implementation of all moves and abilities. It is a long road!
			</li>
		</ul>
</li>
	<li>
		<strong>Data</strong>
		<ul>
<li>
				This is basically everything in the PBS files, such as data, movesets and TM availability, plus details on the new items/moves/abilities. Marcello is actually a peach and a half and is fronting most of this work as well. 
			</li>
		</ul>
</li>
	<li>
		<b>Field Updates</b>
		<ul>
<li>
				Although I had hoped we would be done with them before, Psychic Terrain will be added. This section will also include adding new attributes to all field for any relevant moves and abilities.
			</li>
		</ul>
</li>
	<li>
		<strong>Gameplay</strong>
		<ul>
<li>
				The most generic name possible. This is a catch-all for adding new Pokemon into events/encounters and trainer battles, and distributing new items. Tbh this is the fun part. 
			</li>
		</ul>
</li>
</ul>
<p>
	<strong><u>New Content:</u></strong>
</p>

<ul>
<li>
		<strong>Misc Updates</strong>

		<ul>
<li>
				<strong></strong>So I lied and this isn't actually new content at all but whatever. In the past we had separate categories for graphic/event/etc updates but there's few enough this time that I'm lumping them all in here. 
			</li>
		</ul>
</li>
	<li>
		<strong>AI Updates</strong>
		<ul>
<li>
				A planned renovation to get down and dirty with the AI. Right now most moves have little or no AI coding specifically for them. I won't get through all the moves this episode, but I'll spend some quality time with a good chunk of them. 
			</li>
		</ul>
</li>
	<li>
		<strong>Graphics/Maps</strong>
		<ul>
<li>
				Previously these were separate but I put them together since the graphics in question are usually tilesets for new areas, and I prefer to tailor tiles to their maps. There are 7 new areas to make this episode, so this will be the bulk of the content work!
			</li>
		</ul>
</li>
	<li>
		<strong>Eventing</strong>
		<ul>
<li>
				Teleport events, area puzzles, encounters, items and special Pokemon. This is sort of a catch-all for everything that is not mapping, but also not part of the main story. 
			</li>
		</ul>
</li>
	<li>
		<strong>Story</strong>
		<ul>
<li>
				<strong></strong>All story events. This episode will have a branched story, so it will take a little longer. 
			</li>
		</ul>
</li>
</ul>
]]></description><guid isPermaLink="false">6</guid><pubDate>Tue, 20 Dec 2016 08:33:13 +0000</pubDate></item><item><title>We Will Be Arriving At Our Destination Shortly</title><link>https://www.rebornevo.com/pr/development/records/we-will-be-arriving-at-our-destination-shortly-r23/</link><description><![CDATA[
<p>
	you know for a while my todo list got up to like 5000 lines. but that's what i get, i suppose
</p>

<p>
	 
</p>

<p>
	my side of the function code crawl is done, which is basically just writing out the logic for our 120 function codes that we've selected as this episode's lucky winners. for the most part these are common moves like status, set up, recover, etc... plus certain things i know gym leaders use. so i'm hoping for high mileage with these. they've all been written out and now marcello is just finishing up putting them into the script properly.
</p>

<p>
	meanwhile it's up to me to tie up loose ends in the misc update category, which is nearly entirely limited to bug fixing by now. historically that does not take very long, but i also have not gone through the forum for bugs basically all episode, so i will be doing that over the next week.
</p>

<p>
	 
</p>

<p>
	we'll then start testing. we're doing it a bit different than we have in the past, so i'll go over how it's structured this time to inform newcomers and illustrate changes.
</p>

<p>
	in the past our test sequence has been
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			supervised &gt; beta &gt; community &gt; public
		</p>
	</div>
</blockquote>

<p>
	...where the supervised test is one where one person (hi ikaru) plays through the episode and all with me watching so i can closely see any problems with how it plays or things that need to be tweaked. this has just been called alpha in the past. the beta has been done by ace members, community is a release available to all forum members, and the public release is open to everyone finally.
</p>

<p>
	 
</p>

<p>
	unfortunately many bugs have still passed to the community and public releases despite this. that's because we would find bugs in beta or community, and then take a pass at fixing them, but sometimes that fix fails or breaks something else, and we dont find out until the public release because all the testers had already played the originally broken version. for this reason starting this time, we'll have more waves than before:
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			supervised &gt; internal &gt; alpha &gt; beta &gt; community &gt; public
		</p>
	</div>
</blockquote>

<p>
	i just mentioned the supervised testing was considered alpha before, but we're now calling it that. instead the alpha testing will be done by the supporter group here on the forums privately. internal testing likewise will be done by the dev team as a whole amongst ourselves. we didnt do this before due to having a smaller, more inconsistent group, although it somewhat happened less formally anyway. my hope is that taking it through these different waves will give us plenty of time to fix as many bugs as possible. of course there are some things that just won't statistically present themselves until swarmed with a certain number of new players, so it's not as if we can promise a bug-free release. i ask for your understanding as always.
</p>

<p>
	 
</p>

<p>
	in order to compensate for the increased number of waves, i'll be shortening the time of each one as well. in the past the beta and community tests have not had a fixed timeframe, but usually ended up being around two weeks each. with more waves now, i'll be limiting each one to a single week so that we can move through it in a similar amount of time. the supervised test should not require a week anyway... anyway, this all means that if there are no especially time-consuming problems, the episode will publicly release four weeks after the internal testing begins. 
</p>

<p>
	 
</p>

<p>
	since we are reaching this stage, it also means this will be my final post here for this episode.  from here on out, i hope you can wait for it patiently. although the story content of the episode will be somewhat light, there is plenty to explore, and especially with 7th gen being added there are many new pokemon to catch too. in fact, as of the end of E17 only six non-legendary lines are still unavailable. and as for legendaries... maybe you'll even get some action with them too.
</p>

<p>
	 
</p>

<p>
	until next time
</p>

<p>
	&lt;̸̕3҉<br>
	 
</p>
]]></description><guid isPermaLink="false">23</guid><pubDate>Mon, 25 Sep 2017 02:24:58 +0000</pubDate></item><item><title>A Positively Puzzling Proposition Positing a Plethora of Problems</title><link>https://www.rebornevo.com/pr/development/records/a-positively-puzzling-proposition-positing-a-plethora-of-problems-r31/</link><description><![CDATA[
<p>
	Today, Ame made a puzzle. She wasn't sure if it was solvable.
</p>

<p>
	 
</p>

<p>
	Being the maths nerd that I am, she asked if I would help figure out if and how it could be solved.
</p>

<p>
	 
</p>

<p>
	I couldn't figure it out, so I wrote a program to do it instead.
</p>

<p>
	 
</p>

<p>
	It took the program 3 minutes and 5 million 'moves' to solve the puzzle.
</p>

<p>
	 
</p>

<p>
	We decided to put the puzzle in game.
</p>

<p>
	 
</p>

<p>
	I hope you're all looking forward to E18.
</p>
]]></description><guid isPermaLink="false">31</guid><pubDate>Thu, 28 Jun 2018 10:52:50 +0000</pubDate></item><item><title>Postgame</title><link>https://www.rebornevo.com/pr/development/records/postgame-r39/</link><description><![CDATA[
<p>
	hi.<br />
	at long last, the postgame progress bars have been unlocked.<br />
	as you may have noticed, it is, uh.....<br />
	lil big.<br />
	so lemme break it down for ya.
</p>

<p>
	 
</p>

<p>
	first we got the <strong>CONTENT.</strong><br />
	some LEGENDARY content.<br />
	see what i did there.<br />
	but actually there are like 76 legendaries and you've Gotta Catch 'Em All™<br />
	'cept we already gave you, like, five.<br />
	so you'll have to Get 71 More™<br />
	now i'm sure you're wondering. "But Cass, that's so many legendaries! How do you intent to pu-"<br /><span style="font-size:20px;"><u><strong><em>QUESTS.</em></strong></u></span><br />
	39 of them to be exact. it is why this bar is so big.<br />
	see, we _could_ just be like "oh look! it's a mew in the corner in byxbysion and you have to go to this specific spot to get it!"
</p>

<p>
	but nah, man.
</p>

<p>
	that ain't us.
</p>

<p>
	we have <em>quests</em>. for <em>all</em> of them.<br />
	*nervous chuckle<br />
	the quest style/length will very depending on the lengendary. some will be simple and fairly uninvolved, a la your "finding eevee in chrysolia cave" quest. others will be longer and more story heavy, a la your "lower your relationship points with adrienn! feat. Sandy" quest. there's no saying what lengendary will have what quest length, but it's worth noting that people keep having to remind me that Zeraora exists and to this day i have no idea what exactly it does. it's like.... an electro cat? maybe? idk. good luck finding it in chrysolia cave. for the progress bars, each lengendary will magically gain its own set of "eventing/story/mapping" bars while it is being worked on. otherwise there'd be something like 110 bars in total and like yikes no i'll pass on that thanks.<br />
	what kind of jerk would have a progress bar list with 110 bars. yikes.
</p>

<p>
	<br />
	secondly on content.<br />
	you will, at long last, gain access to a location that has been taunting you with its presence the entire game yet has so far remained unyielding in its efforts to deny you entry. but, at long, long last, your triumph over the reborn league will finally give you access to:<br /><em><strong><u>THE FERRIS WHEEL</u></strong></em><br />
	jk. its the nightclub. ame said she doesn't wanna make ferris wheel graphics so y'all crazy kids who wanna get real high and shit are fucked. <br />
	unless you go to seventh street.<br />
	but anyway. the point is that there's a nightclub.<br />
	in that nightclub, there will be lots of FITE.<br />
	yeah, bet you thought you were done with that.<br />
	this FITE will include a Battle Tower- style system. i'd be more specific about it but, uh, we, kinda, sorta, maybe, uh, like, y'know, don't....know what we're doing for it?<br />
	but it has a <em>bar</em> so it'll <em>be there.</em><br />
	next in the FITE will be the Mix and Match battle system. do you think fields are cool? do you wanna FITE all the leaders on them? well you're in luck, because this will let you FITE <em>any </em>leader on <em>any </em> field with <em>any </em> partner! it'll basically make you do my work for me. thanks, by the way!<br />
	as the new champion of reborn, there will also be other people who will try and FITE you to become the champion, and you will have to FITE to defend your title! but this will actually be in charous mountain. and there's not a progress bar for it. i just wanted to talk about it.<br />
	ANYWAY.<br />
	i mentioned that Mix and Match will have you do my work for me. and that's because my work will be on the Boss Rush and the Theme Teams. <br />
	the Boss Rush is kind of like FITE-ing the Reborn league the way that it operated back in the olden days- you get one team and you have to FITE all 18 leaders with that team. the boss rush will have two levels: one where each leader is limited to a single lengendary, and one where each leader will have <em>as many as they want.</em> this does not make a difference for noel, though. poor noel. (also, if it isn't already clear, you won't be fighting the original teams- you'll be fighting teams that are updated for the fact that you are <strong><u>CHAMPION</u></strong> and can do <strong><u>FITE</u></strong>.)<br />
	the theme teams are the more creative side of this. it's for anyone who has ever looked at the field notes and thought, "hey, mountain field seems like it would be particularly good for Decidueye". these teams are more designed to be fun! rather than hard. some things involve, idk, psychic teams on glitch field, which, uh, might actually be kinda hard. but, then, i also unironically put tropius on a different team. what i'm saying is that it'll be pretty varied. there are currently 103 of them planned. if there is a bar that is likely to change during development, it'll be this one.<br />
	finally, there is fwends. though out the game, you have grown close to the different characters. this is your chance to hang out with them! (the exception here, of course, is titania, who probably hates you, but that's normal for a titania her age.)
</p>

<p>
	 
</p>

<p>
	lastly, of course, there is the Boring Background stuff; ie the bugs, the animations, and everyone's favorite Misc Updates bar 2.0 that now occasionally goes backwards instead of forwards! our innovations here at Definitely GameFreak™ are truly astounding. <br />
	it is also worth noting that the Bugs and the Animations will not have your typical progress bars and will instead slowly tick down towards 0 to indicate completion. we like it when you pick up an item and your game doesn't crash.
</p>

<p>
	 
</p>

<p>
	so, to summarize:<br />
	Legendary Quests are the bulk of postgame. Each quest will have its own set of bars while we are working on it. there will be Much Bar.<br />
	Nightclub bars will contain lots of FITE. the biggest FITEs will be the Theme Teams and the Boss Rush, though it will also include something Battle Tower-esque, a Mix and Match system, and Fwends™.<br />
	Champion Defense will also be a feature. it still doesn't have a bar. it still isn't in the nightclub. i am still talking about it.<br />
	the misc updates bar will go up and down depending on what work is done on the game and what we decide to add during development. it is not real. pay no mind to it.
</p>

<p>
	 
</p>

<p>
	(edited to mention legendary bars will expand while their respective quests are being worked on)
</p>
]]></description><guid isPermaLink="false">39</guid><pubDate>Wed, 29 May 2019 01:04:10 +0000</pubDate></item><item><title>Battle Tower V1.0</title><link>https://www.rebornevo.com/pr/development/records/battle-tower-v10-r44/</link><description><![CDATA[
<p>
	holy shit it's done
</p>

<p>
	like we haven't bugtested it yet so there's probably some kinks to work out
</p>

<p>
	but gosh.
</p>

<p>
	been working on this thing for <em>five months</em>
</p>

<p>
	oh, right, post. sorry. *ahem
</p>

<p>
	 
</p>

<p>
	hi there i am cass and today i'd like to tell you about how i built a tower.
</p>

<p>
	it is a long story. 
</p>

<p>
	(editor's note: so there's basically two parts to this- there's the story part where I talk about the development of the tower, and there's the part where I talk about the tower itself and what exactly you get to do in it. i am very worried that the first part is boring. thus, i would like to direct those who want to get to the good stuff down to where I say "it's time for the good stuff". there are some line breaks near it. you can find it. i believe in you.)
</p>

<p>
	you may recall my original Postgame Announcement where I said this: <span style="font-size:11px;">"<span style="background-color:rgb(24,24,24);color:rgb(191,191,191);text-align:left;">this FITE will include a Battle Tower- style system. i'd be more specific about it but, uh, we, kinda, sorta, maybe, uh, like, y'know, don't....know what we're doing for it?" </span></span>
</p>

<p>
	you see, this was around the time that i was finishing off some of the theme team and boss rush trainers and had taken exactly one glance into the default essentials implementation to see what exactly it was that I had to work with.
</p>

<p>
	now, there are a lot of files that define pokemon sets and trainers for various battle tower rulesets. there's, like, the fancy cup, the pika cup, the little cup, the pokecup. no one cares about those, though. the Big files are bttrainers and btpokemon. bttrainers is what defines the actual people that you fight. btpokemon is what defines the pokemon that they use. each trainer has a list of sets that they can pull from btpokemon- for example, default trainer zero is defined to pull from sets 0-65.
</p>

<p>
	this probably all sounds pretty fine so far, right? well.
</p>

<p>
	the first set from btpokemon is this:
</p>

<p>
	SUNKERN;LAXINCENSE;RELAXED;HP,SA;MEGADRAIN,HELPINGHAND,SUNNYDAY,LIGHTSCREEN
</p>

<p>
	you might notice a few issues.
</p>

<p>
	the first is that there's not a great way to define forms and abilities.
</p>

<p>
	the second is that a lax incense is kind of an annoying cheese item. 
</p>

<p>
	the third is that it's a <em>fucking sunkern.</em>
</p>

<p>
	<span style="font-size:18px;"><em>sun<strong>kern.</strong></em></span>
</p>

<p>
	this is not a one-off thing. sets 11 and 12 are:
</p>

<p>
	SILCOON;LAXINCENSE;BASHFUL;HP,SD;HARDEN,,,<br />
	CASCOON;LAXINCENSE;BASHFUL;HP,SD;HARDEN,,,
</p>

<p>
	has anyone ever woken up in the morning and thought "hello yes I am a Real Person and I definitely want to fight a Silcoon and a Cascoon"
</p>

<p>
	<em>no.</em>
</p>

<p>
	now, the default sets are organized roughly in order of difficulty. so, sure, you might assume, the lower sets are horrifically disgustingly bad, but they must get better eventually! there are 882 sets, after all!
</p>

<p>
	well, here's set 854:
</p>

<p>
	DRAGONITE;CHESTOBERRY;ADAMANT;HP,DEF,SD;HYPERBEAM,THUNDERWAVE,DRAGONDANCE,REST<br />
	first of all, this set is kind of silly. who uses hyperbeam as an actual serious move? let alone the only way to deal damage. but then, you see dragon dance. dragon dance is a good move, right? boosts attack and speed! great for sweeping!
</p>

<p>
	but the only attacking move is Hyper Beam, which is a special attack. so dragon dance doesn't even help!
</p>

<p>
	but then.
</p>

<p>
	the realization hits.
</p>

<p>
	it doesn't work now.
</p>

<p>
	<em>but it used to.</em>
</p>

<p>
	because all of these movesets
</p>

<p>
	<em><strong>are for gen 3</strong></em>
</p>

<p>
	irl pic of me upon realizing this:
</p>

<p>
	<img alt="p64T1nw.jpg" class="ipsImage" data-ratio="124.22" height="750" width="603" src="https://i.imgur.com/p64T1nw.jpg" /></p>

<p>
	like omg it's like these were made out of <em>pure, <strong>concentrated, <u>ass.</u></strong></em>
</p>

<p>
	so even if we <em>were</em> okay with godawful pokemon, the mechanical changes since gen 3 limits the sets so severely that even the hardest sets would be a cakewalk. that'd be unacceptable for <em>any</em> game, but y'all are playing reborn. y'all have beaten shelly. you're here for a challenge. you do not want to fight a dragonite that uses fucking <em>hyper beam.</em>
</p>

<p>
	thus, btpokemon had to be remade from scratch.
</p>

<p>
	so i sat down. for months. going through pokemon by pokemon, moveset by moveset. it was grueling. i've almost memorized every single pokemon's smogon tier. eventually i had to enlist the help of ame's <a href="https://www.patreon.com/amethystvl" rel="external nofollow">patreon</a> so i didn't die under the monotony of the whole thing. they cranked out ~500 sets which, combined with 1000+ that I had written, reached a total of almost 1600 sets. and these sets are <em>good. </em>I cut a lot of sets that were really similar to each other, there aren't any sets that use bullshit items like bright powder or quick claw, and there aren't any sets that just kind of sit there and harden until they get killed. these sets are made to kill you and kill you <em>good</em>. and, honestly? it's probably still on the lower end of what we could put out. there's probably more creative sets, especially towards the end, that i just missed out of exhaustion. i could've probably drawn from a wider pool of items. hell, we don't even have z-moves and megas implemented. (hey, that's why this is v1.0, y'know.) 
</p>

<p>
	but 1600 is a <em>lot</em>. if a trainer could pick <em>any </em>set with the only limitation being that you can't pick the same species twice, you would have 203,114,206,600 ways to fight that trainer. and yes, that trainer does exist! it's a clown.
</p>

<p>
	if each trainer was allowed to have four pokemon, the number of possibilities would increase to over 160 <em>trillion</em>. <em>TRILLION. </em>gosh, look at all of that <em>content.</em>
</p>

<p>
	speaking of content: trainers.
</p>

<p>
	the original trainer system, as i mentioned earlier, draws sets based on their line number in the PBS. this is a good method for picking and choosing your sets very specifically. however, it has a pretty key flaw. as I mentioned earlier, we could easily put out more sets. and i definitely plan to. but if we do, where would we put them? want to organize by difficulty? sorry, fucko. the moment you change a single line, you have to change <em>every </em>line after that for <em>every </em>trainer. it's a goddamn nightmare. to fix this, Nerd Captain Marc of the Cello wrote up some scripts to change how trainers drew set from by line number to by pokemon species.
</p>

<p>
	and it was a miracle.
</p>

<p>
	now, all the trainers from before were coded for sets made in gen 3, and we have <em>massively</em> expanded the set list from there. constructing sets based around individual trainers would have taken a lot of decision making on each individual pokemon they should be able to use. in order to make set creation easier, i extracted some data from btpokemon. i grabbed the number, species, types, total number of sets, and added a value for the relative difficulty of every single pokemon on the list and threw it all in a spreadsheet. i added some checks to eliminate pokemon of certain types, and used the sheet to manipulate the list into only spitting out pokemon that matched certain types and only pokemon of a certain difficulty level.
</p>

<p>
	after this i could whip out trainer sets like they were <em>nothing</em>. 
</p>

<p>
	see this trainer here?
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="16.21" height="162" width="1000" src="https://cdn.discordapp.com/attachments/392923432980840480/642612262481428511/unknown.png" /></p>

<p>
	had to type in six words and click maybe 10 things and boom. four lines of pokemon.
</p>

<p>
	there's still a few problems with this method. it doesn't really play nicely with alolan forms with completely different types. if i make a mistake somewhere on the spreadsheet, i have to correct it 20 times. the difficulty could probably be stratified a little better. but, like, this is still definitely the preferred way to have to remake 300 trainers.
</p>

<p>
	next time this will absolutely be handled by a script. i'll just have to plug in some types and difficulties and boom. every trainer completed while i sit and play more three houses. what a good game.
</p>

<p>
	 
</p>

<p>
	so. it's time for the good stuff.
</p>

<p>
	 
</p>

<p>
	you, dear player, will find the battle tower on the upper level of the nightclub. it's a little more like a battle arena than a battle tower, but, y'know, details.
</p>

<p>
	currently, the tower is only setup for singles. the sets are specialized for singles, the scripts function with singles, and we really have no idea how well anything works with doubles. it's ok, that's why this is v1.0.
</p>

<p>
	but it's okay because boom:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="89.73" height="507" width="565" src="https://cdn.discordapp.com/attachments/392923432980840480/642619079428931584/unknown.png" /></p>

<p>
	it's an actual arena and not just some fuckin floor of a tower. we got <em>seats.</em> we got <em>colors.</em>
</p>

<p>
	and we got
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="344" width="459" data-embed-src="https://www.youtube.com/embed/tUiADy481z4?feature=oembed"></iframe>
	</div>
</div>

<p>
	 
</p>

<p>
	<em><span style="font-size:22px;"><strong><u>bosses.</u></strong></span></em>
</p>

<p>
	<span style="font-size:8px;">(also please excuse the text we're still working on it)</span>
</p>

<p>
	that's right, kids. every seventh battler is not a randomly generated trainer, but a precoded, randomly chosen <em>boss</em>.
</p>

<p>
	i won't spoil the list of bosses for you. 
</p>

<p>
	but you saw which one i fought up there, right?
</p>

<p>
	we live in a world where they are in the boss list.
</p>

<p>
	<em>anything can happen.</em>
</p>

<p>
	 
</p>

<p>
	...well, not anything. 
</p>

<p>
	there are simply some toys you just aren't allowed to bring into the battle tower:
</p>

<ul><li>
		pokemon with a base stat of 671 or higher
	</li>
	<li>
		kyogre and groudon 
	</li>
	<li>
		mega evolutions
	</li>
	<li>
		z-crystals
	</li>
	<li>
		terrain change abilities
	</li>
	<li>
		the ability power construct
	</li>
	<li>
		the ability beast boost
	</li>
</ul><p>
	other things are cool though. feel free to bring marshadow in with you. idc.
</p>

<p>
	you'll also have the option to fight with or without fields. fields would be randomly generated with each trainer, throwing yet another layer of RNG into the mix. we understand you might not be into that. so we won't make you deal with it.
</p>

<p>
	 
</p>

<p>
	...so imma be honest here, i've spent so much time on the battle tower and on pokemon and on bosses and on trainers and on this post that i literally don't know what to talk about anymore. so the rest of this post is just going to be an ongoing Q &amp; A. feel free to drop a question in the comments! i'll respond there too, and then copy my answer into here. i'll also add in questions and answers that i think of along the way.
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="font-size:16px;">Q &amp; A:</span></strong></u>
</p>

<p>
	 
</p>

<p>
	Q: Cass, do you plan to add in Gen 8 when it comes out?<br />
	A: <em><u><strong> fuck</strong></u></em> no. i am not redoing all of this because some new move came out and fucking broke everything. 
</p>

<p>
	 
</p>

<p>
	Q: Okay, sure, but would you consider adding minor things like moveset changes?
</p>

<p>
	A: <span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">so our current position is that, for all intents and purposes, gen 8 will have no impact on the gameplay at all. only doing a partial implementation of the new mechanics and movesets would be confusing to players since you'd never know if something was included or not, and a complete implementation would add a lot of work to e19. and, like, i'm sure y'all actually wanna play this some day. it also gives a slight advantage to the pokemon that are in swsh over the ones that aren't.</span>
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">so, y'know, maybe when the gen 4 remakes come out and they have all the pokemon in it. kinda like in the GBA days.</span>
</p>

<p>
	 
</p>

<p>
	Q: Madame Meganium is a boss!? Gosh, who else are you going to have there!?
</p>

<p>
	A: mr bigglesworth
</p>

<p>
	 
</p>

<p>
	Q: Which Patreon submission made you groan the loudest, but you still put it in?<br />
	A: toss up between
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">MUK;BLACKSLUDGE;CALM;HP,SD;MINIMIZE,MEANLOOK,MUDSLAP,TOXIC;0;2</span>
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">and </span>
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">LAPRAS;CHESTOBERRY;CALM;HP,SD;SHEERCOLD,FISSURE,HORNDRILL,REST;0;1</span><br />
	 
</p>

<p>
	Q: Are y'all gonna incorporate items or some other kinda rewards into the battle tower?
</p>

<p>
	A: you bet we are. we just...haven't gotten that far into thinking about it yet.
</p>

<p>
	 
</p>

<p>
	Q: Does Madame Meganium's ownership of other Pokémon count as slavery?
</p>

<p>
	A: <span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">no. they ar</span><span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">﻿</span><span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">e a team united behind the common cause of kicking your ass.</span>
</p>

<p>
	 
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">Q: Aside from battle tower, battle factory is probably my favorite format in the battle frontier so will that ever be implemented considering all the new sets you created?</span>
</p>

<p>
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">A: </span>so i mentioned that it took a lot of work to get the battle tower functioning despite the basic framework being there.
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	battle factory does not even have a framework to start off with.
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	we also think it'd be cool
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	but it'd be so much additional work that it's not really worthwhile.
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	Q: Just so I'm absolutely clear on restrictions, the Mega-Z Ring is pretty much disabled during Battle Tower matches for BOTH the player AND the AI correct? Meaning no Mega Evolution for either side and no Z-Moves for either side?
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	A: okay, this is a good question and i should've said this earlier: z-crystals and megas do not work with team generation. they are banned for you mainly because they aren't an option for the generated trainers.<br /><br />
	Q: I know it will take still a lot of time but will there be a lvl cap for the pokemon for example 50 or 100? 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	A: both of those will be the level cap.
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	Q: Will it only be 6vs6 or will we be able to choose the number of pokemon we want to battle against for example 3vs3?
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	A: the battles will also be 3v3 only since a.) making the battles too long would make the climb to get to a boss significantly more difficult, and b.) if we did 6v6 i'd feel legally obligated to tell you how many combinations there were- and the 4v4 calculation literally took an entire day. 6v6 would take three years to calculate.<br /><br />
	Q: <em>Why </em>does Madame Meganium wear specs?
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	A: <span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">madame meganium is a professional who requires glasses to read small print.</span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">Q: Also, what how can a tower/arena fit on top of such a smol building?</span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">A: it goes down instead of up. it's like an inverse tower.</span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">Q: How did you manage to get bosses added in? </span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">A: Script Maniac Nerdcello whipped out some cool new methods to get that shit up and running.</span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">Q: What kind of things will we get from the battle tower?<br />
	A: <em>good</em> things. like that stuff earlier in the game where you were all like "man i so wish i had more of those" yeah well you're gonna get more of those k</span>
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	 
</p>

<p style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">
	<span style="background-color:#121212;color:#bfbfbf;font-size:14px;text-align:left;">Q: Are the battle tower bosses only fightable in the battle tower?<br />
	A: yes. </span>
</p>
]]></description><guid isPermaLink="false">44</guid><pubDate>Sat, 09 Nov 2019 07:54:47 +0000</pubDate></item><item><title>Difficulty Modes and Battle Chart</title><link>https://www.rebornevo.com/pr/development/records/difficulty-modes-and-battle-chart-r50/</link><description><![CDATA[
<p>
	to continue our blitz of devblog posts, imma talk about difficulty modes.
</p>

<p>
	but first, I would like to present you with this:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents ipsClearfix" data-gramm="false">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="58690" href="https://www.rebornevo.com/uploads/monthly_2020_02/404212014_e18listofmajorbattles.png.d8942196818d3479fd014920453fa6e2.png" rel=""><img alt="e18 list of major battles.png" class="ipsImage ipsImage_thumbnailed" data-fileid="58690" data-ratio="6.70" data-unique="n7ts3cjwg" width="1000" src="https://www.rebornevo.com/uploads/monthly_2020_02/443353232_e18listofmajorbattles.thumb.png.e4ca56d92f302f41658c86f1564b8dd1.png"></a>
		</p>
	</div>
</div>

<p>
	this is a chronologically organized list of every major battle up until e18.
</p>

<p>
	if you think it looks cool now, wait until the e19 stuff gets added. 
</p>

<p>
	this was inspired by me trying to edit trainer pbs data while having absolutely no idea where/when you'd fight people who appear more than once. it's nice if you want a quick reference for when/where you fight people throughout the game.
</p>

<p>
	i'll probably add more data in as i need it, but for now it's just a neat little v1.0 version of a nice reference banner.
</p>

<p>
	 
</p>

<p>
	but this came about as i was working on difficulty modes! which were another thing i just...suddenly decided to do a few days ago.
</p>

<p>
	some people tend to have a hard time with reborn. other people think it's too easy. i am really going to try and make both of those groups happy.
</p>

<p>
	details are kind of scarce at the moment, but i can at least talk about the general idea behind them.
</p>

<p>
	the easier mode (which i've taken to calling reborn lite) is effectively your standard reborn playthrough but with a little bit more leeway with how you play. trainer levels aren't <em>quite </em>so high. their IVs aren't <em>quite </em>so good. you aren't <em>quite </em>so money starved. it will still be significantly harder than a canon playthrough, but if you're particularly in it for the story, lite mode should help smooth over some of those harder fights.
</p>

<p>
	the harder mode (which ame cheekily called reborn dark) is the standard reborn experience but with the difficulty knob broken off. it basically takes the rate at which things like IVs, EVs, etc are added and pushes it <em>way </em>forward, adding in some additional bullshit when you get to the late game. 
</p>

<p>
	i really want to emphasize that regardless of the difficulty, the game isn't really changing: team composition is staying largely the same, with any modifications being minor at best. the difficulty changes are more about how hard the game pushes back, rather than what the game pushes you with.
</p>

<p>
	i've also been working for, like, 11 hours today and feel like i'm just rambling. if you have questions, ask 'em.
</p>

<p>
	<span style="font-size:8px;"><em>gosh, this post wasn't even funny. what am i doing out here.</em></span>
</p>

<p>
	<span style="font-size: 8px;"><i>hi also i edited the pic up there with an updated version</i></span>
</p>

<p><a href="https://www.rebornevo.com/uploads/monthly_2020_02/2093103008_e18listofmajorbattles.png.81ffe515d1153834856ea608abda8f61.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="58583" src="https://www.rebornevo.com/uploads/monthly_2020_02/422153107_e18listofmajorbattles.thumb.png.218e90b7c140517dde3988e19aa934d6.png" data-ratio="5.4" width="1000" class="ipsImage ipsImage_thumbnailed" alt="e18list of major battles.png"></a></p>]]></description><guid isPermaLink="false">50</guid><pubDate>Sun, 09 Feb 2020 08:36:06 +0000</pubDate></item><item><title>did you know that passwords</title><link>https://www.rebornevo.com/pr/development/records/did-you-know-that-passwords-r42/</link><description><![CDATA[
<p>
	hello
</p>

<p>
	so there are some features that ame had thought she might or might not eventually implement into the game, probably very late in development after everything else was done
</p>

<p>
	unfortunately, ame is very impulsive
</p>

<p>
	and thus, she decided to do them immediately.
</p>

<p>
	 
</p>

<p>
	as of episode 19, new players starting the game will be given an option for 'special instructions', or the ability to enter a text password during the intro. the passwords available for this are listed in the readme, but i'll talk about their effects here:
</p>

<p>
	 
</p>

<ul>
<li>
		Password: <em>hardcap</em><br>
		- Changes Reborn's level cap to a hard cap in which Pokemon no longer gain EXP once they hit it, a la Rejuvenation
	</li>
	<li>
		Password: <em>mono(type)</em><br>
		- Where (type) can be replaced by any of the 18 types, guarantees that all randomized early game events, including the mystery egg, will generate with Pokemon of the chosen type when possible. Also adds an early game Rock and Ice type so those types have something before Julia.
	</li>
	<li>
		Password: <em>nuzlocke</em><br><em>- </em>Prevents Pokemon from being healed when their HP drops to 0. Can be turned off after a loss. In order to account for different types of lockes, no other restrictions are applied.
	</li>
	<li>
		Password: <em>randomizer</em><br>
		- Randomly shuffles Pokemon species and moves around for a playthrough. Online play is disabled in this mode. Shout out to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.rebornevo.com/index.php?/profile/75919-haudareyou/&amp;do=hovercard" data-mentionid="75919" href="https://www.rebornevo.com/index.php?/profile/75919-haudareyou/" rel="">@HauDareYou</a> for the initial framework. 
	</li>
	<li>
		Password: <em>easyhms</em><br>
		- Allows any Pokemon to use any TMX move provided the machine and badge are held. Thanks to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.rebornevo.com/index.php?/profile/71186-waynolt/&amp;do=hovercard" data-mentionid="71186" href="https://www.rebornevo.com/index.php?/profile/71186-waynolt/" rel="">@Waynolt</a> for letting us integrate this one.
	</li>
</ul>
<p>
	 
</p>

<p>
	there are also other hidden passwords that can be found in-game...
</p>

<p>
	 
</p>

<p>
	any of these passwords can be used with each other, including the monotype ones for dualtype runs. however, i don't promise there won't be some wacky interactions. who knows, really
</p>

<p>
	 
</p>

<p>
	i hope you will look forward to playing the final game in various ways~
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">42</guid><pubDate>Fri, 26 Jul 2019 00:34:26 +0000</pubDate></item><item><title>E18 Cat' Stats</title><link>https://www.rebornevo.com/pr/development/records/e18-cat-stats-r24/</link><description><![CDATA[
<p>
	that'll teach me to say 'this is the last post for the cycle' ever again. fuck AI.
</p>

<p>
	 
</p>

<p>
	anyway hi, check it out, it's E18, comin' at you now so here's the rundown on things this time around:
</p>

<ul>
<li>
		<strong>USUM Updates</strong><br>
		As expected... and for that matter, promised! Fortunately: unlike E17, there's not all that much to do-- only a handful of pokemon/forms/moves, etc, and Marcello is already hardlining on that to get it sorted. bless Marcello. The biggest issue here is the sprites, but I mean -flips hair- I can handle those. Also unlike E17, I'm not starting with this personally, so it'll be a bit longer before it's checked off. Instead, I'm starting with...
	</li>
	<li>
		<strong>AI</strong><br>
		It's always such a pleasure. Remember when I tried to make the game better, but actually introduced like a dozen inaction bugs that ruined the experience for multiple waves of testing? twice? ...this is the second time. So this time I now know to expect that testing will take several months while we pick out those inaction bugs (they're really hard to pin down!!!). Anyway I talked last time about how there are ~350 function codes for all moves, and for E17 I did 120 of them. That leaves 230 for E18. I am currently cutting my way through a l l of those, as you can see on the status widget on the right. despite the low percentage, i'm about halfway done. So, a couple more weeks and I'll be set. Aside from that our other focus for this episode is potion usage, which we will rewrite entirely like we did for the switch algorithm last time.
	</li>
	<li>
		<strong>Maps</strong><br>
		normally this section is graphics/maps because i do them together, and to an extent that is still true here, however i don't really foresee the areas i'm mapping this episode even really needing that much in the way of graphics (and i'm sure i'll start taking some Liberties™ and promptly ruin that but) so I'm going to just simplify this down to le mappo's for this episod. in E17 there were seven areas i had to map. for E18, there are four. and one of them is not a giant fucking desert. so you know, that helps.
	</li>
	<li>
		<strong>Eventing</strong><br>
		as usual: this is the part of stuff that makes things on map do stuff blablahbalhabljdhfbdjf so i don't really foresee this being even a significant drain on this episode because i don't have any particularly troublesome (to make) puzzles planned <br>
		yet<br>
		but any issues or slowness that arises in this section is usually because of puzzles. if you suffer, i suffered first. that's what true love is. &lt;3
	</li>
	<li>
		<strong>Story</strong><br>
		here we are. the bulk. normally story is pretty quick-- so it's a good place for <em>the bulk</em> to be. but everyone knows i kind of dicked myself in terms story workload for the rest of the game after E17, so everything is effectively doubled. also, looking back at past episodes, E16 was sidequest-focused, and E17 was focused on exploration... E18's focus is the story itself. the last one it's similar to in that regard is probably E15. so we gonna kick some stuff into gear here. 
	</li>
	<li>
		<strong>Sidequests</strong><br>
		exist. but i don't have much planned for them this time. there's a handful of events i need to do and maybe one or two or three small areas and other than that this should be ez to the pz like a blue moon fresh lemon squeezy. a good amount of other stuff was done for this in prior episodes. thanks, past-ame.
	</li>
	<li>
		<strong>Misc Updates</strong><br>
		as usual, the throw-away category. this is used for any changes to the existing game, which i have a small handful planned for but due to deliberately shifting focus and limiting revisions for the sake of forward progress, should not be very much. the rest of this goes to bug fixing. <br>
		AKA fixing the AI we broke six parts earlier.<br>
		whee.
	</li>
</ul>
<p>
	 
</p>

<p>
	so there's what you can expect and understand from our scoreboard this time around.<br>
	can i call it that? scoreboard? i dont know if it has a better name but i'm calling it that from now on cuz it sounds cool. like it's a game,<br>
	or a war<br>
	against nothingness in a place that has yet to be created<br>
	so call up atreyu or whatever. 
</p>
]]></description><guid isPermaLink="false">24</guid><pubDate>Tue, 09 Jan 2018 11:44:01 +0000</pubDate></item><item><title>optimization finale: "fuck i gotta stop doing this"</title><link>https://www.rebornevo.com/pr/development/records/optimization-finale-fuck-i-gotta-stop-doing-this-r63/</link><description><![CDATA[
<p>
	hi
</p>

<p>
	remember me
</p>

<p>
	i haven't posted in, like, a month- probably the longest period of time that i've gone without posting since the start of this whole optimization fuckfest.
</p>

<p>
	<br>
	this post is a little difficult for me to write because i really don't feel like i'm done. over the course of this summer, i've probably spent more time coding than i've spent sleeping ("definitely. not even a contest." ame says to me as i write this) and i still do not remotely feel like i'm done. there is just so much <em>work </em>left and so much <em>more</em> that could be done on all of this that stopping now feels <em>wrong</em>.
</p>

<p>
	but i also, like, can't anymore.
</p>

<p>
	ame and i have kind of taken to calling this little bouts of mine, my Apeshit of the Month <img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️">. it's basically just rips on the fact that when i usually work on the game i just go nonstop for a long period of time before i burn out and do nothing for a little bit before just going off on another Apeshit of the Month. i think i'm now reaching the end of my energy for that.
</p>

<p>
	originally, this month was just supposed to be a mini-continuation of last month- little bit more optimization in the AI to speed up how long a turn takes to process. it then kinda blew up. some other section of the code would end up catching my attention and i'd end up getting distracted, or i'd see something and it'd annoy me so i'd start working on it- not to mention that 90% of my coding experience has come in the past few months, so i'd occasionally see something i did a few weeks ago and think "wow, this is <em>shit</em>" and then i'd end up redoing it.... and i think i've just reached the point where i've coded my heart out and need to do something else now.
</p>

<p>
	this post is a mix of a catalog of what i've done for the sake of actually making a record of it and also a deep-ish dive into what the code does and how it does it for those of you who are interested in coding things yourselves.
</p>

<p>
	(and likely some angy for those who enjoy that too.)
</p>

<p>
	gonna be a loooooooooong fuckin post.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><u><strong>How many levels in a meech?</strong></u>'</span>
</p>

<p>
	for my opening act, we have something that i actually forgot about until right before i started writing this post. this fix comes courtesy of our dear mr. perrence, who did this way back in june, <s>which i then immediately forgot about because there's just been so much happening.</s> this came up when i was running a profiler to see what functions were being called during the AI phase of a four-person double battle. four-person doubles are <em>great </em>for these. since you have 3 AI trainers in the fight, as well as multiple targets that each of them need to choose from, it creates a situation where the scripts are basically being stressed-tested to the greatest extent possible during normal gameplay.
</p>

<p>
	so i ran this profile, and saw that there were 244265 calls to the pbGetExpInternal function. 
</p>

<p>
	that's a lot of calls!
</p>

<p>
	so let's take a peek at what's going on here.
</p>

<p>
	(pictures with a white background are from essentials v17.2, and pictures with a black background are reborn code, for reference.)
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62528" data-ratio="100.81" data-unique="1nwybjmy3" width="493" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.30f04019bb3321819f784bdff72204fd.png"></p>

<p>
	what you are seeing is the calculation for EXP. most of this isn't actually relevant here, since levels under 100 just need to check an exp table. it's also fairly inoccuous- if this function is being called a fuckload of times, the <em>true</em> culprit is the function that is calling it:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62529" data-ratio="47.83" data-unique="ml0tmk2n3" width="552" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.338ceef1893ef273090198ce35071b2b.png"></p>

<p>
	HAHA, i've got you NOW, essentials!!!!! just wait until i tell everyone about how BAD you a- wait, no, actually, this function seems fine. the for loop explains why it's getting called so much too, i mean, look at meech:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="41.95" height="219" width="522" src="https://cdn.discordapp.com/attachments/357891456679018496/739756096541032468/unknown.png"></p>

<p>
	meech so stronk it's gotta run 100 times for her.
</p>

<p>
	...but then why is it running 244265 time?
</p>

<p>
	and that brings me to the TRUE culprit:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62541" data-ratio="18.36" data-unique="ligy5t8e1" width="550" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.7c9e3137726535619566d1387502866a.png"></p>

<p>
	the problem here is not about what the code <em>is</em> doing, but rather, what it is not. and the thing that it is not doing is saving your level.
</p>

<p>
	this means that your level is manually calculated up based on exp (like it says right there) every time it's needed.
</p>

<p>
	this can be fixed by making a class variable:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62542" data-ratio="26.27" data-unique="onz1rti9l" width="727" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.ad0d54a169975e7b5b2c9ec691c4cc35.png"></p>

<p>
	and just like that: poof. the game has obtained new knowledge. never again will unsuspecting pokmans be level checked more than once.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><u><strong>The Compil</strong></u> </span>- nope, nope, not yet, too scary
</p>

<p>
	 
</p>

<p>
	uhhhh let me see what else i've got in here...
</p>

<p>
	*blows dust off the code
</p>

<p>
	 
</p>

<p>
	<strong><u><span style="font-size:16px;">Set HW_XYZ</span></u></strong>
</p>

<p>
	so all the way back in june again, we noticed that a bulky sprite refresh function would be called every time a sprite's attributes were changed.
</p>

<p>
	here it is now, the privrefresh function:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62543" data-ratio="20.75" data-unique="ettbmmkdk" width="429" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.2f2fc4ae9c749603343ce763d83e76d1.png"></p>

<p>
	there it is!
</p>

<p>
	it's 350 lines long, quite big, does a lot of math (you know how much i hate math).
</p>

<p>
	now, i'm not going to sit here and tell you to remove this function and replace it with sharktale.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="84.69" height="166" width="196" src="https://cdn.discordapp.com/attachments/736396299267735633/736519856652025916/unknown.png"></p>

<p>
	<span style="font-size:8px;">(pictured here: me, working on the code)</span>
</p>

<p>
	that would be silly.
</p>

<p>
	but there are certainly times when the function doesn't need to be called, like when you're setting a bunch of variables before the sprite is even displayed on-screen. those calls aren't necessary.
</p>

<p>
	which brings me to the setHW_XYZ function.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62544" data-ratio="57.01" data-unique="3bhlxqg7s" width="321" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.49a8fc0a8084dcdbee93620ffc5d1e8a.png"></p>

<p>
	<span style="font-size:8px;">(pay no mind to the variable names. hopefully no one will throw rocks at me for this.)</span>
</p>

<p>
	this neat little function only runs privrefresh once for <em>five</em> whole variables wow crazy.
</p>

<p>
	this is boring. like, this is definitely an optimization, but...god i just hate graphics. i think we ended up just putting it in the initialization functions and left it at that.
</p>

<p>
	 
</p>

<p>
	<em>let's get to the good stuff.</em>
</p>

<p>
	grab your hazmat suit, remember the buddy system, and send some prayers to The Exalted Lord Arceus (praise be) and get ready to dive into
</p>

<p>
	<span style="font-size:22px;"><b><i><u>The Compiler</u></i></b></span>
</p>

<p>
	<span style="font-size:8px;">(ok. i can do this.)</span>
</p>

<p>
	the compiler is-
</p>

<p>
	<img alt="9k.png?width=354&amp;height=703" class="ipsImage" data-ratio="198.59" height="703" width="354" src="https://media.discordapp.net/attachments/467856724234338306/622597920998555671/9k.png?width=354&amp;height=703"></p>

<p>
	the compiler is just...
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="47.29" height="472" width="1000" src="https://cdn.discordapp.com/attachments/467856724234338306/722442831150448660/unknown.png"></p>

<p>
	<span style="font-size: 8px;">don't forget about move memory. we'll come back to that. also shout out again to the Fairy of Toothpaste for patching up the battle factory. lad's killin it.</span>
</p>

<p>
	the compiler is just....... terrifying.
</p>

<p>
	i mean, look at this!
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62545" data-ratio="87.70" data-unique="zhjb0365c" width="618" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.2aceacb8b2b4230f4d4532305c8b6233.png"></p>

<p>
	those aren't even <em>words!</em>
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62546" data-ratio="14.61" data-unique="rvy2p0sil" width="349" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.f6183645f563892e8123a59b5c7fe9dd.png"></p>

<p>
	how does anyone manage to look at this and not immediately have a brain aneurysm?? 
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62547" data-ratio="33.33" data-unique="ydyc0se81" width="480" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.f84557a5896699f6b71ee2633f88f86b.png"></p>

<p>
	<strong>O_O</strong>
</p>

<p>
	 
</p>

<p>
	the compiler is the one place
</p>

<p>
	that no one should go
</p>

<p>
	it is such a terrible place
</p>

<p>
	or, at least,
</p>

<p>
	it <em><u><strong>was</strong></u></em>
</p>

<p>
	now? i am <em>beeg</em> cass. i have <em>fought </em>the AI. i have <em>fought</em> the battle system. 
</p>

<p>
	and now?
</p>

<p>
	i <em><strong>fite</strong></em> the compiler.
</p>

<p>
	let's go.
</p>

<p>
	 
</p>

<p>
	last time, on Dragon Blog Z:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="184.03" height="576" width="313" src="https://cdn.discordapp.com/attachments/591711223750328331/730629304702205992/unknown.png"></p>

<p>
	we had THIS.
</p>

<p>
	hooooooo i was mad. i was all out here like <img src="https://twemoji.maxcdn.com/2/72x72/1f620.png" class="ipsEmoji" alt="😠"> thats how mad i was.
</p>

<p>
	also it turns out this wasn't the real culprit either.
</p>

<p>
	like, it was <em>a</em> culprit, but arresting this guy would be like giving someone a parking ticket when there's a murderer on the loose.
</p>

<p>
	the <em>true <strong>real<u> final ACTUAL</u></strong></em> culprit times infinity
</p>

<p>
	was this.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62548" data-ratio="149.77" data-unique="o8bg4blj6" width="428" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.98daa48fc59c7c7eb194f53c0220d965.png"></p>

<p>
	this <em>rat bastard.</em> 
</p>

<p>
	this <em>piece of shit</em> was behind it all.
</p>

<p>
	lemme tell you about what this function does.
</p>

<p>
	 
</p>

<p>
	FIRST
</p>

<p>
	it opens a file.
</p>

<p>
	<span style="font-size:10px;">wow. i'm so smart.</span>
</p>

<p>
	 
</p>

<p>
	BUT THEN
</p>

<p>
	it reads the file.
</p>

<p>
	<span style="font-size:10px;">incredible. how do i do it</span>
</p>

<p>
	 
</p>

<p>
	while this is, of course, a perfectly acceptable way to save and load move memory, it wasn't good enough for me.
</p>

<p>
	there are lots of ways to load and process data. this function here uses a bitstring.
</p>

<p>
	imagine a very, very, very long line of numbers, stretching off into space.
</p>

<p>
	that's what moves.dat looks like.
</p>

<p>
	the actual data that you want from moves.dat is located <em>somewhere</em> in that string. to find it, this function shifts to a certain section of the string (determined based on the move ID), reads the data out piece by piece, and then ends the read.
</p>

<p>
	this isn't an inherently bad way to process memory. it <em>does</em> work, after all. but it's definitely not efficient. the series of function calls, coupled with the frequency at which this function itself is called, means that string processing becomes a <i>lot</i> of what the battle system does in the background.
</p>

<p>
	so i changed it.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62549" data-ratio="66.36" data-unique="kdbzvhki4" width="428" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.4ae025b1a1b83ccb85b95057e4899c06.png"></p>

<p>
	feast your eyes.
</p>

<p>
	now <em>this</em> is how to read memory.
</p>

<p>
	moves.rxdata is basically identical to moves.dat, but instead of having data in a bitstring, it has it in an array. not only is this a lot faster to process, but it's also really easy to read.
</p>

<p>
	want the function code? it's in [id][0]. there ya go. ez.
</p>

<p>
	if, for some reason, you just randomly want the effect of move 482 in some oddball script, you can just grab it with $pkmn_move[482][6]. simple, speedy, clean.
</p>

<p>
	 
</p>

<p>
	abilities wasn't off the hook, though.
</p>

<p>
	<img alt="" class="ipsImage ipsImage_thumbnailed" data-fileid="o_1eerkdunjg7u1ffp4cmt11aku1g" data-unique="c2u2qnxh2" style="" src=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62550" data-ratio="71.06" data-unique="rufh06m0l" width="425" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.217909baac2279b2d90e0cce0d908d0f.png"></p>

<p>
	<img alt="561640006658293761.png?v=1" class="ipsImage" data-ratio="93.75" height="105" width="112" src="https://cdn.discordapp.com/emojis/561640006658293761.png?v=1"></p>

<p>
	ok compiler. let's go and have a ch-
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62551" data-ratio="101.29" data-unique="r44q6bzdk" width="622" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.1262f89e2c51b8677f6d2885c15a4615.png"></p>

<p>
	nope nope nope im out byeeeeeee
</p>

<p>
	 
</p>

<p>
	so the compiler as a whole is a little bit too large to post here; while this is a blog post about coding and script changes, i don't really want to blind you with more blind text than my lawyers recommend.
</p>

<p>
	but i also think i spent a few hours staring at this trying to understand what it did, and i don't want anyone to have to go through that.
</p>

<p>
	so i'll take pieces and explain them and we'll go from there.
</p>

<p>
	let's start with this.
</p>

<p>
	<img alt="" class="ipsImage ipsImage_thumbnailed" data-fileid="o_1eerkdquk13fv1ct3ni014681vkl1a" data-unique="nz33ygr40" style="" src=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62552" data-ratio="47.66" data-unique="weuqrwdcw" width="363" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.bfb721ad7c400f1a8e01a0786c41aed4.png"></p>

<p>
	<span style="font-size:8px;">this is from essentials 17, so it won't be what our code looks like. i just don't want to get hurt this time.</span>
</p>

<p>
	this section defines how the PBS data gets processed (pokemon.txt in particular for this). it defines: 1.) what section this pertains to, 2.) what byte the data gets written to, and 3.) what type of data gets written.
</p>

<p>
	take, for example, "Color". whatever is entered in the "Color" field in the PBS will be written to byte 6 and processed as type "e". (it also requires PBColors in order to function.)
</p>

<p>
	the problem i have with this process is pretty much the same problem that i had with moves.dat- it's a lot of data processing for very little (if any) gain. the difference here is that patching move compilation was easy.
</p>

<p>
	for moves, you just take this:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62553" data-ratio="21.17" data-unique="iorugx91h" width="515" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.a31f1f4c23282ce5f416ad351c549baa.png"></p>

<p>
	and tell it to stop.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62554" data-ratio="19.19" data-unique="dr28rwszv" width="542" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.5047c34583ad1abe07c68b35dde58c53.png"></p>

<p>
	<span style="font-size:8px;">"why is it moves.rxdata?" you might be wondering. and, well, idk. i'm not sure that the file extension matters a whole lot for this and it seemed like a simple way to differentiate between the two.</span>
</p>

<p>
	dexdata compilation, on the other hand, is like what if the move compilation was tied into a knot. and written in dothraki. and you had to read it with your chin.
</p>

<p>
	instead of rewriting it, i managed to get away with just repurposing the current code to throw everything into an array rather than a bit string:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="62555" href="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.45e0aed55f98758b4038768d3021a1a3.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62555" data-ratio="4.10" data-unique="r157zaxvy" width="1000" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.thumb.png.63efde6d3cfb4f0af9ab942fbfc49b62.png"></a>
</p>

<p>
	<span style="font-size:8px;">pg-13 warningL there is a swear word here. if you find such language offensive, then how did you make it on a fangame for pokemon reborn</span>
</p>

<p>
	(as you can see i was getting rather frustrated with the code.)
</p>

<p>
	this array is all of your pokemon data. you'll notice that there are a handful of nested arrays inside of it- they're placed where they are to match up with the old order that dexdata was stored in. it's super arbitrary.
</p>

<p>
	the order that data gets stored in is determined by the same parameter that determined what byte data was stored in.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62556" data-ratio="52.77" data-unique="i5oyrk8tv" width="343" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.3b2b7de1fc0a8a104ab523fcf9176c62.png"></p>

<p>
	color would be the first item, type 1 would be the third item, base stats would be the fifth (and is, itself, an array) and so on. it's not really in a very intuitive order, but that's mostly because i'm not really sure an intuitive order exists for this.
</p>

<p>
	the section that allocates data to specific bytes is a little spread out, so i'm going to skip the explanation there (i didn't really do a whole lot to it and also holy shit this post is massive already)  and jump to implementing this.
</p>

<p>
	because it's a fuckin pain.
</p>

<p>
	i'll walk you through it.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62557" data-ratio="54.23" data-unique="wx7hxqocf" width="343" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.e2ebbb7b8c6aec6af907ced6d9cceec1.png"></p>

<p>
	this is an example of a call to dexdata. the calls are all structurally similar: dexdata is opened, the bitstring is offset to the data you want, the data is pulled, and dexdata is closed.
</p>

<p>
	pbDexDataOffset is what's really running the show here. the number at the end of the function corresponds to the specific data it needs- in this case, the 8 refers to Type1, which you can confirm by checking the original code.
</p>

<p>
	fgetb and fgetw read a specific number of bytes of data. it reads 1 byte for the type and 2 bytes for height/weight. 
</p>

<p>
	with the new system, that code becomes this:<br><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62558" data-ratio="23.95" data-unique="fpowuu7a4" width="476" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.ed6682e0f01d63e49dbf39159f4486a2.png"></p>

<p>
	$pkmn_dex is preloaded at game start, so there isn't a check to see if it exists or not. if you somehow manage to get in-game without it preloaded, then, well, i'm impressed! also please don't do that.
</p>

<p>
	you can see that it works pretty much the same as move initialization did earlier. you put in the pokemon, you put in the index of data you want, and boom. you have it.
</p>

<p>
	we are moving off some antiquated data structures one step at a time.
</p>

<p>
	 
</p>

<p>
	now, for me, patching dexdata was about me looking at how this worked and going "hhhhhhhhhhhh i hate this", thus sparking a strong desire to <em>fix</em>
</p>

<p>
	but this code is also, like, actually bad.
</p>

<p>
	infinite fusion had to weigh adding more pokemon (its main feature) against the game grinding to a halt whenever dipping into dexdata
</p>

<p>
	rejuv can't add gen 8 without compiler edits because the compiler effectively limits the total number of abilities to 256. gen 8 has more than that.
</p>

<p>
	it's kinda bad.
</p>

<p>
	that's enough on the compiler- i've been writing this post for five hours and we're still not even on the ai.
</p>

<p>
	spoiler alert
</p>

<p>
	 
</p>

<p>
	<span style="font-size:18px;"><u><strong>The AI</strong></u></span>
</p>

<p>
	so i spent, like, three days on the compiler?
</p>

<p>
	the rest of the apeshit of the month went in to this fuckin thing.
</p>

<p>
	there is just... <em>so much</em> to cover here.
</p>

<p>
	over the course of the last month, we trimmed the ai from 42,000 lines to just a bit under 25,000.
</p>

<p>
	some of this was just code cleanup
</p>

<p>
	some of this involved offloading work off into individual functions
</p>

<p>
	some of this was to fix some bugs.
</p>

<p>
	the rest..... i don't even remember. it was so long ago.
</p>

<p>
	 
</p>

<p>
	first let's cover some background stuff.
</p>

<p>
	<u><strong>Importing Hidden Classes</strong></u> aka "i hope you liked talking about the compiler earlier"
</p>

<p>
	during compilation, hidden classes are made that hold the IDs of everything that you've compiled. they're hiding off to the side, in that constants.dat (or rxdata. one of them.) since they're off to the side, though, they aren't always accessible to the main script classes, which occasionally means that direct calls to them will fail. i manually imported them by modifying the compiler to yeet them out entirely instead of adding them to the constants file and then copying them into the main scripts myself.
</p>

<p>
	is this a good way to do it? no. i already know that there's a better way, but i just have really burned out hard on this and don't plan to get to it immediately. but it involves having the scripts import themselves. 's fun.
</p>

<p>
	<strong><u>PBStuff</u></strong>
</p>

<p>
	this one was me. i did this.
</p>

<p>
	i made PBStuff to store large arrays of constants that frequently get called/checked together. this was mostly for the sake of the AI, which tended to have these very long lists of moves that stretched out well beyond the incredibly small rmxp script window, but it also came in handy for making sure that ability-changed moves like role play and entrainment would, like, actually fuckin work correctly. 
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62559" data-ratio="42.89" data-unique="r4fcjhw2b" width="865" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.f52977b162c00b86e7b7d88ee02d444c.png"></p>

<p>
	wow! comments! that explain things!
</p>

<p>
	so this was pretty important for code cleanup for two reasons.
</p>

<p>
	the first is that it makes the code <em>much </em>more readable if you're just calling an array of things rather than just rattling off a massive list of moves/abilities. 
</p>

<p>
	the second is that it ended up fixing a lot of issues with role play/etc, which had some abilities missing because those moves are <em>really</em> picky.
</p>

<p>
	in the end, it allows for stuff to go from this: 
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62560" data-ratio="65.10" data-unique="s32yu2tsr" width="639" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.a2682f909d26542eb41775950199a43a.png"></p>

<p>
	to this:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="62561" href="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.b8ec46c54f13c58757d263968e227cdf.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62561" data-ratio="19.80" data-unique="xhzn4su01" width="1000" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.thumb.png.bb5ea57a84b92079908eac6f38a2f3c3.png"></a>
</p>

<p>
	<span style="font-size:8px;">i do not know for sure if it correctly gets called as an array with this syntax.</span>
</p>

<p>
	which is just so much clearer.
</p>

<p>
	 
</p>

<p>
	okay. let's get started with the real stuff.<br><u><strong>isConst? and hasWorkingAbility</strong></u>
</p>

<p>
	<span style="font-size:8px;">this'll get me some hate mail.</span>
</p>

<p>
	i opened this post by talking about how exp/leveling functions work, and that they were called 60 billion times.
</p>

<p>
	well, these two functions were the next two worst offenders.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62562" data-ratio="22.62" data-unique="i2eaqzz3r" width="389" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.edc49912d3c30e1f092519cff316a8ee.png"></p>

<p>
	(this is from one AI phase.)
</p>

<p>
	so what do these functions do?
</p>

<p>
	 
</p>

<p>
	<u>isConst?</u>
</p>

<p>
	this one you've already seen from the Role Play screencap. isConst? takes 3 parameters: an object, the class you want to check, and the value you're checking for. isConst? puts them together like so:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62563" data-ratio="41.65" data-unique="4154xuszw" width="401" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.b4dc9804e36a2d097f416c0db8e320b2.png"></p>

<p>
	if you're <em>still</em> with me, <em>this</em> far into my gigantic post, then you might see my issue here.
</p>

<p>
	isConst? checks to see if a value exists before it gets that value.
</p>

<p>
	it has a rescue statement if the value does not exist.
</p>

<p>
	so why not just directly get the value?
</p>

<p>
	the rescue statement would catch it the same way.
</p>

<p>
	but then, later on, I realized something.
</p>

<p>
	why does this function exist?
</p>

<p>
	you can see in PBStuff that i have arrays of values that are all called like this: [CLASS]::[VALUE], which is functionally identical to what isConst? does.
</p>

<p>
	and the reason it doesn't work is because it can't directly access the hidden classes.
</p>

<p>
	fixing this is what originally prompted me to import the hidden classes into the scripts; that's what enables the use of the class/value call. nearly every single instance of isConst?(val,mod,constant) can just be replaced with
</p>

<p>
	[val] == [mod]::[constant]
</p>

<p>
	and skip out on several lookups and function calls.
</p>

<p>
	hasWorkingAbility? faces a similar situation:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62564" data-ratio="25.65" data-unique="67ucx3dfm" width="425" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.029175096ac166871125bc1809a0996b.png"></p>

<p>
	it's effectively a glorified isConst? call. 
</p>

<p>
	the checks that are made here are necessary, but they are also being run a <em>lot</em>. 
</p>

<p>
	these calls can be replaced by running a single check at the start of a large function, and then replacing the remainder of the calls with (abilityworks &amp;&amp; object.ability == PBAbilities::Ability), which can then be condensed further with some organizing. (i'm also considering just making a class variable, but i only thought of it this morning. work is never done.)
</p>

<p>
	 
</p>

<p>
	<strong><u>AI Move Memory Utilities</u></strong>
</p>

<p>
	remember this from earlier? the AI move memory system is part of what helps the AI just kick your ass. 
</p>

<p>
	it also takes up a <em>lot</em> of space in the AI. i mentioned that there were about 17k lines of code that are gone now. 10k of that was through ai memory functions.
</p>

<p>
	every AI move memory check has two basic components: it first pulls the memory, and then it pulls certain information from it. there's a lot of things that are <em>done</em> with the memory, but the majority of it falls into four categories.
</p>

<p>
	the memory puller is here:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62566" data-ratio="59.22" data-unique="z6gcn8r0t" width="412" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.c9b84681fc95a4b13ccf04e9b5670e84.png"></p>

<p>
	and all of the utility functions are here:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="62567" href="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.2d4ad6155d969e50dbc9c89632cb23df.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62567" data-ratio="129.53" data-unique="qnhp97bvd" width="579" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.thumb.png.e2475f4dce6038fe1ade12258b3bf34c.png"></a>
</p>

<p>
	<span style="font-size:8px;">astute readers will notice that there are five functions here. however, we all know that in ruby, the 5th element in an array is index 4. so thus i'm still correct and not just too exhausted to change that number.</span>
</p>

<p>
	this, in combination with the PBStuff arrays allows these massive chunks of code to be condensed into single lines.
</p>

<p>
	before:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="62568" href="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.fb56f77bc8b25c24a6491ca8f3a21a5b.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62568" data-ratio="34.10" data-unique="wlrllvr0k" width="1000" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.thumb.png.e125b9e28edcbdc86595b030f6540fdd.png"></a>
</p>

<p>
	after:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62570" data-ratio="5.59" data-unique="49zg328u7" width="608" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.5f508a8de463f2227997f05ba894e0c1.png"></p>

<p>
	imagine that happening hundreds of times and you know what's happened to the AI code.
</p>

<p>
	 
</p>

<p>
	*checks watch
</p>

<p>
	i'm almost 8 hours into this post.
</p>

<p>
	last big thing and y'all can go home.
</p>

<p>
	<span style="font-size:18px;"><u><strong>AI restructure</strong></u></span>
</p>

<p>
	so i'm sitting here talking up a big game about the ai. but did you know, that our <em>perfect</em> ai, that even <em>it</em> has flaws? it's true! i was also surprised.
</p>

<p>
	when making decisions, the AI first decides if it should switch, then it decides if it should use an item, and finally it picks a move.
</p>

<p>
	<em>every single step</em>, the AI checks the scores of <em>all</em> of its moves.
</p>

<p>
	<em><strong>why</strong></em>
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="84.69" height="166" width="196" src="https://cdn.discordapp.com/attachments/736396299267735633/736519856652025916/unknown.png"></p>

<p>
	<span style="font-size:8px;">pictured above: death.</span>
</p>

<p>
	to fix this, i cut pbChooseMoves in half and put the actual movescore grabbing bit in front.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="62571" data-ratio="77.04" data-unique="nbwsh2uj5" width="797" src="https://www.rebornevo.com/uploads/monthly_2020_08/image.png.5049c2815d6e06a3380bd2b4fb458e25.png"></p>

<p>
	this is a much simpler change than the others, but it slices a large chuck of the AI processing time off.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	ok. we did it. actual dev content over. y'all can go home.
</p>

<p>
	imma end this out on a more personal note.
</p>

<p>
	frequent readers of my posts (thank you! and also: why?) will recall that last time i posted, it consisted of direct screencaps of the dev server where i was Very Angry about code inefficiency.
</p>

<p>
	frequent readers of the comments (why? and also: no seriously why would you do that) will also recall that a Big Fan of essentials showed up to call bullshit on the work i've done over the past few months (despite not really understanding what i do), before calling me a memer rather than a programmer.
</p>

<p>
	this hurt me.
</p>

<p>
	likewise, this post was kind of a chore to write.
</p>

<p>
	that's never happened before.
</p>

<p>
	these posts have always been written in a certain style that i hope conveys a feeling that i am speaking to you, rather than simply putting words on a page that you then read and process. it's a stylistic choice on my part that i understand some people appreciate and some people don't.
</p>

<p>
	writing in an informal, open way, only to have someone- a rival community admin- show up on your devblog to tell you that the work you've put into your game is shit kinda fucks you up. 
</p>

<p>
	i've spent a lot of time checking over my shoulder for everything i've written. "oh hey, is this code absolutely perfect?" "if i say this, is someone from relic castle going to tell me that i'm stupid and should just upgrade my version of essentials?" (the latter here is why i've been very careful to only include code that is in essentials 17)
</p>

<p>
	but what is <em>most</em> troubling about this is the fact that i was bashed by someone who claimed to represent essentials for offering optimizations for other devs to use in their own games.
</p>

<p>
	i was mocked for using essentials 15. but insurgence uses 15. deso uses 15. rejuv uses 16. games that have been built on older versions often can't just upgrade to newer ones because it would require reimplementing everything they've already done. meanwhile, the changes between versions are often opaque, with little information to help developers who <em>are</em> stuck on older versions to get any of the benefits of upgrading.
</p>

<p>
	to blame someone who is trying to improve an older version of the engine for being stuck on an older version is not only callous, but it also shows that there is a massive disconnect between the people making tools to make games and the people who actually make the games.
</p>

<p>
	and i should be clear here- i'm not upset with the actual developer of essentials at all. when we talked he seemed pretty open to some of the things that i mentioned we had implemented.
</p>

<p>
	the problem that i see is two-fold.
</p>

<p>
	the first part of it is that there is a community that seems to be entitled to essentials to the point where they will bash people who speak out negatively regarding it. i have spent the better part of three months grinding away at the scripts. i spent more time coding than i've spent sleeping. and i want <em>nothing</em> to do with that place. this is a unique circumstance for me because i'm generally really happy to offer my work to people. i <em>like</em> making these posts where i talk about what we've been doing. i <em>like</em> handing out my work to people because it means that everyone can make higher quality stuff without also needing the technical knowledge to tinker with the engine. it's practically a form of elitism- we have the new version, and that makes us better than you with your old one. i suspect this matters less to newer devs, as they can just pick up the latest version and start working with it, but i feel like the fact that this situation has happened <em>at all</em> should still be concerning.
</p>

<p>
	the second part of it is just that...this is <em>so</em> much work. i have been going non-stop for months and i still don't feel like i'm anywhere close to having the code be in a state where i can consider it to be "done". and this has only included work on parts of the engine; there are still entire sections that i haven't even begun to think about, let alone look at.
</p>

<p>
	my point is that this is all just too much work for any one person to do, and it doesn't make sense for multiple people to end up doing the same work over and over again. it doesn't make sense for me to fix the bugs in my version that are still present in the current version, meanwhile there's another version that's being developed and i sure dunno if it's being fixed in there or not. and then, even if it <em>is</em> being fixed, there's no telling if anyone else would be able to use it in their games since there's not a lot of guidance on what the actual changes are.
</p>

<p>
	it also means that, as a result of everyone doing the same things independently of everyone else, that there's a <em>lot</em> of wasted scripting talent being spent on re-doing things that have already been done. for example: <em>how</em> many gen 8 mods are there in development right now? you've seen my scripts. gen 8 is already there. we helped out with rejuv on developing it. i've assisted deso with optimizations, and am helping rejuv implement some of this as well. when marcello heard that infinite fusion was having slowdowns due to the sheer number of pokemon in their game, i sent the compiler changes to see if that would help solve things. even aside from the major fangames, time and time again there have been fans and community members who will show up out of nowhere with their own fixes for things. i've been getting some additional mkxp support from aeodyn, who just messaged me one day saying "hey you know you could be using this better tilemap, right?" and then fuckin waynolt is out here making the <em>entire</em> modding system for reborn/rejuv, and <b><i>then</i></b> fuckin toothpastefairy fixed the goddamn battle factory before he was even on the team!
</p>

<p>
	my point here, is this:
</p>

<p>
	<span style="font-size:20px;"><strong><em><u>essentials needs to be open source.</u></em></strong></span>
</p>

<p>
	<span style="font-size:12px;">thanks for coming to my ted talk i'm going to go do anything else now because i have been typing for nine hours and i can't anymore</span>
</p>
]]></description><guid isPermaLink="false">63</guid><pubDate>Tue, 04 Aug 2020 09:03:12 +0000</pubDate></item><item><title>E17 Redone Intro</title><link>https://www.rebornevo.com/pr/development/records/e17-redone-intro-r20/</link><description><![CDATA[
<p>
	Shh, no words now. Only videos.
</p>

<p>
	After all, it's the start of the game so it's not like it's a spoiler or anything.
</p>

<p>
	 
</p>

<div class="ipsEmbeddedVideo" contenteditable="false">
	<div>
		<iframe allowfullscreen="true" frameborder="0" height="270" src="https://www.youtube.com/embed/7XqS06Vm0x4?feature=oembed" width="480"></iframe>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">20</guid><pubDate>Fri, 11 Aug 2017 11:46:41 +0000</pubDate></item><item><title>an actual real-life mac version (that might also be unstable and crash a lot)</title><link>https://www.rebornevo.com/pr/development/records/an-actual-real-life-mac-version-that-might-also-be-unstable-and-crash-a-lot-r54/</link><description><![CDATA[
<p>
	hi.
</p>

<p>
	imma get to the point.
</p>

<p>
	we have a mac version! it's in beta. online doesn't work. some places might crash the game.
</p>

<p>
	but it <em><u><strong>exists.</strong></u></em>
</p>

<p>
	and you can get it <a href="https://www.rebornevo.com/pr/download/" rel="">here!</a>
</p>

<p>
	 
</p>

<p>
	you might be wondering why i'm releasing the mac version now and not later.
</p>

<p>
	it's because i don't have a mac and can't really test it.
</p>

<p>
	catalina users also have <em>literally </em>no other option to play the game and, like, that totally sucks.
</p>

<p>
	so you'll have this! (until apple drops OpenGL support too.)
</p>

<p>
	 
</p>

<p>
	please report issues you have <a href="https://www.rebornevo.com/forums/topic/51486-183beta-mac-version-crasheserrors/" rel="">here</a>. especially if the game crashes.
</p>

<p>
	and there should be a windows/linux update out soon as well!
</p>
]]></description><guid isPermaLink="false">54</guid><pubDate>Fri, 01 May 2020 05:04:05 +0000</pubDate></item><item><title>Pokemon Reborn E18.4- The Level Cap: a Precautionary Fable</title><link>https://www.rebornevo.com/pr/development/records/pokemon-reborn-e184-the-level-cap-a-precautionary-fable-r35/</link><description><![CDATA[
<p>
	Hi! Me again.<br />
	So, as many of you noticed, the last post I made (featuring the lovable Meech) was actually just a cleverly disguised teaser for the level cap increasing. This post is going to be a bit more about the level cap itself, why increasing it can make things annoying for anyone actually trying to level up past 100, and probably some nerd stuff on top of that.
</p>

<p>
	 
</p>

<p>
	<strong>First: the level cap. </strong><br />
	Changing the level cap is incredibly easy.
</p>

<p>
	In the game files, there's this single line of code:
</p>

<p>
	<img alt="image.png.5457570e2bf8d4864e72186a81ecc8e2.png" class="ipsImage ipsImage_thumbnailed" data-fileid="50806" src="https://www.rebornevo.com/uploads/monthly_2019_02/image.png.5457570e2bf8d4864e72186a81ecc8e2.png" /> 
</p>

<p>
	Increasing that number increases the maximum level. It's really that uncomplicated. You could even increase the level cap to 1,000,000,000,000 if you want to, and it works!
</p>

<p>
	...in theory.
</p>

<p>
	Changing the level cap itself doesn't affect anything in-game since it's, effectively, just a number. The problems with an infinite level cap start to emerge when you have an actual pokemon try to reach it.
</p>

<p>
	Which brings us back to our dear friend Meech.
</p>

<p>
	Instead of explaining this, I'll just show you what happens in game when Meech starts to become Too Stronk (volume warning!):
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="true" frameborder="0" height="344" src="https://www.youtube.com/embed/YXEH6kSGZNk?feature=oembed" width="459"></iframe>
	</div>
</div>

<p>
	You can see in the video that Meech is now a level 950,095.
</p>

<p>
	You can also see in the video that the menu lags to hell and back. This lag is what effectively creates a soft limit on the level cap- if I levelled up to the 1,000,000 mark, the game would start crashing every time it tries to load the pokemon screen. The soft limit also varies based on your CPU- forcibly limiting the performance on my laptop also limited the extent to which I could raise Meech's level. The script crashed around level 600,000 when limited, for an example. That said, it's worth nothing that my game crashed literally the moment after I stopped recording the video, so it's not like there's a hard level cap in practice- it all just depends on whether or not your CPU can handle the load.
</p>

<p>
	 
</p>

<p>
	<strong>Some caveats:</strong>
</p>

<p>
	So: obviously there's a problem with making the level cap <em>too</em> big, but there's not really a technical issue with setting it to, let's say, 50,000. So why don't we? (I rhetorically ask myself in order to set up the next part of this post)
</p>

<p>
	 
</p>

<p>
	<strong>The first issue is EXP.</strong>
</p>

<p>
	If you watched the video above to the end, you'd see what the EXP requirements were to level up to 950,096. It takes over <em>2 trillion </em>points. Meech's level there is, of course, unreasonably high, so here's the EXP values at level 50,000:
</p>

<p>
	<img alt="MS5eQTP.png" class="ipsImage" height="384" src="https://i.imgur.com/MS5eQTP.png" width="513" /></p>

<p>
	Compared to the numbers at level 950,095, this is technically more manageable, but still effectively impossible to reach in-game. To explain why this is the case, I'm going to talk a lot about EXP formulas and... well, I'm going to have to use some math, and I understand that math might not be what you all bargained for by reading this post. In order to spare those you might otherwise be overly startled by the presence of math, I'm going to throw up my specially patented Math Barrier, and those of you who wish to avoid the math can just rejoin the post after the second line of stars.
</p>

<p>
	 
</p>

<p>
	******************************* MATH BARRIER™ **********************************<br />
	Alright, nerds.
</p>

<p>
	There are six types of EXP growth. In order from least EXP needed to most EXP needed, they are:<br />
	Erratic, Fast, Medium, Parabolic, Slow, and Fluctuating. <br />
	For my own sake, I'm going to be focusing on the middle four growth types, since Erratic and Fluctuating are, uh, really weird and I don't quite know how to make them work for hypothetically high numbers.
</p>

<p>
	 
</p>

<p>
	Here are the EXPgrowth formulas for the EXP needed to be at a given (level):<br />
	Fast:           (level)<sup>3</sup> * 0.8
</p>

<p>
	Medium:   (level)<sup>3 </sup></p>

<p>
	Parabolic:  (level)<sup>3</sup> * 1.2 - (level)<sup>2</sup> * 15 - (level)<span style="font-size:10.5px;"> </span>* 100 - 140
</p>

<p>
	Slow:          (level)<sup>3</sup> * 1.25
</p>

<p>
	(Meech, for reference, is Fast.)
</p>

<p>
	 
</p>

<p>
	The EXP gain formula- what determines how much EXP you get from battle- is why I made a Math Barrier earlier. It is a mess.
</p>

<p>
	 
</p>

<p>
	EXPgain = (A / B)<sup>2.5</sup> * C * D + 1
</p>

<p>
	A = Lv<sub>opp</sub> * 2 + 10
</p>

<p>
	B = Lv<sub>opp</sub> + Lv<sub>player</sub> + 10<br />
	C = BaseEXP * Lv<sub>opp</sub> / 5
</p>

<p>
	D is just a catchall value for things like Lucky Egg boosts, traded pokemon boosts, EXP Share drops, etc. No one needs to see those.
</p>

<p>
	I've tried to make this as readable as possible but it's...it's still a mess. Lv<span style="font-size:10.5px;">opp </span>is your opponent's level and Lv<span style="font-size:10.5px;">player </span>is yours.
</p>

<p>
	It's worth noting that when  Lv<sub>opp</sub> = Lv<sub>player </sub>, A / B = 1 and the formula basically becomes C * D + 1 = EXPgain. To make things easier for the rest of the explanation, I'll be calculating EXP gain as if Meech was the same level as its opponent.
</p>

<p>
	Anyway, hope you nerds enjoyed the knowledge dump. I'll call the normies back in now.
</p>

<p>
	******************************* MATH BARRIER™ **********************************
</p>

<p>
	 
</p>

<p>
	The issue here is that EXPgain increases linearly and EXPgrowth increases cubicly. This effectively means that more pokemon will have to be fought in order to level up the higher your level is.
</p>

<p>
	I'll demonstrate this by having Meech fight a bunch of hypothetical Reshirams at the same level in order to level up. 
</p>

<p>
	Level 50 Meech needs: 6120 EXP or 2 Level 50 Reshirams
</p>

<p>
	Level 75 Meech needs: 13680 EXP or 2.98 Level 75 Reshirams
</p>

<p>
	Level 100 Meech needs: 24240 EXP or 3.96 Level 100 Reshirams
</p>

<p>
	Level 300 Meech needs: 216720 EXP or 11.8 Level 300 Reshirams
</p>

<p>
	Level 1000 Meech needs: 2402400 EXP or 39.25 Level 1000 Reshirams
</p>

<p>
	And, finally...
</p>

<p>
	Level 50000 Meech needs: 6000120000 EXP or 1960.8 Level 50000 Reshirams
</p>

<p>
	This is basically the EXP crunch that you normally see in the later areas of Reborn taken to extreme levels. The reason you don't see this any earlier is because the base EXP a pokemon gives also depends the sum of its base stats and whether or not it's evolved, with higher base stats and later evolutions having higher base EXP. The increase in EXP for a level up is mostly covered by the fact that the pokemon you're fighting are evolved and give more EXP. But as you can see, when the base EXP of the pokemon you fight isn't increasing anymore, leveling up starts to get harder and harder.
</p>

<p>
	 
</p>

<p>
	This brings me to my second issue: <strong>Leveling up becomes pointless</strong>
</p>

<p>
	When you level up, you typically see growths of 1-5 points per stat. At the beginning of the game, this is pretty significant- A 5 point growth when your stat is at a total of 80 is a 6.25% increase. These level up growths effectively always stay the same- whether you're at a level 50 or 75 or 50000. <br />
	So let's check MegaMeech's stats.
</p>

<p>
	<img alt="hFg4o1W.png" class="ipsImage" height="376" src="https://i.imgur.com/hFg4o1W.png" width="512" /></p>

<p>
	A level up at 50000 does effectively nothing for MegaMeech, and it takes much much more effort to get one. Level differences between pokemon would also have to be larger to maintain any sort of significance.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	So we're still looking into what we'll do with increasing the level cap as far as Reborn is concerned. The main point of it is to make it so there's at least some kind of a challenge with Legendary battles and other postgame shenanigans. I'm also working on tweaks to the EXP formulas so that leveling up isn't such a pain while also making it so that further levelups aren't absolutely necessary to complete the main postgame content (and overleveling won't even be possible before you finish the League).
</p>

<p>
	There's no way we'd push the cap over 200 though. Nuh-uh.
</p>

<p>
	If we're getting to that point and can't increase the challenge without pushing the cap up further then we completely lack creativity and I will personally fire myself.
</p>

<p>
	So, yup, that's my TED Talk. Thanks for listening!
</p>
]]></description><guid isPermaLink="false">35</guid><pubDate>Sun, 17 Feb 2019 23:34:06 +0000</pubDate></item><item><title>SH3'S B4CK</title><link>https://www.rebornevo.com/pr/development/records/sh3s-b4ck-r37/</link><description><![CDATA[
<p>
	you loved her in the circus...
</p>

<p>
	you loved her in the glitch world...
</p>

<p>
	you loved her all night long on a soft and spongy couch...
</p>

<p>
	 
</p>

<p>
	and then, like everyone before her, she was gone.
</p>

<p>
	 
</p>

<p>
	or so you thought...
</p>

<p>
	</p>
<div class="ipsSpoiler" data-ipsSpoiler="">
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents">
<p>
</p>
<br><br><img alt="OUlQ0to.png" class="ipsImage" height="383" src="https://i.imgur.com/OUlQ0to.png" width="511"><br><br>
	 
<br><br>
	in episode 19, Terra
<br><br>
	is 
<br><br>
	BACK
<br><br>
	in an all new role
<br><br>
	as she pits friend and foe alike against each other in an all-holds-barred smackdown scenario of the century...........................
<br><br>
	 
<br><br><strong>THE LABRADORRA GRAND TOURNAMENT OF B00TY!!!</strong>
<br><br>
	 
<br><br>
	from hero to zero, this expansive death match tournament will test every trainer to their limits. and at the end of it all...
<br><br>
	everyone will know...
<br><br>
	just how dummy thicc they <em>really</em> are.
<br><br>
	 
<br><br>
	but if you think you're going to be lining the opposition up and sweeping through them single-handedly, then think again, <img src="https://twemoji.maxcdn.com/2/72x72/1f171.png" class="ipsEmoji" alt="🅱️">epsi.
<br><br>
	because <em>this</em> tournament of booty has a surprising that nobody could ass-ume....
<br><br>
	 
<br><br><img alt="uePLthE.png" class="ipsImage" height="382" src="https://i.imgur.com/uePLthE.png" width="512"><br><br>
	 
<br><br>
	that's right! in the Labradorra Grand Tournament of that gucci Booty™ you'll be partnering up with one lucky plot-armor-sharing partner to roll up the competition and sweep them aside. 
<br><br>
	let's just hope you and your lucky partner have chemistry... if you know what she means <img src="https://twemoji.maxcdn.com/2/72x72/1f609.png" class="ipsEmoji" alt="😉"><br><br>
	 
<br><br>
	so strap in and pucker up for a multi-round multipound that's guaranteed to be the thrill of E19 with the queen of memes at the top seat!
<br><br>
	 
<br><br><img alt="DAtVj4J.png" class="ipsImage" height="382" src="https://i.imgur.com/DAtVj4J.png" width="514"><br><br><br>
	starring, such roaring fighters as:


<ul>
<br><li>
		tittytania
	</li>
	<li>
		<p>
			anna v0.3
		</p>
	</li>
	<li>
		<p>
			wannabe ophelia
		</p>
	</li>
	<li>
		<p>
			bootleg bugsy
		</p>
	</li>
	<li>
		<p>
			little miss emotional maturity
		</p>
	</li>
	<li>
		<p>
			the macdonald triad
		</p>
	</li>
	<li>
		<p>
			anger management
		</p>
	</li>
	<li>
		<p>
			strum and dumber
		</p>
	</li>
	<li>
		<p>
			the little sperm that couldn't
		</p>
	</li>
	<li>
		<p>
			...and many more!
		</p>
	</li>
</ul>
<p>
	 
<br><br>
	coming to an episode 19 near you.
<br><br>
	</p>
</div>

<p>
	 
</p>

<p>
	 
</p>
</div>
<p>
</p>
]]></description><guid isPermaLink="false">37</guid><pubDate>Mon, 01 Apr 2019 16:59:29 +0000</pubDate></item><item><title>A Completely Inconsequential Post</title><link>https://www.rebornevo.com/pr/development/records/a-completely-inconsequential-post-r45/</link><description><![CDATA[
<p>
	hello. it is i, cass, six-time winner of the Most Likely to Not be Ame award.
</p>

<p>
	<br>
	today i am going to let you in on a little secret.
</p>

<p>
	 
</p>

<p>
	you may have noticed that it's been over a year since our last release.
</p>

<p>
	now, in that time, we've gotten some stuff Done<img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️"> 
</p>

<p>
	especially the ai. 
</p>

<p>
	now, y'all are still out there running that old e18 ai
</p>

<p>
	and lemme tell you.
</p>

<p>
	it is <em>garbage</em>.
</p>

<p>
	the ai always thinks it's faster than you. it sends out types that your pokemon are super effective against. item use occasionally scores 12000 on a scale that effectively peaks around 100. it <em>sucks. </em>it has been annoying the hell out of me for months. 
</p>

<p>
	 
</p>

<p>
	now, as you might also have noticed, it is the season for the Giving of Gifts.
</p>

<p>
	so we're putting out a little holiday update. 
</p>

<p>
	<u>it is not e19. </u>
</p>

<p>
	i shouldn't really have to say that. we have progress bars. we keep saying that it won't be out for quite a while yet. it will also 100% not be a surprise. it will take months of testing before it's ready.
</p>

<p>
	but a little package of ai updates and small fixes?
</p>

<p>
	we can do that in a week.
</p>

<p>
	so today i'd like to announce the e18.2 release. it's an aipdate!
</p>

<p>
	 
</p>

<p>
	there's a good deal of stuff that isn't in this.
</p>

<p>
	last week i stared ame in the face, and was like "y'know what would be great? let's put out a mini release for the holidays as a surprise present!"
</p>

<p>
	and she was like "hhhHHHHhhh<strong>hhhhh</strong>hhhhh<em>hhhhhh</em>hhhh ok fine"
</p>

<p>
	the number of h's in that quote is inversely proportional to what I was able to convince her to add. a very limited testing period means that we can't really check for fatal bugs terribly well. 
</p>

<p>
	but there is some nice new stuff!
</p>

<p>
	- A Fuckload <img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️"> of AI updates.<br>
	- A Smalload <img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️"> of trainer updates.<br>
	- HP bars move faster.<br>
	- The ability to forfeit trainer battles.<br>
	- Multiple active save slots
</p>

<p>
	- New animations
</p>

<p>
	it's not a whole lot, but we really wanted to get something out there for y'all.
</p>

<p>
	hope you all enjoy!
</p>

<p>
	 
</p>

<p>
	(grab it from the <a href="https://www.rebornevo.com/index.php?/pr/download/" rel="">download</a> page)
</p>
]]></description><guid isPermaLink="false">45</guid><pubDate>Tue, 24 Dec 2019 23:30:57 +0000</pubDate></item><item><title>#AlolaConfirmed</title><link>https://www.rebornevo.com/pr/development/records/alolaconfirmed-r2/</link><description><![CDATA[
<p>
	Remember that time I said Gen VII content wouldn't be implemented until the last episode?
</p>

<p>
	 
</p>

<p>
	Well it turns out I'm kind of impulsive <span style="font-size:9px;">and I <em>want</em> my Ninetales.</span>
</p>

<p>
	<span style="font-size:8px;">even if it's already too late for me</span>
</p>

<p>
	 
</p>

<p>
	...among other reasons. 
</p>

<p>
	So yeah Gen VII coming to a Reborn near you featuring all the bells and Wishi's. 
</p>

<p>
	 
</p>

<p>
	Those of you who were around for the Gen VI update (or who know that I didn't even finish Mega sprites until much more recently) will probably know that spriting is the major hurdle here. Fortunately, I've already gotten quite the jump on that during community release, and with the help of Jan, Zumi and previous animator Koyo, we are fast tearing through them. 
</p>

<p>
	 
</p>

<p>
	Our plan is to release a Gen 7 sprite pack for all fan games to use. But until then, there's a lot of work to be done, especially on the back sprites.
</p>

<p>
	Have a few of the finished fronts in the mean time.
</p>

<p>
	 
</p>

<p>
	<img alt="9KGAP7l.png" class="ipsImage" src="http://i.imgur.com/9KGAP7l.png"></p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">2</guid><pubDate>Mon, 19 Dec 2016 01:51:30 +0000</pubDate></item><item><title>18.3 beta</title><link>https://www.rebornevo.com/pr/development/records/183-beta-r53/</link><description><![CDATA[
<p>
	*checks dev blog calendar
</p>

<p>
	well i see there hasn't been an update in a while. i should make a post.
</p>

<p>
	hello, [reborn player name here]!
</p>

<p>
	has your game ever been slow?
</p>

<p>
	well, no more, i say!
</p>

<p>
	introducing, from whatever joke corporation i'm a part of this post,
</p>

<p>
	18.<span style="font-size:28px;">3</span>
</p>

<p>
	<span style="font-size:10px;">"Wow, that 3 is really big!"™</span>
</p>

<p>
	this update contains none of what you've been waiting for (like, say, new content)
</p>

<p>
	but it does contain stuff like <em>zoom</em>
</p>

<p>
	and also a way to natively play reborn on a mac.
</p>

<p>
	really. 
</p>

<p>
	no wine.
</p>

<p>
	just mac.
</p>

<p>
	native.
</p>

<p>
	<img alt="image.png.d806147108ad9f254eed6519e34ecfdc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="60025" data-ratio="91.45" data-unique="q4slrc6oh" style="" width="538" src="https://www.rebornevo.com/uploads/monthly_2020_04/image.png.d806147108ad9f254eed6519e34ecfdc.png.9d957ab4427db2e2c0087ea093bd0262.png"></p>

<p>
	<span style="font-size:10px;">pictured above: native</span>
</p>

<p>
	 
</p>

<p>
	those of you who keep a side eye on the progress bars will have noticed that nothing's really changed. and as far as new content is concerned, that is certainly true. ame's been focusing on starlight, and....well, you don't want me writing dialogue. that is not my thing. pls no thx. that doesn't mean i've been doing <em>nothing </em>all this time- it's just stuff that the progress bars don't really reflect.
</p>

<p>
	so some backstory.
</p>

<p>
	y'all might've seen a while back that there is a way to play reborn (and other essentials games) on android.  this is not something i ever had expected to happen. i have been saying for a very long time "no. this is not a thing. you can not do this."
</p>

<p>
	and then suddenly: "wow! this is a thing! you can do this!"
</p>

<p>
	and that shit was <em>smooth</em>, too. like, it almost seemed to play the game better than the pc version.
</p>

<p>
	after that, i was like "wow wtf how many other things have i been wrong about". 
</p>

<p>
	which brings us to mkxp. and this is going to be a little bit more abbreviated than i'd like because the forums ate my post. thanks forums!
</p>

<p>
	mkxp is an open-source player of RPG Maker games. it's also really difficult to get to work. i like to think i'm pretty good with computers, but trying to build it from source code required a level of technical knowledge that i did not have.
</p>

<p>
	but uranium has an mkxp port.
</p>

<p>
	so i just... borrowed the exe from there.
</p>

<p>
	and it almost worked! 
</p>

<p>
	after further struggles, i contacted the dev of the uranium port.
</p>

<p>
	now, after three weeks (oh my god it's been three weeks) of hair pulling, we have a mac port.
</p>

<p>
	it's been so long.
</p>

<p>
	 
</p>

<p>
	so the theme of 18.3 is performance. 18.2 had the AI updates; 18.3 will make the game go faster. i feel like everyone knows how sorely this is needed. if your hardware is even somewhat old, the game runs like ass. you know it. i know it. ame knows it. jan knows it.* everyone hates it.
</p>

<p>
	the star feature of 18.3 is the inclusion of the all new Game-z.exe. this is reborn's mkxp build. if you saw my previous dev [shit]post, you've seen a short preview of an early version. 
</p>

<p>
	but it does so much more than that.
</p>

<p>
	battles? smooth. speed up actually <em>works</em> there now. it's incredible.
</p>

<p>
	maps? smooth. we got full framerate in spinel while it was raining. the maps aren't <em>perfect</em> but god they're so much better.
</p>

<p>
	animations?
</p>

<p>
	oh boy.
</p>

<p>
	so, the animations in game-z were smooth, but because of some other issues we were having, a few internal changes made them lag <em>hard</em>.
</p>

<p>
	so i took a peek in the code.
</p>

<p>
	it turns out that essentials handles animations by loading the <em>entire file</em> and then picking a specific animation from that file.
</p>

<p>
	the file is 10MB.
</p>

<p>
	it loaded that for <em>every</em> animation.
</p>

<p>
	whose idea was that.
</p>

<p>
	this no longer happens. for both game <em>and</em> game-z. animations are now preloaded when you open up the game. that 1-2 seconds of lag that happens for every animation in battle? it happens once when you start, and never again.
</p>

<p>
	it's incredible. best coding work i've ever done, and it was only five lines.
</p>

<p>
	there is one other change: the game now uses one font. it is emerald. the game.exe fonts look downright awful on game-z.exe. instead of trying to find four new ones, we just have one, and it's what everything uses now.
</p>

<p>
	there are a few things i need to finish up before an open beta: getting the linux port to also work, and seeing if there are any other ways to speed up / shift around load times. i am hoping to finish this up this week and will throw up another devblog post / forum thread when it happens.
</p>

<p>
	Game.exe is the RMXP executable and is what 18.2 runs with. Game-z is the MKXP executable.
</p>

<p>
	we're including both game.exe and game-z.exe in 18.3 (and likely e19) in the event that people run into weird errors with game-z. kinda like how people run into weird errors with game.exe anyway! this way, <em>hopefully,</em> at least one of them will work for everyone.
</p>

<p>
	18.3 will also probably be the last mid-release update, with some minor changes to the release at best. i do not want to maintain two separate versions ever again. let my heart be free.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:10px;">*jan makes rejuv. if you haven't played it and are wondering what to do while you wait for e19, <a href="https://www.rebornevo.com/forums/topic/47347-rejuvenation-v12-death-of-one-birth-of-another/" rel="">go try it out</a></span>
</p>
]]></description><guid isPermaLink="false">53</guid><pubDate>Sun, 26 Apr 2020 11:28:50 +0000</pubDate></item><item><title>image.png</title><link>https://www.rebornevo.com/pr/development/records/imagepng-r33/</link><description><![CDATA[<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="48567" src="https://www.rebornevo.com/uploads/monthly_2018_12/image.png.0b6d878f66022fa58fa41bf4494dc240.png" alt="image.png.0b6d878f66022fa58fa41bf4494dc240.png" /></p>]]></description><guid isPermaLink="false">33</guid><pubDate>Thu, 13 Dec 2018 23:19:04 +0000</pubDate></item><item><title>What's Yours Is Mine</title><link>https://www.rebornevo.com/pr/development/records/whats-yours-is-mine-r36/</link><description><![CDATA[
<p>
	I'll just leave this here.
</p>

<p>
	<img alt="AUS6exj.png" class="ipsImage" height="750" src="https://i.imgur.com/AUS6exj.png" width="974" /></p>

<p>
	<img alt="pHKget8.png" class="ipsImage" height="603" src="https://i.imgur.com/pHKget8.png" width="782" /></p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">36</guid><pubDate>Thu, 21 Mar 2019 11:11:48 +0000</pubDate></item><item><title>Important Idea: Internally Inflicting Indignity</title><link>https://www.rebornevo.com/pr/development/records/important-idea-internally-inflicting-indignity-r41/</link><description><![CDATA[
<p>
	So as you may have seen from the previous Dev blog post, we've begun internally testing the E19 story just to make sure it's all up to standard before moving on fully with the mammoth that is postgame.
</p>

<p>
	 
</p>

<p>
	As such I have been playing through the story and testing it out, providing my thoughts and critiques along the way.
</p>

<p>
	 
</p>

<p>
	As we have known for the last... 4? 5? Episodes of Reborn, there is a PULSE Mr. Mime somewhere in Labradorra. So I think it's safe to say there's no spoiler in revealing this is something that is going to be fought.
</p>

<p>
	And so we figured, just to give you a taste of what is to come when we eventually do release the episode, we'll share the commentary I gave on that particular fight:
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;">' <span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">So here's my thoughts on the fight so far: </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">I knew the gimmick for this fight a long time in advance. </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">PULSE Mime is like the one aspect of E19 I know more about than anything else, I nominally helped with the design, I discussed the moveset and such with Ame, and I wrote the AI for it </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">And with all this foreknowledge </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">And with a team that (admittedly accidentally) has the tools to deal with it </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">I </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">Can do </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">fuck all </span></span>
</p>

<p>
	<span style="font-size:14px;"><span style="color:rgb(131,148,150);font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;float:none;">against this thing '</span></span>
</p>

<p>
	 
</p>

<p>
	That's all for today, I HoPE yOU aLl ArE SUfFerrINg LeSS tHan mE!
</p>
]]></description><guid isPermaLink="false">41</guid><pubDate>Fri, 28 Jun 2019 20:22:08 +0000</pubDate></item><item><title>"when's e19?"- a development update</title><link>https://www.rebornevo.com/pr/development/records/whens-e19-a-development-update-r65/</link><description><![CDATA[
<p>
	serious post.
</p>

<p>
	it's been a bit over a year since i wrote the post announcing postgame. it's been about two years since e18 came out. people have been wondering things like "is the game dead?" and "where's e19?". while these sorts of questions tend to be a little annoying when asked reasonably near an episode's release date, we've reached a time when they become appropriate, legitimate questions. so let's talk about what's going on.
</p>

<p>
	 
</p>

<p>
	the biggest thing is <strong>starlight</strong>. 
</p>

<p>
	for those of you who do not know, ame is currently also working on Starlight Divide, a tRPG that will be her next game after reborn is done. she is developing it <em>entirely</em> from scratch. development for it began basically right after the story for e19 was finished/functional and it has been continuing pretty much since then.
</p>

<p>
	developing from scratch is <i>hard.</i>
</p>

<p>
	fangame development has a few advantages in that the mechanics have been laid out by gamefreak (for better or for worse) and essentials offers a base set of tools to build games from (for better or for worse). in no way does this imply that developing quality content is <em>easy</em>, but it is still fairly simple to pick up some tools and get going.
</p>

<p>
	starlight does not have that. after being worked on for a year, it has <i>almost</i> approached the point of being playable. and <em>then</em> there's an entire game that needs to be made on top of it.
</p>

<p>
	 
</p>

<p>
	the reason starlight is an issue for e19 is because of <strong>timing</strong>.
</p>

<p>
	the original plan for development was something like: e19m -&gt; starlight -&gt; starlight demo release -&gt; e19p -&gt; e19 release.
</p>

<p>
	<span style="font-size:10px;">(i use e19m as shorthand for the main story and e19p as shorthand for postgame.)</span>
</p>

<p>
	this order was decided for a lot of reasons. there's general reborn burnout, ame wanted to start a new project, hiding from the big N (hi reggy thx 4 ur mercy), it provides some amount of project continuity, among other things.
</p>

<p>
	this order was decided a year ago. i'll just straight-up say that, in hindsight, this was a mistake. i don't think we were expecting the demo to take so long, nor did we account for the development pressure of working on two games concurrently. not releasing new content for two years is a bit anxiety-provoking.
</p>

<p>
	at this point, the starlight demo is probably going to be finished first, so realizing that the development plan was a mistake isn't going to result in it changing. this is basically just an explanation for why things have taken so long.
</p>

<p>
	 
</p>

<p>
	i also want to talk about <strong>progress bars</strong>.
</p>

<p>
	i've noticed that a lot of discussions about development (and this would also apply to rejuv and deso a bit as well) will occasionally include a mention of "the game is at X% and that means [something]!" in reborn's case, the thing that it "means" is that the game has hovered around 52% completion for a while and thus there has been no development on the game.
</p>

<p>
	that is not even remotely true.
</p>

<p>
	to be fair, i suspect that the people who assume there has been no development are also not reading anything i say here (including this! fuck.), but it also says something about what people think when they see the numbers on the little sidebar over there. ---&gt;
</p>

<p>
	<strong>the progress bar numbers are made up.</strong> 
</p>

<p>
	<span style="font-size:10px;">(by me, i should add.)</span>
</p>

<p>
	the point of the progress bars is to offer a condensed look at what we've done and what we plan to do. the X% of the bottom is there to give some kind of impression of what the overall progress looks like.
</p>

<p>
	<em>I</em> sure don't fuckin know what the overall progress looks like.
</p>

<p>
	the progress bars are basically calculated by me looking at various aspects of the game and going "eh, sure, this can be 3% of the total!" and then adding up all those shitty guesses i'm making.
</p>

<p>
	the problem then is that the bars are structured around what we <em>expect</em> to be working on- which usually involves game content.
</p>

<p>
	<em>none</em> of those guesses involved MKXP, or the massive, ridiculous amounts of code cleanup we've been doing. that number probably isn't even going to move until the starlight demo come out since ame tends to work on the game content. there's more stuff that we're planning to do in the future that i also already know won't be represented in the progress bars. the X% at the bottom is practically lying to you. 
</p>

<p>
	because of this, it's tempting to pull the bars down until reborn development picks up. in their current state, they're kind of a pain in the ass for everyone: i have to keep them up to date, they put pressure on the development team to overwork since there's a lot of stuff to do, and it makes everyone watching them impatient for the next release. (in fact, i think i just convinced myself that taking them down is a good idea and should probably be done.)
</p>

<p>
	 
</p>

<p>
	we know that there's a lot of people hyped up for e19, and so I really want to make it clear that we will be playing everything regarding its development <em>completely straight</em>. when development picks up again I will tell you. when we're going to start testing soon I will tell you. when we're planning to do a community release<em> I will tell you</em>.
</p>

<p>
	<span style="font-size:10px;">(or, well, someone will. i've taken point on a lot of this lately but it won't necessarily be me.)</span>
</p>

<p>
	 
</p>

<p>
	so, in the interests of transparency...
</p>

<p>
	<strong>gen 8</strong>
</p>

<p>
	<span style="font-size:10px;"><s>i hope i don't regret this</s></span>
</p>

<p>
	marcello wants to do it and i don't. that's the short version. the real version is a lot more complicated.
</p>

<p>
	will it be in e19? it is highly likely <strong>no.</strong> it'd involved redoing a lot of work that's been done on the game since e18 (much of which was done by me, hence my bias) and i think it'd be really putting way too much pressure on development/testing to implement it across the whole game. it'd also add on a lot of extra dev time to a release that is already massive. i say it's "highly likely no" because there are circumstances under which this may change, such as the current development slowdown stretching into next year and, thus, allowing some time for us to get everything implemented. the DLC may also influence this.
</p>

<p>
	will it come out after e19? <b>maybe!</b> it's still way too soon to talk about what happens after e19 since a lot can change between now and then, but I don't think there'd be any reason to avoid a DLC-esque update after the game is done. there's some other stuff we may want to do then, too (hard mode, maybe).
</p>

<p>
	 
</p>

<p>
	i feel like there's more that I need to say... but i'm basically out of things to say.
</p>

<p>
	in short, don't panic. we're working on it.
</p>
]]></description><guid isPermaLink="false">65</guid><pubDate>Tue, 25 Aug 2020 21:45:52 +0000</pubDate></item><item><title>Crappy Comrades? Poopy Partners? Dogshit Doubles?</title><link>https://www.rebornevo.com/pr/development/records/crappy-comrades-poopy-partners-dogshit-doubles-r48/</link><description><![CDATA[
<p>
	Preposterous! Not in my Reborn! Perish the thought!
</p>

<p>
	 
</p>

<p>
	G R E E T I N G S, Rebornians. Over the years I have carefully crafted Reborn's AI from the ground up (shoutout to ame who actually designed it tho, she the real mvp). With each episode the AI has only gotten smarter, and better at playing pokemon. In particular with the advent of 18.2, our AI has really stepped up it's game with some major bugfixes, outplaying you* so hard, it really makes you FEEL like you're a shit pokemon trainer.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:8px;">*by 'you' I mean me, I'm terrible at pokemon and the AI has consistently been better than me since like, E18, let alone 18.2</span>
</p>

<p>
	 
</p>

<p>
	And with the constant AI improvements, we are often asked 'Hey, how come the AI is so smart when battling me, but so garbage when it's my partner? Is this just designed that way to make the game harder?'
</p>

<p>
	 
</p>

<p>
	To which we say 'No, of course not! We don't believe in that kind of unfair game design, AI shouldn't cheat and we would never artificially dumb it down in situations where it should be helping the player!'
</p>

<p>
	 
</p>

<p>
	...on purpose.
</p>

<p>
	...We'd never do that on purpose.
</p>

<p>
	 
</p>

<p>
	So have you ever had an experience in Reborn where your AI partner has an all hitting move like, say, Earthquake, and uses it when it would KO your mon? Or doesn't use it when it would barely damage your mon and seriously hurt the opponent?
</p>

<p>
	Because in E18 we added code specifically to deal with that, and have your partners make smarter choices! And guess what? They still didn't make smart choices and we were sad.
</p>

<p>
	 
</p>

<p>
	So let me tell you a little something about loops. Loops are great. They let you check through a bunch of cases with only a single block of code!
</p>

<p>
	I could write 'for i in 1..4' to go through four different cases (funny that, just as many cases as a mon has moves!) with a single bit of code!
</p>

<p>
	 
</p>

<p>
	But do you know what is near i, both in the alphabet and on the keyboard? j.
</p>

<p>
	 
</p>

<p>
	And do you know what happens if you loop through i and accidentally type a j somewhere? Why, it checks whatever j is, which is probably something else from earlier in the code, nothing to do with poor old i.
</p>

<p>
	 
</p>

<p>
	And that can have the side effect of making AI real unpredictable. Like, for example, lets say your AI wants to use Earthquake. But part of the AI for that is to check how much damage it does to it's partner.
</p>

<p>
	But oh no, I typed a j instead of an i in that check? So instead of checking how much damage Earthquake would do, it checks another move. Could be any of them. Like say, a status move. So it'll think no damage. And Earthquake away no matter how hard that'll hurt your mon. Oops.
</p>

<p>
	 
</p>

<p>
	But now this is fixed. We have officially cancelled j. Except for like, the places it's meant to be. In those places we've cancelled i. So for E19, you can finally look forward to the partner AI being just as smart as the opponent AI! Hopefully that should make some of the paired fights in the game a lot easier.
</p>

<p>
	 
</p>

<p>
	...
</p>

<p>
	...
</p>

<p>
	...
</p>

<p>
	 
</p>

<p>
	Eeeeeeexcept the fact that this cuts both ways. The AI is also now much better at being a partner, regardless of which side it is on,, so this fix will also mean that AIs will act a lot smarter about not sacking their own mons in doubles so like... Y'know, have fun with the AI being better in literally every double battle in the entire game! <img src="https://twemoji.maxcdn.com/2/72x72/2764.png" class="ipsEmoji" alt="❤️"><img src="https://twemoji.maxcdn.com/2/72x72/2764.png" class="ipsEmoji" alt="❤️"><img src="https://twemoji.maxcdn.com/2/72x72/2764.png" class="ipsEmoji" alt="❤️"></p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Of course, this wouldn't be a devblog post without at least a LITTLE teaser for E19. And sure, I've told you about an AI update that it will bring but, because I'm such a great guy, you can have a little more. So I leave you with a screenshot of some actual dialogue from E19 with no context... I wonder what character would say this? <img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"></p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="58562" data-ratio="17.87" width="890" alt="image.png.cdc953edcd16ba614c67c45ceddcfc79.png" src="https://www.rebornevo.com/uploads/monthly_2020_02/image.png.cdc953edcd16ba614c67c45ceddcfc79.png" /></p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">48</guid><pubDate>Fri, 07 Feb 2020 03:52:22 +0000</pubDate></item><item><title>optimization o'clock</title><link>https://www.rebornevo.com/pr/development/records/optimization-oclock-r57/</link><description><![CDATA[
<p>
	good morning.
</p>

<p>
	let's talk optimizations.
</p>

<p>
	we all know that essentials is, uh, slow. in fact, it's so slow, that 18.4 isn't even the first release to be at least partially based on making it faster.
</p>

<p>
	what is difficult to overstate is just the sheer extent to which this is not necessary.
</p>

<p>
	everyone who makes the game knows this.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="81.16" height="491" width="605" src="https://cdn.discordapp.com/attachments/467856724234338306/718002456340070400/unknown.png"></p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="67.16" height="409" width="609" src="https://cdn.discordapp.com/attachments/467856724234338306/720735129764495410/unknown.png"></p>

<p>
	<img alt="44thg0.png" class="ipsImage" data-ratio="89.93" height="500" width="556" src="https://cdn.discordapp.com/attachments/467856724234338306/720737507653976064/44thg0.png"></p>

<p>
	that second meme was a big enough deal that it got me to make another release. after everything i've been through. it was just such a big speedup that keeping it to just the devs actively felt bad.
</p>

<p>
	so let's do storytime.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:18px;"><u>Event Optimizing</u></span>
</p>

<p>
	this is the real basic stuff. in-game events on the map (trainers, doors, anything that results in a change to the map as a result of some kind of interaction) are easily the biggest sources of lag. you can tell what maps have a large number of events simply based on how slowly the map runs. calcenon Gym is my baseline for how laggy the game is simply because of the sheer event density on that map. so a few months ago, when all this optimization shit started, it began by seeing what events were unnecessary and could simply be condensed to a smaller number without resulting in any changes to the overall gameplay. 
</p>

<p>
	an excellent example of this is spinel.
</p>

<p>
	every disappearance in spinel takes up some quantity of events. originally this was done with one event per tile that changed as a result of one teleport.
</p>

<p>
	take the pokemart. here's how it disappears in 18.4:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61188" data-ratio="100.00" data-unique="1fcc6dq8c" width="234" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.52a4d6176f1e7621e914bab2da86b82f.png"></p>

<p>
	the pokemart uses 16 events to disappear.
</p>

<p>
	here's how it is in e19: 
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61189" data-ratio="103.20" data-unique="lb8t8i3bo" width="219" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.61a23d143a1a273520c5f29e5f08f382.png"></p>

<p>
	three! one for the graphic, and two to trigger the change if you touch them. the entire graphic is just moved into the one event.
</p>

<p>
	some areas will definitely be faster because of this, but the downside of this sort of optimization is that it's limited to the areas that have been checked over- and we really have a <em>lot</em> of places that would need to be checked. 
</p>

<p>
	which leads me to
</p>

<p>
	 
</p>

<p>
	<span style="font-size:18px;"><u>Script Optimizing</u></span>
</p>

<p>
	we've known that there's bloat in the scripts for a while, but the script-side of things is so obscenely large that it'd take ages to find anything to fix that has any sort of impact on actual gameplay.
</p>

<p>
	and then: toothpastefairy.
</p>

<p>
	toothpastefairy is our newest, freshest dev. i've mentioned him before as the person behind the battle factory- y'know, the thing that we literally did not expect to happen. this was <em>before</em> he joined the team, too. the sheer number of bugs on our to-do list was enough for him to be promoted from honorary dev to actual real life dev<img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️">. since then we've been getting shit done left and right. bugs getting squished. memes gettin made.
</p>

<p>
	then, one day, he comes in with this.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="52.85" height="260" width="492" src="https://media.discordapp.net/attachments/467856724234338306/720164069385961482/unknown.png"></p>

<p>
	i hooked up the profiler for myself, and we just went to <em>town </em>on this shit.
</p>

<p>
	here's some of what we've got.
</p>

<p>
	 
</p>

<p>
	<u>Quad-calcing the terrain tag</u>
</p>

<p>
	the above snippet of code is used to determine whether or not a sprite would reflect off the tile in front of it. in doing so, it grabbed the terrain tag four separate times- which is, itself, a time consuming process. fixing this was as easy as assigning the output to a variable and then using the variable for the comparison.
</p>

<p>
	 
</p>

<p>
	<u>is this a map?</u>
</p>

<p>
	the terrain tag checking process itself involves taking the coordinates of a tile on the map and shuffling through every layer until you hit one that correctly has a tag.
</p>

<p>
	however, it also includes this.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61191" data-ratio="26.14" data-unique="5zn466na8" style="" width="153" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.f87b26a78dbf792d4b221c7529ca73f3.png"></p>

<p>
	are you on a map?
</p>

<p>
	of course you are. you're playing the game.
</p>

<p>
	this was removed.
</p>

<p>
	 
</p>

<p>
	<u>128*4</u>
</p>

<p>
	so we know that 128*4 = 512 because we can do math.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61192" data-ratio="15.56" data-unique="x9zbqk6cz" style="" width="135" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.de5a5a39f122b48276b6104533093c47.png"></p>

<p>
	the in_range? function calculates it again just in case.
</p>

<p>
	and it does so four times.
</p>

<p>
	and is one of the most frequently called functions in the entire scripts.
</p>

<p>
	why.
</p>

<p>
	this was changed to 512.
</p>

<p>
	 
</p>

<p>
	<u>is this a control?</u>
</p>

<p>
	every frame, the game processes whether or not you have a button pressed down. it does so using a process along the lines of this:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61193" data-ratio="18.80" data-unique="t5gdl18td" style="" width="133" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.c1629d30c8700c7ef0e977ebc9025de9.png"></p>

<p>
	here's the thing. there aren't 256 keys on the keyboard. we barely even have half of that. 
</p>

<p>
	this was carved into three separate sections that go through the keys that actually exist.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><u>the one line change</u></strong></span>
</p>

<p>
	this is the big one.
</p>

<p>
	*breathes
</p>

<p>
	okay.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61194" data-ratio="10.40" data-unique="ikby677bq" style="" width="577" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.b0aeb3e385f991be0cc9849e18040ff3.png"></p>

<p>
	so let's talk about what this does.
</p>

<p>
	essentials uses a function to determine whether or not a sprite should have a reflection.
</p>

<p>
	this conditional is what essentials uses to add sprites to the list of sprites that should be reflected.
</p>

<p>
	under normal circumstances, this is determined by whether the event itself specifically says it is <em>not</em> to be reflected. essentials will assume that all sprites should be reflected unless they are explicitly told not to.
</p>

<p>
	the issue here is that we literally have <em>thousands</em> of events. no one is ever going to put /noreflect/ on every single one of them
</p>

<p>
	so instead, the new code checks one thing and one thing only: whether the player is currently in serra's gym (map 506).
</p>

<p>
	do you know what's easier than quad-calcing the terrain tag?
</p>

<p>
	literally never calling that function at all.
</p>

<p>
	we've been working up a storm over at Not GameFreak HQ<img src="https://twemoji.maxcdn.com/2/72x72/2122.png" class="ipsEmoji" alt="™️"> with patching things up left and right
</p>

<p>
	but it is truly difficult to overstate exactly how huge of a change this is.
</p>

<p>
	every single event in the game used to go through this giant function, and now it doesn't.
</p>

<p>
	the change was so freakishly huge, it dropped the frame time reported by the profiler by over 60%.
</p>

<p>
	now granted the profiler isn't exactly the best at calculating the total time spent on individual functions... but look at the sheer size of that drop for such a minor change. it was inspirational- so much so that<em> i put out another update. </em>after everything i've been through. my computer crashed twice. i had to rebuild my mac vm. but we did it. it's here.
</p>

<p>
	it's worth noting that 18.4 only includes the one line change right now. it's small enough that it doesn't need to be tested in advance. anything else and i'm worried some weird aspect of this engine will just make everything break completely. 
</p>

<p>
	but you bet your ass this shit'll be in e19.
</p>
]]></description><guid isPermaLink="false">57</guid><pubDate>Sat, 13 Jun 2020 02:51:18 +0000</pubDate></item><item><title>title required</title><link>https://www.rebornevo.com/pr/development/records/title-required-r46/</link><description><![CDATA[
<p>
	we have a functioning site. probably. maybe? whatever. you should be able to stay logged in while visiting this page <em>and</em> you can like and subscribe to posts.
</p>

<p>
	<span style="font-size:8px;">feed me i need attention plz gib</span>
</p>

<p>
	to celebrate this momentous occasion, i would like to offer you proof that we haven't just been working on nothing all this time.
</p>

<p>
	<img alt="Screenshot_3.png" class="ipsImage ipsImage_thumbnailed" data-fileid="58414" data-ratio="75.00" data-unique="37bzwe5pj" width="512" src="https://www.rebornevo.com/uploads/monthly_2020_01/Screenshot_3.png.aded0065517ea716c9b8fa948f320763.png"></p>

<p>
	oh my! it's a picture! but what could it be a picture of????? who knows????!!?!??!?!?!?
</p>
]]></description><guid isPermaLink="false">46</guid><pubDate>Sun, 26 Jan 2020 10:59:22 +0000</pubDate></item><item><title>a typical day in teambuilding</title><link>https://www.rebornevo.com/pr/development/records/a-typical-day-in-teambuilding-r47/</link><description><![CDATA[<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="58502" data-ratio="66.18" data-unique="v1eecxbt4" width="680" alt="unknown.png" src="https://www.rebornevo.com/uploads/monthly_2020_02/unknown.png.6fa1d3f53f9cebba740851174778a6ac.png"></p>]]></description><guid isPermaLink="false">47</guid><pubDate>Sat, 01 Feb 2020 12:15:06 +0000</pubDate></item><item><title>What changed to speed up development?</title><link>https://www.rebornevo.com/pr/development/records/what-changed-to-speed-up-development-r30/</link><description><![CDATA[
<p>
	ok so over in the <a href="https://www.rebornevo.com/index.php?/topic/31945-x-hype-e18-dev-discussion-thread/" rel="">X% thread</a> Burning Ocean commented on how development pace has picked up recently, and was asking why. 
</p>

<p>
	 
</p>

<p>
	it's a good question, considering that we basically went from nothing for months/weeks and now we're back to a % every few days. there's basically two and a three half reasons:
</p>

<p>
	 
</p>

<ul>
<li>
		<strong>Walpurgis is a good person</strong>.<br>
		those of you who know her from the bug/troubleshooting section probably already know that. what fewer people know is that we ended up taking her from bug reporting to bug fixing. instead of just fixing save files, she's not fixing the game. what an actual hero. we have her helping out with the scripts after Marcello and Kuro taught her how to mingle with 'em, which has freed Marcello up to focus solely on AI without having to worry about the pile of outstanding battle system errors. Also Marcello finished his school term. so that helps too.
	</li>
	<li>
		<strong>Kanaya is also a good person,</strong><br>
		but the difference is not as many people already knew that, and she'd probably gripe at me for saying that she is ;D. Previously just helping out with mapping, I've also been teaching kanaya to handle events and I've given her a solid handful of the sidequests to do for the episode. like walpurgis with marcello, that freed me up to focus solely on the story (and other bits) which meant i could cut through those pretty quickly. at this point sidequests are all that's left so i'm going back to them a bit, but it was super helpful to have other hands on it in the meantime regardless. this is the first time i've ever actually had other people working directly on adding the game's content so it's a pretty big step for me. and also promising for future endeavors.
	</li>
	<li>
		<strong>buh.</strong><br>
		the other three half reasons all have to do with me and my home life. more active users might know that dan moved in with me around february, and that was fine at first. however, as time went on there was some conflict around his schedule and financial stability. his schedule being janked meant he was here a lot of the time, and i quickly discovered it's near impossible for me to focus on writing with someone else around. story is usually the quickest part of development because i get super motivated for it and just hole myself up for a few days and slam it all out. but with everything going on and him always being around, i couldn't really do that. also, when one isn't sure what their living situation will be like in two weeks or two days, productive energy tends to take a hit. also also this episode had more than normal in the way of story stuff to do in the first place, so that was unlucky.<br>
		so the three half reasons we suddenly sped up are because basically:
		<ul>
<li>
				conflict/financial/schedule stuff at home finally seems to have worked out, so no more issues swarming around
			</li>
			<li>
				i got over myself and learned to actually ask for time when i needed it even if he was around, something i didn't feel able to do in the past because i'm bad at people
			</li>
			<li>
				and very shortly after either of those things happened, i finished the story anyway making it all a non-issue
			</li>
		</ul>
</li>
</ul>
<p>
	 
</p>

<p>
	so, here's what's left to do for the episode:
</p>

<ul>
<li>
		small AI piece concerning partners using moves on their allies (i.e instruct, pollen puff, etc)
	</li>
	<li>
		some other outstanding AI improvements/bugs based on E17 performance
	</li>
	<li>
		like 2 squests (the objectively better name for sidequests)
	</li>
	<li>
		some trainer battles
	</li>
	<li>
		bugfixing
	</li>
</ul>
<p>
	 
</p>

<p>
	remember, the misc updates progress bar is not real.
</p>

<p>
	 
</p>

<p>
	we'll start supervised testing once probably like all but the first bullet point are hit, since that's pretty minor. my hope is that that will be within the next two weeks, but don't take that as an expectation.<br>
	wish us smooth sailing and few buggos. 
</p>
]]></description><guid isPermaLink="false">30</guid><pubDate>Wed, 27 Jun 2018 08:22:24 +0000</pubDate></item><item><title>LOL random XD</title><link>https://www.rebornevo.com/pr/development/records/lol-random-xd-r51/</link><description><![CDATA[
<p>
	hey. how are y'all doing out there?
</p>

<p>
	like it kinda feels like stuff is falling apart in general a bit harder than it usually does.
</p>

<p>
	i'm still kind of adjusting to the new world of videochatting everything all the time.
</p>

<p>
	so ame and i, independently of each other, had an idea the other day.
</p>

<p>
	everyone's probably looking for something to do at home....
</p>

<p>
	and we <em>have</em> a randomizer....
</p>

<p>
	why not put it out there?
</p>

<p>
	 
</p>

<p>
	so hi guys, we have a randomizer. it's in testing right now. ame and i are going to do a test stream tomorrow (3p MDT, 12 hours from now) on twitch. come watch! if everything goes well, we'll pretty much put it out that night.
</p>

<p>
	this randomizer is in a patch! you just take your freshest e18.2 (or maybe an earlier release? i don't actually know if those work or not) and you slap in those hot new patch files. then: bam, you have a randomizer! 
</p>

<p>
	technically he's a guy in the starter room that you talk to. 
</p>

<p>
	but there's a randomizer! hope y'all have fun!
</p>

<p>
	 
</p>

<p>
	anyway. this is still also a dev blog, and i do like explaining things, so here's how it works.
</p>

<p>
	*ahem
</p>

<p>
	so, first of all, right now the randomizer only affects pokemon and moves, and they affect each on a 1 to 1 basis: if mudkip is randomized to mewtwo, mudkip is <em>always</em> mewtwo. the same thing goes for moves. to make this work, the randomizer guy pops out three numbers. one is the base number, and two are the modifiers. the base number is what determines where you start; the modifiers determine the order of the mons/moves that come after that.
</p>

<p>
	for example, if i get 5 as a base and 2 as a modifier, then bulbasaur would become charmeleon, ivysaur would become squirtle, venusaur would become blastoise, and so on. when the total hits 805, the counter loops back around. moves basically work the same way.
</p>

<p>
	and that's, uh, basically it. we just scatter that formula throughout the code. cry every time it breaks something. the usual!
</p>

<p>
	 
</p>

<p>
	you can grab the patch here: 
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="71960" data-embedcontent="" data-embedid="embed4474121642" scrolling="no" src="https://www.rebornevo.com/forums/topic/50862-randomizer-download1/?do=embed" style="overflow: hidden; height: 391px; max-width: 500px;"></iframe>

<p>
	 
</p>
]]></description><guid isPermaLink="false">51</guid><pubDate>Thu, 19 Mar 2020 09:17:30 +0000</pubDate></item><item><title><![CDATA[optimization o'clock part 2 electric boogaloo revengeance & knuckles.8 final mix director's cut golden edition for Wii U]]></title><link>https://www.rebornevo.com/pr/development/records/optimization-oclock-part-2-electric-boogaloo-revengeance-knuckles8-final-mix-directors-cut-golden-edition-for-wii-u-r58/</link><description><![CDATA[
<p>
	so apparently it's been a week since last post???? and i didn't even notice. 
</p>

<p>
	anyway the bois n i have been at this coding shit and it's all like dam gurl so fast like wo
</p>

<p>
	 
</p>

<p>
	lemme show u a sample of what we got.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><strong><u>Zoom</u></strong></span>
</p>

<p>
	so let's start off with an easy one
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="61349" data-ratio="32.11" data-unique="iri8gbs2m" width="380" alt="image.png" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.ef94986bb2dc91b3c0e432d731e54e30.png"></p>

<p>
	this code is parked at the end of the script that updates every single event that has a sprite. each of these lines calls a function that calculates a lot of data about where the event is relative to you, and how zoomed in its sprite should be.
</p>

<p>
	i'm mostly interested in the zoom lines.
</p>

<p>
	now, TILEWIDTH and TILEHEIGHT are both defined variables. their purpose is kind of obvious. both of them have set values since the tile size doesn't change when you're in game.
</p>

<p>
	let me show you those values.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="61350" data-ratio="62.82" data-unique="581u0dgxa" width="156" alt="image.png" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.8e48ae57a466cd5654e10103323f8adb.png"></p>

<p>
	now, class.
</p>

<p>
	could someone please tell me what you get when you divide either of the two tilesize variables by 32?
</p>

<p>
	anyone?
</p>

<p>
	essentials?
</p>

<p>
	here's what the code looks like now.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="61351" data-ratio="36.46" data-unique="jv6hw7kb5" width="181" alt="image.png" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.5eec306313107ee6fb7c2c7146e5393b.png"></p>

<p>
	better.
</p>

<p>
	this probably doesn't look like that substantive of a change, and, yes, compared to the sheer number of calculations that need to be done per frame, this is kind of a drop in the bucket. to this, i counter:
</p>

<p>
	- this keeps two functions from being called <em>per</em> event <em>per</em> frame. if you're in, say, charlotte's gym, these functions would get called a grand total of 9,120 times <em>each every <strong>second</strong></em>
</p>

<p>
	- it's <em>literally just one</em> 
</p>

<p>
	- it doesn't even <em>do </em>anything
</p>

<p>
	- it's just like "oh hey let's change the zoom from 1 to *shuffles notes um, 1" which is literally not even a <em>thing</em>
</p>

<p>
	 
</p>

<p>
	which leads me to
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><u><strong>Math</strong></u></span>
</p>

<p>
	if you read through my entire last post (thx btw!) you'll remember that i was very tilted by the fact that essentials calculated the value of 128*4 a grand total of 8 times per event per frame via the in_range? function (which i'll be coming back to!). so, 72,960 times per second in charlotte's gym.
</p>

<p>
	this was not necessary. it was never necessary. it filled my heart with despair and my soul with rage.
</p>

<p>
	well.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="100.00" height="611" width="611" src="https://cdn.discordapp.com/attachments/467856724234338306/723812294928105472/unknown.png"></p>

<p>
	WE GOT A WHOLE LOT MORE WHERE THAT CAME FROM
</p>

<p>
	 
</p>

<p>
	Weather Updates!
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="61352" data-ratio="76.59" data-unique="ktnxgra1e" style="" width="487" alt="image.png" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.3fecbccd666b8a3705070140709a8d57.png"></p>

<p>
	the snow and sandstorm lines <em>hurt</em> me. <em>why </em>would you have the thing multiply something by two and then divide by four. why not just divide by two? better yet, why not just set them all to the same value in the first place and then drop the value in there? this isn't even nearly as big of an issue as the 128*4 thing but it just <em>bugs</em> me.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="61353" data-ratio="9.15" data-unique="790rrde3o" style="" width="579" alt="image.png" src="https://www.rebornevo.com/uploads/monthly_2020_06/image.png.eecc561e2b6b05eb17fc43f74d2f2b47.png"></p>

<p>
	you can't even see the whole time because rmxp's script editor is ass, but i think you can get the idea here: all this does is multiply a bunch of shit together that doesn't need to be multiplied, and it gets called thousands of times every second.
</p>

<p>
	it doesn't have to be this way.
</p>

<p>
	i could go on, but like, do you <em>really</em> want to see me complain about math more? no, you don't. suffice it to say that about half the time i see a function is running absurdly often or absurdly long, it tends to be doing a whole bunch of stupid math. it offends my sense of justice.
</p>

<p>
	 
</p>

<p>
	<strong><u><span style="font-size:16px;">are you SURE you're in range??</span></u></strong>
</p>

<p>
	<span style="font-size:14px;">this one i particularly wanted to include in the event that you also happen to make these games and are particularly interested in some shit that can help speed things up.</span>
</p>

<p>
	<span style="font-size:14px;">good news!</span>
</p>

<p>
	this is some easy shit that you can just grab for yourself.
</p>

<p>
	nearly every single aspect of the code that affects the overworld operates through one central script: the Scene_Map update function. nearly every aspect of your entire gaming experience has some sort of roots in that single function. it pushes all the overworld processing to two separate scripts: Game_Map which deals with the mechanics of the map itself (where events are, what maps are connected to it, etc) and Spriteset_Map, which handles everything you see on your screen. essentials comes with some helpful anti-lag scripts that use the in_range? function and the event trigger to determine if an event actually needs to be updated. it's actually helpful! it saves some time updating events that literally do not matter.
</p>

<p>
	here's the thing.
</p>

<p>
	despite the fact that the two major functions handle a lot of the same objects, they don't coordinate with each other at all. that leads to a lot of duplicated calculations.
</p>

<p>
	but there's a fix for that!
</p>

<p>
	in game_event:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="40.37" height="132" width="327" src="https://cdn.discordapp.com/attachments/467856724234338306/722375760458809374/unknown.png"></p>

<p>
	in game_map:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="25.93" height="139" width="536" src="https://cdn.discordapp.com/attachments/467856724234338306/722376299968069632/unknown.png"></p>

<p>
	in spriteset_map:
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="42.71" height="161" width="377" src="https://cdn.discordapp.com/attachments/467856724234338306/722376543518588968/unknown.png"></p>

<p>
	and boom. ur game already goes at the speed of zoom.
</p>

<p>
	 
</p>

<p>
	<u><strong>is this a deep bush?</strong></u>
</p>

<p>
	<span style="font-size:14px;">this is gonna be a short one because i'm getting tired.</span>
</p>

<p>
	i've mentioned functions that run on a per event per frame basis. what this basically means is that the code runs for <em>every</em> event on the map <i>regardless</i> of what is, every single frame of the game. these functions are the core of why some places simply lag to hell: the game is updating so much shit that your computer- even with the hippest, hoppest, newest CPUs- can't keep up (<em>especially</em> on speedup). the reason that 18.4 was such a huge improvement is because it took a massive chunk of those updates and <em><strong>yeeted</strong></em> them.
</p>

<p>
	well, i'd now like to give you part 2: bush edition.
</p>

<p>
	when something is in a bush in pokemon, it looks different. we all know this. when something is in a <strong>big</strong> bush, it looks <strong>big</strong> different.
</p>

<p>
	but in reborn, <em>nothing</em> is in a big bush- except for you.
</p>

<p>
	so we just 
</p>

<p>
	yeeted the code that dealt with that!
</p>

<p>
	and wow is it faster.
</p>

<p>
	you can even <a href="https://www.rebornevo.com/downloads/18.4.1.zip" rel="">see for yourself!</a>
</p>

<p>
	(i've updated the patch on the downloads page, too, but not the main downloads. it's not worth that level of effort.)
</p>

<p>
	 
</p>

<p>
	anyway. trying not to pass out on my keyboard.
</p>

<p>
	there's still a lot of fixes i haven't mentioned that will be in e19 and just require more testing before i let them out into the wild.
</p>

<p>
	but that patch has some fancy new in_range functions along with it.
</p>

<p>
	<span style="font-size:10px;"><s>if it breaks someone's game i will cry.</s></span>
</p>
]]></description><guid isPermaLink="false">58</guid><pubDate>Sat, 20 Jun 2020 10:47:02 +0000</pubDate></item><item><title>Unleasing the Psychic Terrain!</title><link>https://www.rebornevo.com/pr/development/records/unleasing-the-psychic-terrain-r15/</link><description><![CDATA[
<p>
	"These are the last field effects," a starry-eyed and bushy-tailed young ame once gleefully announced amidst the drag of E16 development, "I get to be done with them after this!"
</p>

<p>
	 
</p>

<p>
	ha ha ha ha ha
</p>

<p>
	Nevertheless, with 7th generation has come Psychic Terrain, and so! with E17 shall it come too. Check below to see just <em>how weird</em> this field can get!
</p>

<p>
	 
</p>

<p>
	<img alt="b92208b6c252453dbfda70aa3a0dbfd7.png" class="ipsImage" src="http://image.prntscr.com/image/b92208b6c252453dbfda70aa3a0dbfd7.png"></p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		 
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<p>
			"The field became mysterious!"
		</p>

		<ul>
<li>
				Priority attacks fail on grounded Pokemon
			</li>
			<li>
				Grounded Pokemon's Psychic attacks deal x1.5 increased damage
			</li>
			<li>
				Created by Psychic Terrain, Psychic Surge and Genesis Super Nova
			</li>
			<li>
				These moves increase in base power x1.5:
				<ul>
<li>
						Hex        
					</li>
					<li>
						Magical Leaf    
					</li>
					<li>
						Mystical Fire         
					</li>
					<li>
						Moonblast    
					</li>
					<li>
						Aura Sphere
					</li>
				</ul>
</li>
			<li>
				Pure Power doubles Sp.Atk instead of Atk
			</li>
			<li>
				Anticipation boosts Sp.Atk on switch in
			</li>
			<li>
				Telepathy Pokemon's Speed doubles
			</li>
			<li>
				The effect of the following stat-altering moves is increased:
				<ul>
<li>
						Nasty Plot        
					</li>
					<li>
						Calm Mind        
					</li>
					<li>
						Comsic Power    
					</li>
					<li>
						Meditate
					</li>
					<li>
						Kinesis
					</li>
				</ul>
</li>
			<li>
				Psych Up, Meditate, Mind Reader and Miracle Eye additionally boost Sp.Atk two stages on use
			</li>
			<li>
				Hypnosis' accuracy is increased to 90
			</li>
			<li>
				Kinesis additionally lowers its target's Attack and Sp.Atk two stages
			</li>
			<li>
				Telekinesis additional lowers its target's Defense and Sp.Def two stages
			</li>
			<li>
				Gravity, Trick Room, Magic Room and Wonder Room last 8 turns
			</li>
			<li>
				Shattered Psyche additionally confuses its target
			</li>
			<li>
				Secret Power may confuse its target
			</li>
			<li>
				Nature Power becomes Psychic
			</li>
			<li>
				Camouflage becomes Psychic
			</li>
			<li>
				Magical Seed boosts Sp.Def and Sp.Atk and confuses the user    
			</li>
		</ul>
<p>
			 <br>
			 
		</p>
	</div>
</div>
]]></description><guid isPermaLink="false">15</guid><pubDate>Sat, 01 Apr 2017 21:19:05 +0000</pubDate></item><item><title>15 days is close enough, ok?</title><link>https://www.rebornevo.com/pr/development/records/15-days-is-close-enough-ok-r18/</link><description><![CDATA[
<p>
	hello! check that out! bi-weekly! what a concept!
</p>

<p>
	 
</p>

<p>
	so my mapping is done, y'all. a glance to the right will show you that mapping on the whole is only at 85% but that remaining 15% is being taken care of by the generous mappers i introduced last time. they're so sweet. in my last post i mentioned i still had one more area to do-- and it is done. it was done in a 24 hour frenzy of motivation while listening to Melodrama on loop probably about fifty gabillion times. and it is great.
</p>

<p>
	<s>its also gonna have a few hundred passability errors<br>
	details.</s>
</p>

<p>
	on the whole i really like how the new areas in E17 have come out. i hope you will all have as much fun exploring them as i did making them!*<br>
	 
</p>

<p>
	*this does not include the desert. although it had its moments, it was often not very fun to make. please have more fun exploring it than i did making it. please.<br>
	also i would like to never see a sand tile again, js.
</p>

<p>
	 
</p>

<p>
	anyway! we move into eventing next, but first we're making a pit-stop in the past. now that the desert map is done, i'll be redoing the intro. from day 1, i had wanted to show the player riding in through the desert on the train to grandview station, but as it turns out it's a little bit difficult to do that when you don't have a desert map to ride in on. therefore i'd planned for a long time to add that in when i did finally get tourmaline mapped. while i'm at it, i'm actually changing the intro completely (up to the point of station explosion). since it's literally the first part of the game and wouldn't be a spoiler, i will probably make and post a video of it when it is finished. <br>
	the intro is not being accounted for in the eventing % though; it will be in the Misc Updates section, and is in fact the main item there.
</p>

<p>
	 
</p>

<p>
	more soon. &lt;3
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">18</guid><pubDate>Thu, 06 Jul 2017 23:22:28 +0000</pubDate></item><item><title>Status Report and Mining Update</title><link>https://www.rebornevo.com/pr/development/records/status-report-and-mining-update-r43/</link><description><![CDATA[
<p>
	<s><span style="font-size:8px;">no one got my monaco pun last time so no jokes in the title</span></s>
</p>

<p>
	hi nerds. it is i.
</p>

<p>
	a lot of you have been asking questions. questions like "is ame ok?" and "when's e19 coming out?" and "why hasn't there been a post in a while?" and "will gen 8 be in reborn?". 
</p>

<p>
	i can help.
</p>

<p>
	Q: Is Ame okay?<br />
	A: yes.
</p>

<p>
	Q: When's e19 coming out?<br />
	A: eventually.
</p>

<p>
	Q: Why hasn't there been a post in a while?<br />
	A: because the thing i actually want to talk about is battle tower, buuuuuuut it's kinda mind-numbing, so, like, maybe next month.
</p>

<p>
	Q: Will Gen 8 be in Reborn?
</p>

<p>
	A: ...look we gotta release e19 <em>someday. </em>
</p>

<p>
	 
</p>

<p>
	...maybe i should go into the first two questions a little bit more.
</p>

<p>
	Q: Is Ame okay?
</p>

<p>
	ame is doing okay! she is made of pain, as one might expect from someone recovering from surgery, but she is definitely getting better. she can almost sit!
</p>

<p>
	Q: When's e19 coming out?
</p>

<p>
	e19 is gonna come out... when it does.
</p>

<p>
	i realize that i have now given the same answer twice, so let me explain.
</p>

<p>
	currently, the limiting factor on postgame is ame and i. we gotta make a whole postgame that is, like, actually fleshed out! and thoughtful! and <em>boy</em> that takes some effort.
</p>

<p>
	now, you might ask, "but cass. the dog quests were basically finished in, like, a day! the rest of postgame can't take <em>that</em> long, can it?" to which i say <em>au countraire, dear reader</em> (in a radiant demonstration of my ability to google what french worlds mean). 
</p>

<p>
	you see, we have only done early postgame. we haven't gotten to <em>real</em> postgame yet. early postgame is a bit less-involved compared to the stuff that is yet to come. and when it comes to late postgame, ame and I are currently made of busy. if ame were not dealing with the whole "surgery ow everything hurts" thing, she would be dealing with Starlight, which i'm gathering she'd really much rather work on. meanwhile, i have grad school. which is, itself, basically surgery. 
</p>

<p>
	once she has a starlight demo out, we will be <em>flying.</em> probably. until then, quest stuff's gonna be a little slow.
</p>

<p>
	 
</p>

<p>
	in the meantime, though, i have some other mechanics updates! with a small amount of math.
</p>

<p>
	kay, so, y'all know that mining thing? y'know, the infinite source of oval stones and iron balls?
</p>

<p>
	well.
</p>

<p>
	In a previous post, I vaguely hinted at the existence of new items by literally showing you pictures of them existing. well, there are new items! they're the evolution stones from the later gens. now you'll be able to get hot new items right after you beat shade. 
</p>

<p>
	but wait, that's not all! i also took the opportunity to rebalance the item appearance rates.
</p>

<p>
	you see, originally, the chance of finding a certain item was:
</p>

<p>
	<span style="color:#ecf0f1;">(drop chance) / 2924</span>
</p>

<p>
	2924 is a stupid number. anything involving the number 2924 become stupid as well. thus, this original drop chance formula is <em>mega</em> stupid.
</p>

<p>
	so i fixed it. that bottom number is 500 now. 
</p>

<p>
	here's how the item odds look after the tweaks:
</p>

<p>
	 
</p>

<p>
	Mining Probability Changes e18 &gt; e19:<br />
	Type Plates: 0.34% &gt; 0.4% (per plate)
</p>

<p>
	Dome Fossil: 0.27% &gt; 0.8%<br />
	Root Fossil: 0.27% &gt; 0.8%<br />
	Claw Fossil: 0.27% &gt; 0.8%<br />
	Skull Fossil: 0.27% &gt; 0.8%<br />
	Armor Fossil: 0.27% &gt; 0.8%<br />
	Helix Fossil: 0.55% &gt; 1.2%
</p>

<p>
	Fire Stone: 0.68% &gt; 1.2%<br />
	Water Stone: 0.68% &gt; 1.2%<br />
	Thunder Stone: 0.68% &gt; 1.2%<br />
	Leaf Stone: 0.68% &gt; 1.2%<br />
	Moon Stone: 0.68% &gt; 1.2%<br />
	Sun Stone: 0.68% &gt; 1.2%<br />
	Dusk Stone: 0% &gt; 1.2%<br />
	Ice Stone: 0% &gt; 1.2%<br />
	Dawn Stone: 0% &gt; 1.2%<br />
	Shiny Stone: 0%&gt; 1.2%<br />
	Oval Stone: 5.13% &gt; 2%
</p>

<p>
	Star Piece: 3.42% &gt; 3%<br />
	Rare Bone: 3.42% &gt; 2%<br />
	Light Clay: 3.42% &gt; 2%<br />
	Icy Rock: 1.71% &gt; 2%<br />
	Damp Rock: 1.71% &gt; 2%<br />
	Smooth Rock: 1.71% &gt; 2%<br />
	AmpField Rock: 0.34% &gt; 1%<br />
	Everstone: 5.13% &gt; 2%<br />
	Hard Stone: 6.84% &gt; 2%<br />
	Iron Ball: 3.41% &gt; 2%<br />
	Odd Keystone: 0.27% &gt; 1%
</p>

<p>
	Revive: 3.42% &gt; 3%<br />
	Max Revive: 1.71% &gt; 1%
</p>

<p>
	Blue Shard: 8.55% &gt; 8%<br />
	Red Shard: 8.55% &gt; 8%<br />
	Green Shard: 8.55% &gt; 8%<br />
	Purple Shard: 8.55% &gt; 8%
</p>

<p>
	Heart Scale: 10.6% &gt; 17%
</p>

<p>
	 
</p>

<p>
	the big thing here is that the shitty stuff is less common, and the good stuff is more common.
</p>

<p>
	this is especially the case for fossils, amplifield rocks, and odd keystones: they're all several times more common than they used to be. heart scales will also appear a lot more frequently since they tend to be easily missable. to compensate for this, some of the other items' percentages have been dropped, including the oval stone and the iron ball. they will be missed. by no one.
</p>

<p>
	these item odds are subject to change during testing, but the point is that there are changes! woo! progress!
</p>

<p>
	 
</p>

<p>
	i don't know how to end this post. don't forget to click like and subscribe?
</p>
]]></description><guid isPermaLink="false">43</guid><pubDate>Fri, 25 Oct 2019 02:59:46 +0000</pubDate></item><item><title>Exciting new developments in videogaming</title><link>https://www.rebornevo.com/pr/development/records/exciting-new-developments-in-videogaming-r52/</link><description><![CDATA[
<p>
	It's me, Cass, from the website Reborn, Evolved.  Developer for the Hottest Game™: Digimon Reborn.
</p>

<p>
	I am here to bring you News regarding some updates for the World of Digimon.
</p>

<p>
	For years, there has been one universal truth of the Digimon Reborn region.
</p>

<p>
	"Lag."
</p>

<p>
	Many Elite Gaymers have left constructive criticism regarding this lag. 
</p>

<p>
	<em>Very</em> constructive criticism.
</p>

<p>
	So today, we here at Real Namco HQ decided to look into this "lag". A video below shows our findings.
	<video class="ipsEmbeddedVideo" controls="" data-controller="core.global.core.embeddedvideo" data-fileid="59656" data-unique="q100j4x2r"><source type="video/mp4" src="https://www.rebornevo.com/uploads/monthly_2020_04/ScreenCapture_2020-4-7_00_27_52.mp4.e4ba7465c95fde80c70763d2eb05ef93.mp4"><a class="ipsAttachLink" href="https://www.rebornevo.com/applications/core/interface/file/attachment.php?id=59656" data-fileid="59656" data-fileext="mp4" rel="">ScreenCapture_2020-4-7 00.27.52.mp4</a>
	</source></video></p>

<p>
	<s><span style="font-size:8px;">god why does this stupid website make this so big</span></s>
</p>

<p>
	This video is annotated as follows:<br>
	We observe our hero, [well known Digimon Protagonist], walking the streets of Calcenon. The weather outside is currently made out of snow, a form of precipitation created when nature gives you the cold shoulder.
</p>

<p>
	[Well known Digimon Protagonist], enjoying this weather, proceeds to run <em>incredibly quickly</em> at a brisk pace of 120FPS<sup>1</sup>. After a brief run, [well known Digimon Protagonist] (who we will now refer to as Ash) decides to sneak inside of the Calcenon gym, glancing behind her to make sure that no one is watching before entering.
</p>

<p>
	Ash carefully steps into the gym. After a few cautious steps, she realizes that, unlike Super Smash Brothers Ultimate, No One Is Here™ and decides to sprint around Charlotte's arena at a brisk 80FPS. Not wanting to leave the lower levels untouched, she proceeds to run around them as well. The video abruptly cuts off because I decided to stop recording.
</p>

<p>
	 
</p>

<p>
	As you can clearly see from this video, there is No Lag<sup>2</sup>! Such criticism can now be permanently put to rest.
</p>

<p>
	Thank you for joining me. This is Cass, Prime Minister of Actual Namco In Real Life, signing off.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:8px;">1: FPS is actually a real unit of measurement for velocity and does not indicate anything else about Ash's movement</span>
</p>

<p>
	<span style="font-size:8px;">2: Our marketing department insists that, though there is clearly some lag in the video, we state it does not exist. We apologize for lying.</span>
</p>
]]></description><guid isPermaLink="false">52</guid><pubDate>Tue, 07 Apr 2020 07:50:47 +0000</pubDate></item><item><title>18.4</title><link>https://www.rebornevo.com/pr/development/records/184-r55/</link><description><![CDATA[
<p>
	look, i know i said i was never going to do this again.
</p>

<p>
	but.
</p>

<p>
	we have another version.
</p>

<p>
	here's the entire changelog:
</p>

<ul>
<li>
		added a line to the scripts
	</li>
</ul>
<p>
	and that's it.
</p>

<p>
	that's all we did.
</p>

<p>
	it is <em>much</em> faster than 18.3.
</p>

<p>
	and it was <em>already </em>fast.
</p>

<p>
	and i thought about this for exactly 5 seconds so you <em>know </em>it's gonna be great.
</p>

<p>
	please enjoy.
</p>

<p>
	the files are still uploading at the time of writing. i'd wait for them to finish, but the sun is coming up and i want to go to bed*. 
</p>

<p>
	so we are also featuring a patch! you can find it on the downloads page, right at the top.
</p>

<p>
	<span style="font-size:10px;">(the full length classic story-style dev blog post about it will be here tomorrow. or today- since, y'know, the sun's up.)</span>
</p>

<p>
	 
</p>

<p>
	*edit: haha lol i absolutely waited and now the files are up. 
</p>

<p>
	hello, sun. 
</p>

<p>
	my old nemesis
</p>
]]></description><guid isPermaLink="false">55</guid><pubDate>Fri, 12 Jun 2020 12:13:31 +0000</pubDate></item><item><title>devblog.com/devblog ft. devblog</title><link>https://www.rebornevo.com/pr/development/records/devblogcomdevblog-ft-devblog-r66/</link><description><![CDATA[<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="63346" data-ratio="51.83" width="627" alt="wunkthyst.jpg.ced06dd5e1aa8282212d31f72832a0ad.jpg" src="https://www.rebornevo.com/uploads/monthly_2020_09/wunkthyst.jpg.ced06dd5e1aa8282212d31f72832a0ad.jpg" /></p>]]></description><guid isPermaLink="false">66</guid><pubDate>Sun, 20 Sep 2020 00:43:43 +0000</pubDate></item><item><title>Sewing the Seeds</title><link>https://www.rebornevo.com/pr/development/records/sewing-the-seeds-r14/</link><description><![CDATA[
<p>
	With Pokemon Sun and Moon, Gamefreak introduced an innocuous one-time-use hold item set called Seeds which would slightly boost the stats of the user when held in a certain terrain. The collective response surmounted to something along the lines of "oh, neat" and they were never regarded again. 
</p>

<p>
	 
</p>

<p>
	And yet, hold items that activate on terrain have some pretty big implications for a game like Reborn, in which you'll fight on field effects more often than not. As such, the new seed items have gotten a bit of a facelift.
</p>

<p>
	 
</p>

<p>
	<img alt="T275h9u.png" class="ipsImage" src="https://i.imgur.com/T275h9u.png"></p>

<p>
	 
</p>

<p>
	Like in Sun and Moon there are still only four seed items, but instead of being one for each field, all 37 of our field effects have been categorized into one of four types:
</p>

<ul>
<li>
		Elemental
	</li>
	<li>
		Magical
	</li>
	<li>
		Telluric
	</li>
	<li>
		Synthetic
	</li>
</ul>
<p>
	And the seeds have followed suit! Rather than seed items just working on one specific type of field, they'll activate on any field of their type. More than that, every seed+field combination produces, not only a stat boost, but a unique effect. Not all seeds are created equal! Some are fairly tame, but others heal you, or boost lots of stats in return for damaging you, or can change your type completely! Which Seed does what on which field is covered in your Field Notes app, so make sure to collect and check those to know what you're packin'. They say knowledge is power, but so is opportunism!
</p>

<p>
	 
</p>

<p>
	I invite you to play around and use them to the best of your abilities. Your opponents certainly will be too, after all.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">14</guid><pubDate>Thu, 23 Feb 2017 21:22:48 +0000</pubDate></item><item><title>Jank and the Memestalk</title><link>https://www.rebornevo.com/pr/development/records/jank-and-the-memestalk-r32/</link><description><![CDATA[
<p>
	<img alt="image.png.bace69a8e78ff7ed142c8794a4f1d3b8.png" class="ipsImage ipsImage_thumbnailed" data-fileid="43526" src="https://www.rebornevo.com/uploads/monthly_2018_08/image.png.bace69a8e78ff7ed142c8794a4f1d3b8.png" /></p>

<p>
	 
</p>

<p>
	Once upon a time, there was an eager youg Dev going on his merry way to the beta store to buy some bugs. You see, that was his hobby, buying them and fixing them up so they could become the features they always wanted to be.
</p>

<p>
	 
</p>

<p>
	This time, the Dev brought his loyal feature with him to the beta store, her name was 'Stability and proper type effectiveness'. She had always been one of the most important features on the farm. On his way back from the store, a hooded man approached him and asked:
</p>

<p>
	 
</p>

<p>
	"Oh what an interesting feature you have there. Would you be interested in trading it for this magic bug? If you plant it, it will grow into a mighty tree, and if you climb to the top of that tree, it will take you to a land of all the greatest features you could possibly imagine!"
</p>

<p>
	 
</p>

<p>
	The eager young Dev pondered the offer. Stability and proper type effectiveness was such a treasured feature, but his mind wandered at the possibility of all the wonderful features this magic bug could bring! And so, he made the trade, before totterring off home to plant the bug.
</p>

<p>
	 
</p>

<p>
	He was scolded, of course, but insisted they wait for the mighty feature tree. And so they did, and it grew. It grew, not into a feature, but into a mighty Trevenant. That Trevenant got into a conversation with one of the farm's most well respected features, 'Good AI Decisionmaking.' Good AI Decisionmaking told Trevenant, to use Phantom Force on a Bibarel.
</p>

<p>
	 
</p>

<p>
	And so it did.
</p>

<p>
	 
</p>

<p>
	And it hit.
</p>

<p>
	 
</p>

<p>
	It was then that the dev realised his mistake. The strange hooded man had lied. This wasn't a feature tree at all. This, in fact, was a memestalk. A memestalk arriving at the farm with the sole purpose of unleashing it's jank amongst all the other features, and by trading away Stability and proper type effectiveness, the dev had enabled it to do exactly this.
</p>

<p>
	 
</p>

<p>
	The dev desperately looked over at Good AI Decisionmaking and pleaded with it, asking it how it knew about he memestalk's jank. But Good AI Decisionmaking didn't respond, because features can't talk, only moo. He watched as it told all the other ghost types to not use Phantom Force on Bibarel, because it couldn't hit. And even when the dev forced the other ghost types to do so, it did indeed not hit. But not the memestalk, oh no. It's phantom force hit, and Good AI Decisionmaking continued to tell the memestalk it could hit. It was a conundrum. The developer had never seen this much jank in one place in his life, and given how long he had been farming bugs and features, he had seen a lot of jank.
</p>

<p>
	 
</p>

<p>
	Without the precious feature he traded away, the dev was at a loss. He went out, located another trevanent and brought it to the farm, he even gave it Phantom Force. And do you know what happened?
</p>

<p>
	It couldn't hit the Bibarel, and Good AI Decisionmaking knew it couldn't. For it was just a Trevenant. It was not the dreaded memestalk.
</p>

<p>
	 
</p>

<p>
	He thought and thought and thought and thought, and finally had an idea! He had given the new Trevenant Phantom Force specifically, but not tampered with the moves of the memestalk, the memestalk knew it naturally. And so he looked at what other moves the memestalk knew and he wondered to himself.
</p>

<p>
	"...Forest's curse couldn't possibly be that janky, could it? It's not even used it!"
</p>

<p>
	 
</p>

<p>
	And so he taught the memestalk Flame Wheel, and had it use it against Bibarel.
</p>

<p>
	 
</p>

<p>
	And, as it turns out, Forest's curse WAS that janky, because it was super effective, despite Forest's Curse never being used, just known, it was still working.
</p>

<p>
	 
</p>

<p>
	The Dev quickly realised the chaos he had unleashed by trading in Stability and proper type effectiveness as he fled the memestalk to check on his other crops. He first ran to his Gourd(geist)s. And lo and behold, with their powers of Trick or Treat, their Phantom Forces were super effective against the poor bibarels.
</p>

<p>
	 
</p>

<p>
	He next rushed off to check his Starfruit(mie)s. But, strangely, their powers of Soak seemed to have been spared the infection of the jank.
</p>

<p>
	"But how? The code for Trick or Treat and Forest's Curse is identical to the code for Soak!? Why do you work fine!?" He pleaded. But the Starfruit(mie)s didn't respond.  Because they, too, could only moo.
</p>

<p>
	 
</p>

<p>
	Dejected about the loss of Stability and proper type effectiveness, and the infection of Jank that was quickly spreading about his farm, an affliction that Good AI decisionmaking seemed to understand more than he did, but refused to relinquish its knowledge, the Dev went back to market, trying to find the hooded man. He did, in short order, and pleaded with him to give back his precious feature.
</p>

<p>
	 
</p>

<p>
	"What a funny little Dev you are. The true Stability and proper type effectiveness was in your heart all along, didn't you know?" He told him cryptically before vanishing into thin air.
</p>

<p>
	With no new answers he wandered back to his farm and caught the culprit red handed. The memestalk was but a scapegoat, as once he arrived, he caught the fiendish Good AI decisionmaking scheming to introduce jank the the great farm.
</p>

<p>
	 
</p>

<p>
	And so, bugfixing hammer clutched tightly in his fist he went to work, ready to once and for all banish the jank and restore stability to the farm forever more.
</p>

<p>
	 
</p>

<p>
	The end.
</p>

<p>
	 
</p>

<p>
	(Disclaimer: Many bibarel were harmed in the making of this post)
</p>
]]></description><guid isPermaLink="false">32</guid><pubDate>Fri, 03 Aug 2018 14:22:10 +0000</pubDate></item><item><title>meow</title><link>https://www.rebornevo.com/pr/development/records/meow-r64/</link><description><![CDATA[
<p>
	hi there.
</p>

<p>
	i've posted nothing but the heaviest fuckin code posts for, like, 10,000 dev blogs now.
</p>

<p>
	have some cat.
</p>

<p>
	<img alt="20200530_211659.jpg" class="ipsImage" data-ratio="75.00" height="750" width="1000" src="https://cdn.discordapp.com/attachments/682091373473562625/740321339986018374/20200530_211659.jpg"></p>

<p>
	now i know what you're thinking.
</p>

<p>
	"is this cat actually that fuckin pretty"
</p>

<p>
	and yes. she is.
</p>

<p>
	<img alt="20191124_150316.jpg" class="ipsImage" data-ratio="75.00" height="750" width="1000" src="https://cdn.discordapp.com/attachments/682091373473562625/740322343297220708/20191124_150316.jpg"></p>

<p>
	<img alt="SPOILER_20200614_090537_HDR.jpg" class="ipsImage" data-ratio="133.33" height="750" width="562" src="https://cdn.discordapp.com/attachments/682091373473562625/740322779748106330/SPOILER_20200614_090537_HDR.jpg"></p>

<p>
	<img alt="20200719_151359.jpg" class="ipsImage" data-ratio="75.00" height="750" width="1000" src="https://cdn.discordapp.com/attachments/682091373473562625/740322934253551616/20200719_151359.jpg"></p>

<p>
	this is important.
</p>

<p>
	 
</p>

<p>
	oh also we made a thing for when you choose theme teams.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="92.15" height="716" width="777" src="https://cdn.discordapp.com/attachments/392923432980840480/740324051318341733/unknown.png"></p>

<p>
	that confetti thing is supposed to be an arrow, but ame's really funny so she changed it to confetti. 
</p>

<p>
	and i know what you're thinking- "hey wait isn't [character] missing?" 
</p>

<p>
	this is a spoiler free post. terra is definitely just there because it's funny.
</p>

<p>
	radomus's hat also changes.
</p>

<p>
	<img alt="" class="ipsImage ipsImage_thumbnailed" data-fileid="o_1eetn594862d1k1v1q947qsmvqk" data-unique="8wjfn074z" style="" src=""><img alt="unknown.png" class="ipsImage" data-ratio="129.18" height="518" width="401" src="https://cdn.discordapp.com/attachments/682091373473562625/740325636421451816/unknown.png"></p>

<p>
	that's important.
</p>

<p>
	kayo imma get back to my napnap now bye
</p>

<p>
	<span style="font-size:9px;">also thanks for the support y'all its real nice</span>
</p>
]]></description><guid isPermaLink="false">64</guid><pubDate>Tue, 04 Aug 2020 21:51:39 +0000</pubDate></item><item><title>My to-do List is back up to 150 lines.</title><link>https://www.rebornevo.com/pr/development/records/my-to-do-list-is-back-up-to-150-lines-r22/</link><description><![CDATA[
<p>
	sad reacts only
</p>

<p>
	 
</p>

<p>
	but not really, because this is one of those like, six lines i mentioned on the right. basically it's the AI section. cuttin' into it like a rotom-c.
</p>

<p>
	 
</p>

<p>
	so a few things that have generally been done recently: tv dialogue for new epsiode is <img alt=":check:" data-emoticon="1" src="https://www.rebornevo.com/uploads/emoticons/green-check-mark-clip-art_279068.png" title=":check:"> , furfrou forms are <img alt=":check:" data-emoticon="1" src="https://www.rebornevo.com/uploads/emoticons/green-check-mark-clip-art_279068.png" title=":check:"> and the groomer is in glamazonia salon-- actually i guess i can post those here. and uh. weather is <img alt=":check:" data-emoticon="1" src="https://www.rebornevo.com/uploads/emoticons/green-check-mark-clip-art_279068.png" title=":check:"> ! we fixed the bugs with E16's systems. it turned out to be super simple. it'll rain less now. rain is fake news anyway. wait i'm--<br>
	well ok. 
</p>

<p>
	have some frous.
</p>

<p>
	<img alt="SkHl952.png" class="ipsImage" height="360" src="https://i.imgur.com/SkHl952.png" width="288"></p>

<p>
	i refuse to accept that that 'frou' is pronounced like 'true' though. that's the real fake news. 
</p>

<p>
	 
</p>

<p>
	okay so stepping forward i train my laser sights on AI specifically function codes because that stuff is incomplete and also largely never existed in the first place. its basically the thing that tells it when specific move effects are a good idea. it doesn't have no idea-- but it has bad ideas most of the time, and no idea the rest of the time. 
</p>

<p>
	 
</p>

<p>
	there are ~350 function codes in the game, and for E17 we will be choosing to focus on 118 of them. the rest will be finished in E18. <br>
	so basically i have my work cut out for me if i want this to happen soon. 
</p>

<p>
	guess i had better get started ^^
</p>
]]></description><guid isPermaLink="false">22</guid><pubDate>Sat, 09 Sep 2017 22:48:11 +0000</pubDate></item><item><title>Putting the Z back in Zzzzzzzzzzzzz</title><link>https://www.rebornevo.com/pr/development/records/putting-the-z-back-in-zzzzzzzzzzzzz-r12/</link><description><![CDATA[
<p>
	Have you ever wondered WHY my devblog posts are predominantly memes? The answer is simple: It's not as easy to show off scripting compared to spriting or animations. Indeed, if I implement a move, or an ability, or even a whole pokemon, all I can really show for that is lines of text, which would honestly be pretty boring for everyone involved and I don't want to waste all of your time with that. So I spice it up with an exeggutor here, a Hiker David there. You get the idea.
</p>

<p>
	 
</p>

<p>
	Of course, sometimes, there is a big system, or something that can be shown off well enough, that it can stand up all on its own, without me throwing memes at you. Something I can reveal which won't make you go zzzzzz <s>Yes I know I am trying too hard with this pun it is the only one I have</s>
</p>

<p>
	 
</p>

<p>
	Like say this:
</p>

<p>
	<img alt="19179a72e55449eeb93d3bac35bad4b4.png" class="ipsImage" height="749" src="http://image.prntscr.com/image/19179a72e55449eeb93d3bac35bad4b4.png" width="1000" /></p>

<p>
	(Item icons + Icon for the Crystals tab in the bag coming soon)
</p>

<p>
	 
</p>

<p>
	Or this:
</p>

<p>
	<img alt="a4147399779b4dd8a5df75983b69d562.png" class="ipsImage" height="741" src="http://image.prntscr.com/image/a4147399779b4dd8a5df75983b69d562.png" width="1000" /></p>

<p>
	 
</p>

<p>
	Maybe this?
</p>

<p>
	<img alt="d08f7776eaa94caaa02ca2cbda8b27dc.png" class="ipsImage" height="744" src="http://image.prntscr.com/image/d08f7776eaa94caaa02ca2cbda8b27dc.png" width="1000" /></p>

<p>
	 
</p>

<p>
	This one shows me giving Techie Johnathan what he deserves tbh:
</p>

<p>
	<img alt="ca0245a0c06c46adbff24de70b1a2d6a.png" class="ipsImage" height="749" src="http://image.prntscr.com/image/ca0245a0c06c46adbff24de70b1a2d6a.png" width="1000" /></p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Just in case those of you that aren't familiar with Gen VII haven't realised what's going on yet, this is the announcement that after a bit of work, Z-Moves are now fully functional in Reborn and this functionality will be shipping in E17! Just be careful though, because it's functional for both player and AI.
</p>

<p>
	 
</p>

<p>
	However, that isn't the only thing I'm announcing/showing off here. While I've not made an effort to keep it a secret, I've only really mentioned this to a few people so I have no idea quite how well known it is. Regardless, I am happy to announce that:
</p>

<p>
	 
</p>

<p>
	<strong>In addition to full Z-Move functionality being included with E17, I shall be preparing a standalone release of the system based on the latest version of Essentials. I will make this release available publically , so anyone developing their own pokemon fangame can feel free to include the Z-Move system I've developed in it! I've also done all I can to ensure the system is as customisable as possible for anyone that would like to tweak Z-Move Functionality, add their own Z-Moves, and whatever else you can think of! </strong>
</p>

<p>
	 
</p>

<p>
	Details on when I will release the Z-Move system will be revealed at a later date, so for now, I hope you've enjoyed this look into what I've been doing, I've tried to imitate the system in the official games as closely as possible, as you saw in the screenshots even down to the details of how the Crystals function from your inventory.
</p>

<p>
	 
</p>

<p>
	So, with that, I shall leave you all because it's about time I got some zz myself.
</p>

<p>
	 
</p>

<p>
	But what is this I hear? You say you want a full demonstration of the system? You say you feel cheated because my post had no memes?
</p>

<p>
	 
</p>

<p>
	Well, perhaps we can just get two birds with one stone...
</p>

<p>
	<img alt="VIN5UGU.gif" class="ipsImage" height="750" src="http://i.imgur.com/VIN5UGU.gif" width="971" /></p>

<p>
	(Currently using the Shiny animation as a placeholder for a Z-Power animation, and the Mega Button as a placeholder for the Z-Move Button, they will have their own things for the release!)
</p>

<p>
	 
</p>

<p>
	For the record that Savage Spinout is not the animation we will be using, nor is it even a preliminary version of said animation. It is a meme animation I made myself with a little guidance from Inuki.
</p>

<p>
	 
</p>

<p>
	Anyway, there you go! You've seen Z-Moves in action, you got a meme, and the fangame developers among you have a Z-Move system you can use to look forward to, if you would like to use it! I hope I've whet your appetite for things to come!
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">12</guid><pubDate>Thu, 26 Jan 2017 00:02:12 +0000</pubDate></item><item><title>Hi Meet My Friend!</title><link>https://www.rebornevo.com/pr/development/records/hi-meet-my-friend-r34/</link><description><![CDATA[
<p>
	Hi! I'm Cass.
</p>

<p>
	I'm a little new to the dev team- I kinda started in January but the timing didn't quite work because of school and life and stuff so then I left and I came back in like June or so and started doing animations but recently I've started doing more things like breaking things when we get weird bug reports that no one else can figure out and a little bit of spriting and just kind of observing ame's creative process and also being her girlfriend
</p>

<p>
	But anyway, that stuff is not what's important here.
</p>

<p>
	I wanna talk about Meech.
</p>

<p>
	<img alt="9NDcNtX.png" class="ipsImage" height="750" src="https://i.imgur.com/9NDcNtX.png" width="966" /></p>

<p>
	dis is meech. meech ma frand.
</p>

<p>
	While we were testing E18 I decided that I wanted to do a run full of pokemon that I thought were especially cute and my fwuffy little scarf friend here is one of them.
</p>

<p>
	<img alt="kWpgw3R.png" class="ipsImage" height="750" src="https://i.imgur.com/kWpgw3R.png" width="967" /></p>

<p>
	<img alt="9USt1tQ.png" class="ipsImage" height="750" src="https://i.imgur.com/9USt1tQ.png" width="968" /></p>

<p>
	Skill link is what really makes Meech the unstoppable little fuzzball she is. Those multi-hit moves that are usually iffy at best on non-Meech pokemon automatically do the maximum number of hits for her, making things like Bullet Seed and Rock Blast 125BP monster attacks. She took out Reshi with two rock blasts and i was just so proud of her~
</p>

<p>
	<img alt="e14BGqx.png" class="ipsImage" height="750" src="https://i.imgur.com/e14BGqx.png" width="965" /></p>

<p>
	So if you want to play with a Meech of your own, just go ahead and find out how to get Cinccino in a game near you. She's real good and that scarf is just A+
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">34</guid><pubDate>Mon, 14 Jan 2019 03:03:01 +0000</pubDate></item><item><title>optimization overtime</title><link>https://www.rebornevo.com/pr/development/records/optimization-overtime-r59/</link><description><![CDATA[
<p>
	today's devblog comes straight off of discord, where i was very angry at some things earlier.
</p>

<p>
	i had noticed while playing a certain <a href="https://www.rebornevo.com/forums/topic/52360-pokemon-desolation-episode-51/" rel="">pokemon desolation</a> 
</p>

<p>
	that in four-person double battles (you and a partner vs two opponents)
</p>

<p>
	the AI phase of the turn would occasionally lag just a bit.
</p>

<p>
	deso uses the reborn ai (because they're not, y'know, animals), and so earlier today i took a peek at its inner functionality. 
</p>

<p>
	it is, uh, something.
</p>

<p>
	firstly, it makes the "movescore" calculations (the ai's entire claim to fame) three times per round instead of, y'know, one.
</p>

<p>
	this was kind of an oversight on our part. silly, really. with some restructuring, it was patched out and now runs a lot smoother.
</p>

<p>
	however, upon further investigation, it became clear that fixing this issue did not yield the expected improvements. i identified a culprit: the hasWorkingAbility function.
</p>

<p>
	this function does two things:
</p>

<p>
	it checks to see if you have an ability
</p>

<p>
	and it checks to see if it functions (not moldbroken, etc)
</p>

<p>
	it's not very good at those things.
</p>

<p>
	and that frustrated me.
</p>

<p>
	in a fit of righteous fury at this function that had <em>wronged</em> us all, i prepared to re-code all 1002 calls inside the move scoring system.
</p>

<p>
	but then.
</p>

<p>
	things changed.
</p>

<p>
	what follows is a direct transcript of my angy in its purest form.
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="184.03" height="576" width="313" src="https://cdn.discordapp.com/attachments/591711223750328331/730629304702205992/unknown.png"></p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="51.64" height="346" width="670" src="https://cdn.discordapp.com/attachments/591711223750328331/730629397320826910/unknown.png"></p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="47.50" height="285" width="600" src="https://cdn.discordapp.com/attachments/591711223750328331/730629530384859156/unknown.png"></p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="81.78" height="588" width="719" src="https://cdn.discordapp.com/attachments/591711223750328331/730629605219893258/unknown.png"></p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="61899" data-ratio="79.91" data-unique="euxqq82gx" width="687" src="https://www.rebornevo.com/uploads/monthly_2020_07/image.png.3519c6b34dacd85ca9f1509536f584c5.png"></p>

<p>
	(for reference that 15.8s -&gt; 14s thing is just how long it took to profile- so by the end of this the profiler ran about 20% faster)
</p>

<p>
	<img alt="unknown.png" class="ipsImage" data-ratio="103.35" height="750" width="725" src="https://cdn.discordapp.com/attachments/682091373473562625/728333531738144778/unknown.png"></p>

<p>
	*sighs
</p>

<p>
	anyway
</p>

<p>
	what i'm trying to say here
</p>

<p>
	is fuck essentials.
</p>
]]></description><guid isPermaLink="false">59</guid><pubDate>Thu, 09 Jul 2020 04:13:03 +0000</pubDate></item><item><title>smeargle's animation showcase</title><link>https://www.rebornevo.com/pr/development/records/smeargles-animation-showcase-r61/</link><description><![CDATA[
<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Cass suggested coming out of the shadows and be social with a dev blog post so here I be. </span>
</p>

<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Please enjoy these animations that were forged from the cursed animation editor (would not recommend using that editor) so with that here are 3 moves that haven't been seen yet</span>
</p>

<p>
	<img alt="powerwhip.gif" class="ipsImage" data-ratio="76.79" height="387" width="504" src="https://cdn.discordapp.com/attachments/393646120133459973/735662786272690176/powerwhip.gif" /></p>

<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Power Whip the canon animation of this move did not look good until gen 6 so that was a bit of a struggle to translate that 3d look into 2d but thankfully Ame made amazing vines for this thing so along with that and trying to throw a ton of graphics onto every frame we got this. </span>
</p>

<p>
	<img alt="thousandwaves.gif" class="ipsImage" data-ratio="76.79" height="387" width="504" src="https://cdn.discordapp.com/attachments/393646120133459973/735647740679290972/thousandwaves.gif" /></p>

<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Thousand waves went through a few changes originally I was gonna try to make the wave go directly across to the target but there were 2 issues there. The first is if you used this in doubles there was the issue of trying to make the graphics not go over your partner which required me to set every cell to back and then back to front when it got to the target. The second issue is that it's an AOE move so I had to make it look like it hit both targets in doubles. </span>
</p>

<p>
	<img alt="watershuriken.gif" class="ipsImage" data-ratio="71.43" height="360" width="504" src="https://cdn.discordapp.com/attachments/393646120133459973/735647739244707910/watershuriken.gif" /></p>

<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Water shuriken's biggest hurdle was making the shuriken stars but it seemed vital to making it look good so I just grinned and bared through that. </span>
</p>

<p>
	 
</p>

<p>
	<span style="background-color:rgba(4,4,5,.07);color:#dcddde;font-size:16px;">Thanks for your time and hope you liked what you saw</span>
</p>
]]></description><guid isPermaLink="false">61</guid><pubDate>Thu, 23 Jul 2020 01:17:38 +0000</pubDate></item><item><title>"Tomorrow" is just a social construct</title><link>https://www.rebornevo.com/pr/development/records/tomorrow-is-just-a-social-construct-r21/</link><description><![CDATA[
<p>
	oKAy hi so what's up all my fresh fellas lovely ladies and enchanting enbies we're here with another episode of not Pokemon Reborn cuz that shit ain' ready to release yet <em>BUT</em>
</p>

<p>
	the story is pmuch done
</p>

<p>
	 
</p>

<p>
	<em>"but ame if story is so done why come it not full hunder persent  on right tab???"</em>
</p>

<p>
	 
</p>

<p>
	an excellent question, hypothetical asker who's typing style belies the validity of their question. that's because although i've gone through and done all the story parts that i can so far, there's still a few minor holes i need to go back and fill in. i couldn't do that before due to things like the maps not being completed, or some script issues we're just now getting sorted out. there's also a bit more eventing stuff that i'll need to do when all the maps are finished too. then there's sundry things like the tv dialogue, bug fixes... oh, also i'm making sprites for all of the furfrou forms after <s>deciding to care</s> noticing that we didn't have anything for that yet. plus AI...
</p>

<p>
	 
</p>

<p>
	so- there's still a significant handful of things to do before release. however, once those few things are knocked out, we're going to have a grand old time. do not hype yourselves yet though; the time for that will come yet. 
</p>
]]></description><guid isPermaLink="false">21</guid><pubDate>Sun, 27 Aug 2017 22:32:18 +0000</pubDate></item><item><title>the finer parts of chaos, chipped away</title><link>https://www.rebornevo.com/pr/development/records/the-finer-parts-of-chaos-chipped-away-r29/</link><description><![CDATA[
<p>
	uggggggggggggggh hi
</p>

<p>
	 
</p>

<p>
	so it's been too long and there's a million reasons why updates haven't been consistent lately, from me going out of the country to my laptop being balls to coming back into a stressathon and fgjhlklklk<br>
	so not much has happened, and it's possible there won't be much new development to report for a while longer yet, 
</p>

<p>
	tl;dr 
</p>

<p>
	still working on story stuff,  and i actually don't want to update the scoreboard % for that until i finish because how to properly divide a scene, it's iffy. and also i had suddenly decided to add a handful of new maps and expand the episode's story a bit.
</p>

<p>
	anyway i can't really talk about storystuff cuz spoilers, but speaking of spoilers, i'll give you pinkest screenshot from the new content of 18:
</p>

<p>
	 
</p>

<p>
	<img alt="bPnxQjS.png" class="ipsImage" height="262" src="https://i.imgur.com/bPnxQjS.png" width="348"></p>

<p>
	 
</p>

<p>
	this is from the area i was eventing during march. that eventing is all done and it was a doozy, i ended up having to change the puzzle a handful of times and remove some elements from it because of the risk of lag and of  players getting stuck. so that feels bad. but we made it. that was the hardest thing in the episode so the rest is just a matter of finding the time and focus i've so desperately lacked lately to actually <em>do it</em> which is not a chance my home life has recently afforded me
</p>

<p>
	 
</p>

<p>
	but we've got some other past stuff i can share. i've been updating a few past things recently, such as the railnet puzzle. i was reviewing it last week and talking about the original concept for it-- that you would just ride the train under there through a collapsed wall to break out after connecting the track, rather than all this hand-wave "digital signal" junk. the reason i hadn't done that in the first place was because of not having  a good way to animate the train moving around corners on the rails (you'll notice even in the scrapyard, trains never turn corners) so it didn't work with the puzzle concept. however, since E17 we now have plenty of train and train-interior accessories, so i realized that i could return to this original concept by having the player stay inside the train while it moves. <br>
	so the core railnet puzzle is the same but the context and outcome of it is now different-- much better, and as originally intended. i guess the player learns how to hijack trains from charlotte or something.
</p>

<p>
	 
</p>

<p>
	i also went back and touched up some other things recently, such as all of serra's graphics, and especially the mug. i'll post that here on before/after:
</p>

<p>
	 
</p>

<p>
	<img alt="sKg1SB5.png" class="ipsImage" height="64" src="https://i.imgur.com/sKg1SB5.png" width="128"><img alt="BTQtlF0.png" class="ipsImage" height="64" src="https://i.imgur.com/BTQtlF0.png" width="128"></p>

<p>
	 
</p>

<p>
	yikes, by the way. how did i ever allow that old one.
</p>

<p>
	 
</p>

<p>
	one last thing to post today since doing sidequests previously. this one goes out to all the folk still around from showdown and PO:
</p>

<p>
	 
</p>

<p>
	<img alt="nKdawGL.png" class="ipsImage" height="234" src="https://i.imgur.com/nKdawGL.png" width="310"></p>

<p>
	 
</p>

<p>
	because showdown may be dead, but clarice never will be.
</p>

<p>
	 
</p>

<p>
	that's all i've got for today. hang tight through my inconsistency, everyone~
</p>
]]></description><guid isPermaLink="false">29</guid><pubDate>Thu, 03 May 2018 00:19:00 +0000</pubDate></item><item><title>Did somebody say pancakes?</title><link>https://www.rebornevo.com/pr/development/records/did-somebody-say-pancakes-r16/</link><description><![CDATA[
<p>
	Hey there, it's been a while! I'd like to say that in my public absence I've been hard at work making Reborn great again but that, unsurprisingly, would be a lie.<br /><br />
	That said, despite being a useless shithead for the majority of my time here, I've taken it upon myself to make the animations for <em>all</em> of the Z-moves (whether I actually will get exclusivity over them is anyone's guess.)<br /><br />
	Good news, though! I'm actually 10% done if you count the common animation for z-moves actually starting!<br /><br />
	More good news! I have a video of 1 (one) of them, right here:<br />
	 
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="true" frameborder="0" height="270" src="https://www.youtube.com/embed/-JrYgDb3DCs?feature=oembed" width="480"></iframe>
	</div>
</div>

<p>
	<br />
	I'm gonna be blunt with you guys. The techniques I used to animate this are some of the jankiest on record. Neither the animation editor, nor god himself, is happy with me right now. I'll put why in a spoiler in case anybody wants to read, but I do have a more pressing question.<br /><br /><br /></p>
<div class="ipsSpoiler" data-ipsspoiler="">
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents">
<br />
	So, this is what a typical animation sheet looks like:<br /><br /><img alt="66842b5d25e84128bef7208e8520f9a2.png" class="ipsImage" src="https://image.prntscr.com/image/66842b5d25e84128bef7208e8520f9a2.png" /><br /><br />
	Everything is in its nice 192x192 square, seperate, easy to get to one animation thing to the next by simply moving the cell's "pattern" up by one, easy stuff<br /><br />
	But not this one. Nah, double battles made sure of that.<br /><br /><img alt="d1ab03e30fde4573b522c44d521f4f5c.png" class="ipsImage" src="https://image.prntscr.com/image/d1ab03e30fde4573b522c44d521f4f5c.png" /><br /><br />
	THIS is pulverizing pancake's animation sheet. <br /><br /><img alt="9633886c98c444048bdb58a607297681.png" class="ipsImage" src="https://image.prntscr.com/image/9633886c98c444048bdb58a607297681.png" /><br /><br />
	I could've (and did for seismic toss') put them in a nicer order by splitting them up, but then i thought to myself "why."<br /><br />
	So I didn't!<br /><br />
	You may be wondering, however, why I even have those there, certainly the editor has support for just putting backgrounds. And yes, you would be right about that, in fact. <br /><br /><img alt="c29f9ea450b840cbbd9011d72a3b3f48.png" class="ipsImage" src="https://image.prntscr.com/image/c29f9ea450b840cbbd9011d72a3b3f48.png" /><br /><br />
	I definitely used said features to full effect.<br /><br />
	So why, pray tell, did I not continue to use them for the cracking ground? (other than the fact that man this editor does NOT LIKE all of those things happening it takes forever for that window to pop up now)<br /><br /><img src="https://image.prntscr.com/image/ef44f1ac8d4d495695656f1548c710b9.png" alt="ef44f1ac8d4d495695656f1548c710b9.png" /><br /><br />
	this little shit right here, is why. You see, when you change the opacity settings for the target pokemon to nothing so it would fade out, it only affects the target pokemon. Not their friend. and not your friend, if you make you own self invisible. As such, in order to do this, you have to get creative.<br /><br /><img alt="38a0a198fc0c4b4fbe3ead1639d40b62.png" class="ipsImage" src="https://image.prntscr.com/image/38a0a198fc0c4b4fbe3ead1639d40b62.png" /><br /><br />
	If you set the background to something, and the put the exact same background as tiles that cover the entire screen, the only thing that looks like is happening is everything fading out.<br /><br /><img alt="78cee7b67657485185ac506cea00760e.png" class="ipsImage" src="https://image.prntscr.com/image/78cee7b67657485185ac506cea00760e.png" /><br /><br />
	in essence this creates another layer to work with, and, with enough patience, you could make as many layers as you wanted (not true actually there's a max of like 30 cells on screen at once i think gotcha)<br /><br />
	Funnily enough, doing it this way is actually the easiest way to handle this, even if the doubles thing didn't exist, due to the tremors.<br /><br />
	See that cool button that says "entire slide"<br /><br /><img alt="3d68c9f98d6c4e8ead9bac8dd81f60a6.png" class="ipsImage" src="https://image.prntscr.com/image/3d68c9f98d6c4e8ead9bac8dd81f60a6.png" /><br /><br />
	it brings this up! Which lets you move every cell (that isn't locked, also a very nice thing unless the editor doesn't lock the thing you ASK IT TO and because the editor doesn't have an undo function you SCREAM but that's another story ahahaha.....)<br /><br />
	Due to the background being cells instead of a background, using this tool made making the "screen" shake a ton easier. This is also the reason that you see the background clearly have a lot sticking off the screen, I needed room to allow it to shake without breaking the illusion of the pokemon behind it not being in the "cutscene" of sorts.<br /><br /><img alt="67c6b3204aea4fe4b95956d8760509a2.png" class="ipsImage" src="https://image.prntscr.com/image/67c6b3204aea4fe4b95956d8760509a2.png" /><br /><br />
	it seems i missed a spot, oops.<br /><br />
	I.. think that's everything, but if anyone has another other questions on how to do the thing lemme know, I'd be happy to answer<br /><br /></div>
</div>
<p><br /><br />
	So, I don't really think streaming the creation of animations is a particularly good or entertaining idea cause frankly 95% of the time it's just me being frustrated with graphics gale or myself. It's a reasonably slow process with this one taking like... idk 10 hours to actually finish over 2 days? I might be exaggerating I dunno time isn't something I understand. But I was thinking half-way through about maybe doing a speed-paint style video for the next animation I decide to make (whatever or whenever that is, lol...)<br /><br />
	Would anybody be interested in seeing that? Lemme know, thanks!
</p>
]]></description><guid isPermaLink="false">16</guid><pubDate>Mon, 29 May 2017 00:41:43 +0000</pubDate></item><item><title>machines aren't built to have this much sand in them</title><link>https://www.rebornevo.com/pr/development/records/machines-arent-built-to-have-this-much-sand-in-them-r19/</link><description><![CDATA[
<p>
	hi whats up it definitely has not been two weeks but most y'all who saw the previous update status know why and for the rest of you who dont know why i'll tell you why it's because my computer died so like shit boi
</p>

<p>
	uhhh basically my motherboard had to replaced and also i had a corrupt RAM stick so that sucked and i lost all my data in the interim of me floundering about trying to fix it as if it were a software problem
</p>

<p>
	so that super sucks. 
</p>

<p>
	but don't worry-- i didnt lose much as far as reborn is concerned: the project files for city music but i dont really need those anymore, and a few graphics for E17 which i'll have to redo...but i can do so. it could be much worse.
</p>

<p>
	so i had my laptop over the past two weeks but it's kinda dinky and without all the things i needed there was only so much i could do
</p>

<p>
	now i have my computer back and repaired and running back up close to full functionality! so we go back to development
</p>

<p>
	 
</p>

<p>
	as following up from my last update, i have not gotten as much done as i would like to have for the obvious reason. but the intro was done (in just a few days, in fact), and the eventing for Fucktruck Desert is just about done. i will probably put up a video showing the redone intro soon. in the mean time i'll move onto the scrapyard, which has the only puzzle that i expect might actually give me trouble (and even then it's just the Very Tedious Inconvenience sort of trouble). after the scrapyard puzzle, the eventing is kind of a straight shot.
</p>

<p>
	you might also noticed i've dipped into the story a little bit. this isn't exactly a story-heavy episode, so that part might go quicker. however, split paths doubles work time. so oops. going to try a different way of handling that split this time though. we'll see if it's easier or not
</p>

<p>
	 
</p>

<p>
	i must once more disappear into the void, but know that it will not disappear back. 
</p>
]]></description><guid isPermaLink="false">19</guid><pubDate>Sat, 29 Jul 2017 06:46:15 +0000</pubDate></item><item><title>Boxing with my development responsibilities</title><link>https://www.rebornevo.com/pr/development/records/boxing-with-my-development-responsibilities-r28/</link><description><![CDATA[
<p>
	<s>I categorically did NOT make this topic purely for the terrible pun in the title.</s>
</p>

<p>
	 
</p>

<p>
	So, I've been slowly but surely fighting the AI to make it work, but this isn't about that. AI, of course, is not the only responsibility I have on Reborn. Sometimes it's important to pay attention to quality of life features. And Gen VII added a few of these which we have yet to catch up to. Well, E18 will come with one of my favourites of those features included:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://www.rebornevo.com/uploads/monthly_2018_03/Teaser.gif.a22f99dbe04f682bdbf2a906a00a89dd.gif" data-fileid="36791" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="36791" src="https://www.rebornevo.com/uploads/monthly_2018_03/Teaser.thumb.gif.2b124d07eff127cebb646b968674013b.gif" alt="Teaser.thumb.gif.2b124d07eff127cebb646b968674013b.gif" /></a>
</p>

<p>
	 
</p>

<p>
	(Get it? BOXING with my responsibilities? Because you can send your pokemon to the box upon getting a new one? :]]]])
</p>

<p>
	 
</p>

<p>
	It should also be noted this doesn't just work with wild pokemon. You're given this same option with Event pokemon and, on top of that, even eggs! (And yes, that also means if you so wish, you can either add eggs straight to your party, or send them to the pc, no trips back to a pokemon centre necesarry anymore!)
</p>

<p>
	 
</p>

<p>
	Well, that's been this small update, and so I have to go slink back into my AI hole, I hope you're all excited for E18.
</p>

<p>
	 
</p>

<p>
	<s>But seriously, I have no regrets about the pun.</s>
</p>
]]></description><guid isPermaLink="false">28</guid><pubDate>Sat, 10 Mar 2018 17:01:26 +0000</pubDate></item><item><title>Bored of optimization yet?</title><link>https://www.rebornevo.com/pr/development/records/bored-of-optimization-yet-r60/</link><description><![CDATA[
<p>
	Well good news for you! Because today we
</p>

<p>
	are
</p>

<p>
	dealing with line breaks. A sort of intermezzo if you will. Line breaks are a pain in the butt cheeks, because there seems to be no rhyme or reason to their existence. You can change the words before the line break and it will disappear. Okay, seems logical enough. You can add words <em>after </em>the line break and it will disappear. Okay, what? And until one of Ame's patreons looked into things, you could do nothing and they would randomly appear and disappear. RMXP are you drunk? When doing our optimization run (ha! still talking about optimization) I noticed something which I would've bet was the cause.
</p>

<p>
	 
</p>

<p>
	Dear reader, always bet against me, for I was wrong.
</p>

<p>
	 
</p>

<p>
	And then I found a line break while playing. And another. And yet one more. Time to actually look into things. After putting print statements down like no tomorrow, the following conversation between me and essentials happened:
	</p>
<video class="ipsEmbeddedVideo" controls="" data-controller="core.global.core.embeddedvideo"><source type="video/mp4" src="https://www.rebornevo.com/uploads/monthly_2020_07/Memsplanation.mp4.f0216979a2ffbe2791d20bd6af13d875.mp4"><a class="ipsAttachLink" href="https://www.rebornevo.com/applications/core/interface/file/attachment.php?id=61930" data-fileid="61930" data-fileext="mp4" rel="">Memsplanation.mp4</a>
	</source></video><p>
	 
</p>

<p>
	See, the function in question is getFormattedText. And this function is over-engineered like no tomorrow. Want to left-align stuff? seems logical. Want to right or center align, this function got your back. Want to use the weirdest font you can find? No problem for this badboy. Want to add Icons? Make only one line right align? Okay please slow down. Color certain words? Add your own line breaks? A second way to add Icons?
</p>

<p>
	Want to try splitting the text? No,<strong> stop</strong>!
</p>

<p>
	And that one is the problem. getFormattedText decides to rerun itself when a condition is met. What that condition exactly entails, I still don't know. But to spice things up, getFormattedText quickly adds a \n in the middle of the string. Which in ruby is syntax for: start a new line. And when it is rerun, it starts another new line right before the word after which the \n is placed.
</p>

<p>
	<img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"><img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"><img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"><img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"><img src="https://twemoji.maxcdn.com/2/72x72/1f914.png" class="ipsEmoji" alt="🤔"></p>

<p>
	 
</p>

<p>
	That part of the function has officially been yeeted. We now are free
</p>

<p>
	after
</p>

<p>
	all this time of suffering.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">60</guid><pubDate>Thu, 09 Jul 2020 23:47:54 +0000</pubDate></item><item><title>Internal Begins! So let's catch up.</title><link>https://www.rebornevo.com/pr/development/records/internal-begins-so-lets-catch-up-r40/</link><description><![CDATA[
<p>
	so, we've finally finished cleaning up from our several supervised test periods, and we're shipping off to internal. but for those who haven't heard, we are not doing a full test cycle right now-- internal will be the last test. the purpose here is just to make sure that if we for any reason <em>have</em> to drop the project and release as-is, the main story will at least not be horribly bug ridden for y'all. we'll have another full test cycle again (one that will probably span eons) once postgame is complete.
</p>

<p>
	 
</p>

<p>
	that said! it's been a minute since i talked about some of our new features and changes. let's start with the thing i've been screaming about. hint: it's AI. 
</p>

<p>
	we've made a number of improvements and fixes to a lot of facets of it, but there's two things in particular that have really just knackered my knickers:
</p>

<ul>
<li>
		the first is what we've just started referring to as the 'speed bug'. basically, there was a certain line of code used in default essentials that, when we reworked AI, we reused a lot. it speed like a nice, strapping young line of code, and we had no reason whatsoever to think it might be completely broken. so naturally, it was, and we copied it into 200 places. this caused the AI to basically always think it was faster than the player, even when it definitely was not, which as you might imagine, has caused a lot of issues and a lot of emotional pain. this has now been fixed, unleashing never-before-seen chambers of code into the wild for the first time. that can come with its own issues. basically: aaaaaaa
	</li>
	<li>
		the second we just discovered a couple days ago. let's call it the 'switch-reversal bug'. basically, when deciding what pokemon to switch in, the parts of the code that checked type effectiveness got switched around. thus, it has been intentionally sending in pokemon with bad type match ups the entire time. this was an easy fix, but also <img src="https://twemoji.maxcdn.com/2/72x72/1f630.png" class="ipsEmoji" alt="😰"> <img src="https://twemoji.maxcdn.com/2/72x72/1f630.png" class="ipsEmoji" alt="😰"> <img src="https://twemoji.maxcdn.com/2/72x72/1f630.png" class="ipsEmoji" alt="😰"><br>
		frankly it's amazing that switching has worked well enough to this point that it wasn't completely obvious<br>
		but.<br>
		here we are.
	</li>
</ul>
<p>
	those are the big bois but like even aside from those i've been fixing dozens of case issues for the last week or two. it's gonna be good.<br>
	or i'm gonna cry.
</p>

<p>
	 
</p>

<p>
	what else! check this out:
</p>

<p>
	</p>
<div class="ipsSpoiler" data-ipsSpoiler="">
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents">
<p>
</p>
<br><br><img alt="nVLa80s.gif" class="ipsImage" data-ratio="74.66" height="383" width="513" src="https://i.imgur.com/nVLa80s.gif"><br><br>
	</div>
</div>
<p>
</p>

<p>
	by popular demand, we've merged the multi-move mod into the main project! Huge shoutout to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.rebornevo.com/index.php?/profile/71186-waynolt/&amp;do=hovercard" data-mentionid="71186" href="https://www.rebornevo.com/index.php?/profile/71186-waynolt/" id="ips_uid_4918_5" rel="">@Waynolt</a> for getting this going and letting us adapt it. We've also made some convenience improvements that you can see in the above gif-- Instead of selecting each pokemon through the menu, you can just hold Ctrl when you select them to automatically add them to the multi-move queue.
</p>

<p>
	 
</p>

<p>
	We've fixed some other misc things too, the fishing animation that's been missing for years, some PULSEs have been buffed, and we found an issue with hidden power where the player's hidden powers weren't actually properly set to the static 60 BP even though we tried to change that before. Very sorry about that, guys <span>:c</span>
</p>

<p>
	 
</p>

<p>
	One more update for you today. This one comes from our animator Vulpes, and it's exactly what the move deserved:
</p>

<p>
	</p>
<div class="ipsSpoiler" data-ipsSpoiler="">
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents">
<p>
</p>
<br><br><img alt="jI6a8tW.gif" class="ipsImage" data-ratio="74.66" height="383" width="513" src="https://i.imgur.com/jI6a8tW.gif"><br><br>
	</div>
</div>
<p>
</p>

<p>
	 
</p>

<p>
	That's more or less where we're at. So since we're not moving on to later stages of testing, there's no set end date to internal-- we'll just fix stuff as we go and as we work. And thus, internal will simply evaporate into the distance, as must I.
</p>
]]></description><guid isPermaLink="false">40</guid><pubDate>Fri, 28 Jun 2019 13:48:24 +0000</pubDate></item><item><title>3, 2, 1... clear!</title><link>https://www.rebornevo.com/pr/development/records/3-2-1-clear-r17/</link><description><![CDATA[
<p>
	Let's bring this dev blog back to life. 
</p>

<p>
	 
</p>

<p>
	Remember when I was doing daily updates in the clusterfuck threads? Well, I've got the those going on elsewhere still, but that doesn't mean I need to keep you guys in the dark too. From now on my plan will be to collect and summarize the updates from there in weekly or semi-weekly posts here. This is suppose to be a dev blog after all, not just an announcement zone, so no point in keeping it hush hush for weeks at a time.
</p>

<p>
	 
</p>

<p>
	That said, I actually <em>do</em> have an announcement today. Some number of weeks ago back in the droll march through Tourmaline's development, I realized that the mapping side of things has been reliably taking approximately way too fucking long. So I decided to get some help on it. I asked a couple of friends to take up some loose ends on the desert map, allowing me to go work on other areas in the mean time. And after clearing their trial by fire in Cliff Hell (seriously. you don't even know) I'm officially announcing them as part of the team. 
</p>

<p>
	 
</p>

<p>
	Please say hello to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.rebornevo.com/index.php?/profile/65523-jazzyfur/&amp;do=hovercard" data-mentionid="65523" href="https://www.rebornevo.com/index.php?/profile/65523-jazzyfur/" rel="">@JazzyFur</a> and <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.rebornevo.com/index.php?/profile/52031-sazane/&amp;do=hovercard" data-mentionid="52031" href="https://www.rebornevo.com/index.php?/profile/52031-sazane/" rel="">@Sazane</a>! They'll be the project's new mappers and will allow me to move through making areas much quicker. With the desert finished per example already, they'll be starting on some of the other yet-unfinished-areas in E17 while I charge ahead to eventing and other horizons. They've already saved me a huge amount of time on Tourmaline, and I'm sure they'll continue to be invaluable. 
</p>

<p>
	 
</p>

<p>
	As for other goings-on, the only area I have left to map is one that I've been looking forward to for a long time, but I'll keep the details of that to myself for now... Just know that we are ever-quickening and closing into progress here. ^^
</p>
]]></description><guid isPermaLink="false">17</guid><pubDate>Thu, 22 Jun 2017 01:41:45 +0000</pubDate></item><item><title>slAIn</title><link>https://www.rebornevo.com/pr/development/records/slain-r25/</link><description><![CDATA[
<p>
	you know that feeling when you finally pay of your mortgage and you finally know that not only is your home your own from then on but you don't have to worry about making the house payments each month anymore?
</p>

<p>
	 
</p>

<p>
	of course you fucking don't because most baby boomers aren't even to that point yet and millennials barely even stand a goddamn chance at step 1 or for that matter affording their own apartment nor will we ever in our lifetimes the way things are currently going
</p>

<p>
	 
</p>

<p>
	but that's the kind of feeling i have right now.
</p>

<p>
	sort of.
</p>

<p>
	i think about certain aspects of making games as taking on a "development debt". I could make the game from start to finish much quicker if i disregarded everything like animations or adding new gens or rebuilding the AI, but I choose to do those things to make the game better. in return, I accept a certain amount of development debt that must be worked out of before the game can be considered finished. and that's pretty stressful. it feels bad to not be able to put time towards making the kind of progress that i care about the most-- which is of course the main gameplay and story. 
</p>

<p>
	so, although i still have a significant amount of debt to pay off in the form of finishing animations and the new gen, I'm happy to say that I can at least put the AI behind me.
</p>

<p>
	mostly.
</p>

<p>
	i mean i know it'll still take forever to test and debug and amend and yaddayadda but making fixes to something is much easier making something from scratch (or from the ashes of a previously ineffective AI system)
</p>

<p>
	and also i know that the AI is only <em>planned</em> and not actually implemented as of now buuuuuuuut thanks to the beautiful soul known as the cellist, that's all that i really have to worry about.
</p>

<p>
	 
</p>

<p>
	which means i am freeeeeeeee from AI.<br>
	except fixes and updates to E17's parts but again, who caressss about that i'll do it later.
</p>

<p>
	 
</p>

<p>
	so! what's next? normally i would now turn my attention to the USUM sprites so that we can get our final new-gen debt all safely tucked away too. would feel good. i prioritized that last episode as well and there are really only a handful of sprites to handle this time, so that's nice too.
</p>

<p>
	alas, i am not going to do that yet.
</p>

<p>
	first, i will get started on the mapping. the first main area of E18 will take a bit of time on the other mapper's parts again, so I'd like to hurry and get it set, so I can pass it off to them and then, while everyone is occupied, I can take out the sprites.
</p>

<p>
	as you can see on the scoreboard i've already started that in fact, sooooooooooo really i just get to do part of the funner stuff a bit early... sweet stuff imo.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">25</guid><pubDate>Wed, 24 Jan 2018 04:05:44 +0000</pubDate></item><item><title>Some insight into how I test all things Alola...</title><link>https://www.rebornevo.com/pr/development/records/some-insight-into-how-i-test-all-things-alola-r9/</link><description><![CDATA[
<p>
	So it's no secret that I have been implementing the Alola Dex, including Alola forms, as of late. However, a lot of these pokemon are not the easiest thing to test, as I don't actually have any of the new sprites that are being made. Well, except one, but we'll get back to that.
</p>

<p>
	 
</p>

<p>
	Indeed, testing things like Disguise, Shields Down, Schooling... It's hard when you don't have the sprites for Mimikyu, Minior or Wishiwashi handy. That is where Exeggutor comes in. Because A.Exeggutor is the only 7th gen sprite I currently have, I test these things by just giving them to Exeggutor. I'm sure you can imagine that that can be rather funny.
</p>

<p>
	 
</p>

<p>
	Why, might you ask, did I go out of my way to make a whole post about this?
</p>

<p>
	Well, you see, I was working on having pokemon evolve into alternate forms depending on certain conditions, useful for Rockruff -&gt; Lycanroc, and a few Alola form mons and, well...
</p>

<p>
	 
</p>

<p>
	<img alt="2f7f2691586c40c188d8038f25988be0.png" class="ipsImage" height="746" src="http://image.prntscr.com/image/2f7f2691586c40c188d8038f25988be0.png" width="1000" /></p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">9</guid><pubDate>Wed, 11 Jan 2017 21:52:11 +0000</pubDate></item><item><title>At this point, you all know this is just gonna be Exeggutor memes</title><link>https://www.rebornevo.com/pr/development/records/at-this-point-you-all-know-this-is-just-gonna-be-exeggutor-memes-r10/</link><description><![CDATA[
<p>
	This time I don't think I really need to give any context. Not that there's any context to give.
</p>

<p>
	 
</p>

<p>
	<img alt="ce03b39a744d42c4a4dcd1e7467bb154.png" class="ipsImage" height="744" src="http://image.prntscr.com/image/ce03b39a744d42c4a4dcd1e7467bb154.png" width="1000" /></p>

<p>
	<img alt="4433c1595fca4326ae3ba83e860f5753.png" class="ipsImage" height="750" src="http://image.prntscr.com/image/4433c1595fca4326ae3ba83e860f5753.png" width="998" /><img alt="d9047e9c57bd4017b7d46b58e861c879.png" class="ipsImage" height="746" src="http://image.prntscr.com/image/d9047e9c57bd4017b7d46b58e861c879.png" width="1000" /><img alt="1303a8beeccb4766b139d174cd28a978.png" class="ipsImage" height="744" src="http://image.prntscr.com/image/1303a8beeccb4766b139d174cd28a978.png" width="1000" /><img alt="ad28e7d4276548ab89fd2d31e06b1a41.png" class="ipsImage" height="747" src="http://image.prntscr.com/image/ad28e7d4276548ab89fd2d31e06b1a41.png" width="1000" /><img alt="3fd3e9c8259047cbba9c1a8a91006544.png" class="ipsImage" height="750" src="http://image.prntscr.com/image/3fd3e9c8259047cbba9c1a8a91006544.png" width="1000" /><img alt="d9964ad8f5f040f0a4d2a48532bd7591.png" class="ipsImage" height="747" src="http://image.prntscr.com/image/d9964ad8f5f040f0a4d2a48532bd7591.png" width="1000" /></p>

<p>
	 
</p>

<p>
	This last one comes courtesy of our very own Ame:
</p>

<p>
	<img alt="orZT2ZN.png" class="ipsImage" height="746" src="http://i.imgur.com/orZT2ZN.png" width="1000" /></p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">10</guid><pubDate>Fri, 13 Jan 2017 23:47:17 +0000</pubDate></item><item><title>USUM Sprite Pack + New Shinies</title><link>https://www.rebornevo.com/pr/development/records/usum-sprite-pack-new-shinies-r27/</link><description><![CDATA[
<p>
	so i finally stopped dying and got around finishing the sprites.
</p>

<p>
	i mean, they weren't all that much work, i just spaced it out a bit and then got sick, like, right after my last post here, so oops<br>
	(don't worry, i'm mostly better now!)
</p>

<p>
	anyway like with the original Gen 7 sprites, <a href="http://www.rebornevo.com/downloads/USUMSprites.zip" rel="">here's a downloadable pack for you to use in your own Essentials' projects</a>... and a few of the new sprites to show you what they look like. 
</p>

<p>
	 
</p>

<p>
	<a href="http://www.rebornevo.com/downloads/USUMSprites.zip" rel=""><img alt="0SFb6KP.png" class="ipsImage" height="204" src="https://i.imgur.com/0SFb6KP.png" width="400"></a>
</p>

<p>
	 
</p>

<p>
	unlike the original pack, this one does not include shiny sprites, but like... that's the easy part, y'all can take it from there.<br>
	buuuuuuut the shinies for reborn <em>are</em> done.
</p>

<p>
	here's some of the new ones.
</p>

<p>
	<img alt="yqiUEfL.png" class="ipsImage" height="154" src="https://i.imgur.com/yqiUEfL.png" width="317"></p>

<p>
	well, most of the new ones i guess, since there's only nine new forms and mons or whatever.<br>
	but shhhh.<br>
	shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.
</p>

<p>
	there is no need for words now, only lightly sugared strawberries. give me all of those.
</p>
]]></description><guid isPermaLink="false">27</guid><pubDate>Sun, 04 Mar 2018 07:16:20 +0000</pubDate></item><item><title>Shine On</title><link>https://www.rebornevo.com/pr/development/records/shine-on-r11/</link><description><![CDATA[
<p>
	<em>many things have </em><i>occurred</i>
</p>

<p>
	and since, finished occurring.
</p>

<p>
	 
</p>

<p>
	have a few. 
</p>

<p>
	 
</p>

<p>
	<img alt="8kqJxTl.png" class="ipsImage" src="http://i.imgur.com/8kqJxTl.png"></p>

<p>
	 
</p>

<p>
	huge thanks to jan, bazaro and zumi for helping out with the custom Silvallies! 
</p>

<p>
	 
</p>

<p>
	as for other things that have since finished occuring, i'll leave that one to marcello up next.
</p>

<p>
	...and i promise it's not more exeggutor memes.
</p>

<p>
	although i can't promise it won't involve them. 
</p>
]]></description><guid isPermaLink="false">11</guid><pubDate>Wed, 25 Jan 2017 06:07:07 +0000</pubDate></item><item><title>Sprite landing!</title><link>https://www.rebornevo.com/pr/development/records/sprite-landing-r8/</link><description><![CDATA[
<p>
	hey okay i've been a little quieter here but what'sup we're done with making all the 7th gen pokemon sprites front &amp; back
</p>

<p>
	also marcello has pretty much done all the new moves and abilities already
</p>

<p>
	zoom zoom motherfluffers
</p>

<p>
	 
</p>

<p>
	there's a few stragglers here and there and it's hard to show of script work so here, have some blocky-backgrounded sprites instead
</p>

<p>
	<img alt="0ccda2f4c4e042f2be580a503631c7ea.png" class="ipsImage" src="http://image.prntscr.com/image/0ccda2f4c4e042f2be580a503631c7ea.png"><img alt="0a0bfbcae1194c80b28085140f68d1ca.png" class="ipsImage" src="http://image.prntscr.com/image/0a0bfbcae1194c80b28085140f68d1ca.png"><img alt="8430d86e113b40d780fcba1ff892e725.png" class="ipsImage" src="http://image.prntscr.com/image/8430d86e113b40d780fcba1ff892e725.png"></p>

<p>
	huge shoutout to zumi jan koyo and a last minute addition of bazaro for helping me tear through all these. this is super cool since that's the hardest part of spriting and also 7th gen implementation and also the entire E17 cycle overwith in a snapp
</p>

<p>
	 
</p>

<p>
	but you will notice the spriting part is yet not at 100%, that is because we still have to do canon shinies, custom shinies, and eggs! right now smeargletail is working on formatting these sprites for essentials and then we'll launch into those things. <s>well actually im already working on eggs but details.</s>
</p>

<p>
	 
</p>

<p>
	im also starting mapping early because fuqq da police
</p>

<p>
	okay thanks bye!
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">8</guid><pubDate>Fri, 30 Dec 2016 01:03:53 +0000</pubDate></item><item><title>Field Updates are long</title><link>https://www.rebornevo.com/pr/development/records/field-updates-are-long-r13/</link><description><![CDATA[
<p>
	Just like Exeggutor's neck.
</p>

<p>
	 
</p>

<p>
	<s>I made the entire post just for that line, it's all gonna be downhill from here</s>
</p>

<p>
	 
</p>

<p>
	Anyway, now that I'm just slogging through Field Updates there's not been much oppurtunity to <s>make memes</s> post quality devblog teasers and content. Luckily, I got to a certain field that is ripe for such opportunities, so I won't miss the chance to show off some of the new toys said field has to play with.
</p>

<p>
	 
</p>

<p>
	<img alt="721e203afb30412ea2ddbb1f81da507c.png" class="ipsImage" height="746" src="http://image.prntscr.com/image/721e203afb30412ea2ddbb1f81da507c.png" width="1000" /></p>

<p>
	The mountain field, you ask? Why am I showing off the Mountain field?
</p>

<p>
	 
</p>

<p>
	<img alt="105d30f296794f1fb6df1727dcfe4339.png" class="ipsImage" height="749" src="http://image.prntscr.com/image/105d30f296794f1fb6df1727dcfe4339.png" width="1000" /></p>

<p>
	<em>Because I just turned the mountian field into bestfield I hope you people who like to play by creating your own fields to cause shenanigans are prepared because you just got the best possible thing added to your roster </em>
</p>

<p>
	 
</p>

<p>
	Now, if I wanted, I could end this post here. You would have had your fill of memes, I would have procrastinated sufficiently long making these memes, everyone would be happy.
</p>

<p>
	But why make a teaser post without any teasing?
</p>

<p>
	 
</p>

<p>
	<img alt="a6d6e2d283304a13a8ba7c986793a695.png" class="ipsImage" height="748" src="http://image.prntscr.com/image/a6d6e2d283304a13a8ba7c986793a695.png" width="1000" /></p>

<p>
	 
</p>

<p>
	I wonder what caused that...?
</p>

<p>
	 
</p>

<p>
	<span style="font-size:8px;">Disclaimer: Creating the Glitch Field and using it's various effects will not rotate your exeggutors I just have way too much time on my hands and am very easily amused.</span>
</p>
]]></description><guid isPermaLink="false">13</guid><pubDate>Fri, 17 Feb 2017 20:40:54 +0000</pubDate></item><item><title>An entirely necessary Development PSA</title><link>https://www.rebornevo.com/pr/development/records/an-entirely-necessary-development-psa-r7/</link><description><![CDATA[
<p>
	So I was going through dancing moves for implementing the ability Dancer, and noticed that the move with id 420 just so happens to be Teeter Dance.
</p>

<p>
	 
</p>

<p>
	Ame informed me that the move animation with id 420 is Magical Leaf.
</p>

<p>
	 
</p>

<p>
	Both of these appear to be complete coincidence.
</p>

<p>
	 
</p>

<p>
	That is all. This has been an entirely necessary Development PSA.
</p>
]]></description><guid isPermaLink="false">7</guid><pubDate>Fri, 23 Dec 2016 00:13:24 +0000</pubDate></item><item><title>Welcome!</title><link>https://www.rebornevo.com/pr/development/records/welcome-r1/</link><description><![CDATA[
<p>
	Hi! Welcome to the new development blog! The old forum was a bit cluttered, so I figured a new system would be best.
</p>

<p>
	 
</p>

<p>
	Unfortunately I don't really have anything to blog about <em>just</em> now given the fact that we're coming right up on the community release-- and it'll be available by the time you read this after all. But we'll put it to good use soon, along with the progress bar widget we all know and love right in the top right of the page. 
</p>

<p>
	 
</p>

<p>
	For now, we're going to wait just a little bit before making the episode public. To restate, the reason we do Community Releases is because it's kind of a second wave of beta testing. Sometimes fixes we make during the beta break other things, but since that group of people has already played through it, it doesn't get caught. So it helps to have more people play just in case!
</p>

<p>
	 
</p>

<p>
	After a week or two-- hopefully not longer-- when I'm confident the Community Release is stable, it'll be pushed to the main page for the Public Release, and then I can start work on E17! I hope everyone is looking forward to that as much as I am!
</p>

<p>
	 
</p>

<p>
	Please feel free to leave comments down below; I always enjoy reading what everyone says.
</p>
]]></description><guid isPermaLink="false">1</guid><pubDate>Sun, 04 Dec 2016 03:49:41 +0000</pubDate></item><item><title>Ad-libbed Animator Applications</title><link>https://www.rebornevo.com/pr/development/records/ad-libbed-animator-applications-r26/</link><description><![CDATA[
<p>
	i suppose i shy to post updates like this when i don't actually have anything new <em>finished</em> , but i really must not neglect, ne?
</p>

<p>
	so while i don't have any super spectacular news, here's a general update of what's going on
</p>

<ul>
<li>
		USUM content is fully implemented except sprites, and i've done about half of those by now. the harder half, in fact. i've been spacing that out week by week so i don't go crazy. it hasn't worked.
	</li>
	<li>
		the first of four map areas for the episode is structured out and currently being completed bit by bit by kanaya. cliff hell is the real hell tbh. i'll have to do some finishing work on it but nothing i couldn't do in an evening.
	</li>
	<li>
		meanwhile i'm also working on the second of the the four areas. i really love the puzzle concept for this, but i'm a little bit concerned how it'll turn out in-game because how godfuck many events i have to use (as usual). the groundwork is laid for the puzzle (and that's always the hardest part) so i'm currently making graphics for this area and filling in the map.
	</li>
	<li>
		marcello has graduated from USUM content and is now picking up where i left off with the AI. we're starting with making some utility methods so that enemy trainers generally know when it'll be a good idea to change a field or player's ability for the sake of just getting rid of a good one.
	</li>
	<li>
		animations are a bit of a slow burn right now but they do, nonetheless, burn. about 60 animations remain to be completed for gens 1-6. more than 50 of those are already in some kind of progress. although gen 7 remains, and these last few animations may take a solid amount of time, there is a light at the end of the tunnel~
	</li>
</ul>
<p>
	 
</p>

<p>
	although you know what (hey ame, maybe actually mention the important thing here, duh-doy), now that i mention the animators we are actually looking to bring one more person to help out with finishing out the work.
</p>

<p>
	sooo this is absolutely not planned at all but if <em>you </em>are a person who might be interested in helping out then please shoot me one (1) PM and tell me some things:
</p>

<ul>
<li>
		do you have any experience with:
		<ul>
<li>
				animating in general
			</li>
			<li>
				specifically pokemon essentials' animation editor
			</li>
			<li>
				graphics gale (just the program is fine, even if you're not a great spriter)
			</li>
			<li>
				sound editing
			</li>
		</ul>
</li>
	<li>
		what kind of time commitment can you make the project, per week? what other responsibilities do you have that might interfere?
	</li>
	<li>
		how are you with handling criticism and feedback?
	</li>
	<li>
		why do you want to work on the project?
	</li>
</ul>
<p>
	other details: 
</p>

<ul>
<li>
		experience is not necessary but will be strongly preferred since we're on the tail end of this. 
	</li>
	<li>
		the actual time required is not set but varies based on the volume of animations being handled at a time. i'll typically expect something around five hours per week.
	</li>
	<li>
		the most important things for this are reliability and responsiveness to feedback. creativity and vision is never a bad thing either. 
	</li>
	<li>
		even if you don't have RMXP or are not familiar with its animation editor, it's cool. we can teach you if selected.
	</li>
	<li>
		only one person will be chosen but i'll eventually respond to everyone who applies. also my base speed is like, 2 so pls under the stand if i'm a slow
	</li>
</ul>
<p>
	 
</p>

<p>
	sweet i hope there's no flaws in this plan i just made, how about a cut off date? yeah, cut off date sounds good. cut off date is saturday. whatever date that is. 2/17. i'll take applications until then<br>
	this has been yet another incredibly deliberate post by yours truly, thank you for reading and for anyone who may offer to help~
</p>
]]></description><guid isPermaLink="false">26</guid><pubDate>Mon, 12 Feb 2018 07:10:23 +0000</pubDate></item></channel></rss>
