Flower's Dev Diary (Week Of March 18th)

A place to talk to other users about the mod.
Psion
Posts: 306
Joined: Sat Jun 02, 2012 5:02 am

Re: Flower's Dev Diary (Week Of March 18th)

Post by Psion »

FlowerChild wrote:
MoRmEnGiL wrote:How good does it feel when an update to new vmc version is done? :P
It's more the relief of a throbbing headache finally going away ;)
being a frequent sufferer of tension headaches/migraines, i understand your pain and subsequent relief all too well now. lol
User avatar
Stormweaver
Posts: 3230
Joined: Wed Jul 06, 2011 7:06 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by Stormweaver »

I'm back!

...catching up is going to take a long, long time, isn't it?
PatriotBob wrote:Damn it, I'm going to go eat pumpkin pie while I still think that it tastes good.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Stormweaver wrote:I'm back!

...catching up is going to take a long, long time, isn't it?
Holy shit. I was just wondering where the hell you were :)
User avatar
Stormweaver
Posts: 3230
Joined: Wed Jul 06, 2011 7:06 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by Stormweaver »

FlowerChild wrote:Holy shit. I was just wondering where the hell you were :)
Lost the internet while the house was being re...everythinged. Wasn't supposed to lose it though -.-

I imagine that if I ever get a cauldron through the tech tree, I'll have to do a type up on my impressions. Had a few, false starts you might say ^.^ Feels like a whole new (better) game. Anyways, now to stop cluttering up your diary ^.^
PatriotBob wrote:Damn it, I'm going to go eat pumpkin pie while I still think that it tastes good.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Stormweaver wrote: Lost the internet while the house was being re...everythinged. Wasn't supposed to lose it though -.-

I imagine that if I ever get a cauldron through the tech tree, I'll have to do a type up on my impressions. Had a few, false starts you might say ^.^ Feels like a whole new (better) game. Anyways, now to stop cluttering up your diary ^.^
It's all good man. Very happy to see you :)

And yes, it's been a very busy past few months for me and as you can see I finally bit the bullet and dove into "total conversion" territory with BTW. Kinda happened incrementally without any specific decision along the way.

Will be very interested in hearing your impressions considering you are coming into this "clean" and haven't seen the individual small steps that were taken along the way.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Arg. The rail-avoidance code for mobs totally sucks (I ran a few tests and the derpiness it generates is extreme), and I'm having a very hard time tracking down what Dinnerbone did in order to make that happen. No simple "is this block a rail" tests here. He must have modified some little variable somewhere that causes mobs to treats rails like solid blocks where their pathfinding is concerned, and that makes it a bitch to find it.

Anyways, just momentary venting. I've been trying to track this down for a couple of hours now, and it's getting rather frustrating.
User avatar
Sarudak
Site Admin
Posts: 2786
Joined: Thu Nov 24, 2011 7:59 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by Sarudak »

Maybe he was trying to optimize it? ;)
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Sarudak wrote:Maybe he was trying to optimize it? ;)
Grrrrrr :)

I'm actually tempted to just ask him wtf he did over twitter, but doubt that would produce results.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

BTW: I just wanted to point out the irony in that given how buggy fences are at present, I suspect rails are currently a more effective means of containing animals :)
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Ok, I am triaging the rail thing for the time being. Wasting a couple of hours digging through code for that one thing is definitely excessive when I have an update to complete :)

While I don't normally like to discuss code, if anyone spots what was done there to make it happen, I'd be much obliged if you let me know through PM.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Oh...awesome sauce. Turns out with the comparator and daylight sensor, Mojang went full out RP and assigned tile entities to redstone logic blocks instead of making do with 4 bits of metadata.

Yeah, I'm so outta here, and very happy I'm axing these monstrosities with impunity.
User avatar
Gunnerman21
Posts: 378
Joined: Wed Aug 22, 2012 12:53 am
Location: WA, USA

Re: Flower's Dev Diary (Week Of March 18th)

Post by Gunnerman21 »

May I ask what that means? It seems like it's something really important, and with me not being a programmer I have trouble understanding what you said.
Spoiler
Show
I am... THE TAXI MAN.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Gunnerman21 wrote:May I ask what that means? It seems like it's something really important, and with me not being a programmer I have trouble understanding what you said.
Don't sweat it. It's not important, but you can find what it means elsewhere in these forums if you are so inclined.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

I just wanted to publicly extend my thanks to nmarshall23 who just PM'd me the solution to getting rid of mobs being afraid of minecart rails.

He discovered that the pathfinding code actually tests for the *rendering type* of the minecart rails to determine if they should be pathed over, which is about as hacky as you can possibly get, and which is why I was having such a bitch of a time finding it.

Anyways, my undying gratitude to him for resolving that headache for me :)
User avatar
nmarshall23
Posts: 140
Joined: Sun May 06, 2012 1:10 pm
Location: Northern VA

Re: Flower's Dev Diary (Week Of March 18th)

Post by nmarshall23 »

FlowerChild wrote:I just wanted to publicly extend my thanks to nmarshall23 who just PM'd me the solution to getting rid of mobs being afraid of minecart rails.
I used Merge a visual diff and merge tool, to see what files were changed. And it still took me 2 hours to figure out. Took me by surprise that they check for rendering types. Why they didn't get block type, or java class type I don't understand. This is the type of code that as a maintenance programmer, I have nightmares about. Good luck with the update.

Also my goats thank you.
Ulfengaard wrote:BTW by FC: Fixing vanilla, one version at a time. :)
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

nmarshall23 wrote: I used Merge a visual diff and merge tool, to see what files were changed. And it still took me 2 hours to figure out. Took me by surprise that they check for rendering types. Why they didn't get block type, or java class type I don't understand. This is the type of code that as a maintenance programmer, I have nightmares about. Good luck with the update.
More reasonable would have been to just put a flag into the blocks themselves to indicate whether they block pathing or not, or what their pathing weight modifier is. You basically have a nested if sitting there testing everything from render types to blockIDs to material types when a call straight to the block for its pathing weight would suffice. This is done on every block, in every potential path tested, for every AI entity for pete's sake. Taking the time to create such a function in the blocks themselves would certainly be worth the effort.

As for why they wouldn't use class type, instanceof checks are notoriously computationally expensive, so that would actually be even worse than the whack of conditionals already present. I suspect they just resorted to using the render type out of laziness, although creating a function in the block itself like I describe above, would be what, like a 5 minute job?

Anyways, I think I'm done face palming about this stuff. Will just be grateful you found it for me and move on :)
johnt
Posts: 406
Joined: Tue Nov 08, 2011 6:13 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by johnt »

are you keeping anything from 1.5 at all?
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

johnt wrote:are you keeping anything from 1.5 at all?
You know how the version number is displayed on the title screen? I kept the part where they changed that to read "1.5.1".
User avatar
ion
Posts: 550
Joined: Sat Jan 05, 2013 2:56 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by ion »

FlowerChild wrote:Oh...awesome sauce. Turns out with the comparator and daylight sensor, Mojang went full out RP and assigned tile entities to redstone logic blocks instead of making do with 4 bits of metadata.

Yeah, I'm so outta here, and very happy I'm axing these monstrosities with impunity.
this was made today on IRC:

ion the reason that in 1.5 mojang team added the comparators and lightdetectors like tile entities
[10:14] and tile entities are know as being a big FPS hogs
[10:15] and the only thing that is really good in 1.5 is snow slabs and snow improvements
[10:16] this is really a big lulz
Grum because there is no way to schedule ticks for it
[10:17] and would you like 'randomly updating' time-based-things?
Grau Snow slabs
SNOW SLABS
Grum ion: any other silly complaints?
[10:18] DaveYanakov Light detection is possible without making a tile entity
And now I'm going to bed for realsies
Grum yes it is, but the update time would be random
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Interesting that, considering BTW has had a light detector that doesn't use tile ents for a very long time now, and that doesn't update in a random fashion. Look, there are certainly arguments for using a tile ent for that kind of thing, however, Mojang has been on a bit of a rampage with them which is more reminiscent of what a lot of mods do.

Their use in comparators in particular is rather alarming to me given what a prominent role they will likely play in vanilla circuit design.

There just seems to be very little thought being put into designing blocks in a manner that suits the architecture of the game. They even used tile ents for the skull blocks for pete's sake. Granted, in comparison to some of the mistakes being made at present, this is small fry, but hard for me not to take notice of when I'm going through new code.
User avatar
Stormweaver
Posts: 3230
Joined: Wed Jul 06, 2011 7:06 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by Stormweaver »

That's....kinda sad.

But then, that's what happens when you try to cram a million bits of functionality into a single block.
PatriotBob wrote:Damn it, I'm going to go eat pumpkin pie while I still think that it tastes good.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

Stormweaver wrote: But then, that's what happens when you try to cram a million bits of functionality into a single block.
Right. Hence why I am talking about how the blocks are designed above. Yes, the current implementation of skulls requires a tile entity because it allows for player skulls (you need to store their name), and because they can orient towards 16 different directions, while also storing mob type which occupies the metadata.

But, were those features really necessary? Player skulls aren't even used in vanilla, and the 16 orientations actually feels really out of place with the rest of the game, with the only other block that functions in a similar manner being signs (although that definitely feels less weird than it happening with a cube).

This is with a decorative block too, which is likely to see a lot of usage.

It doesn't make much of a difference with something like a light detector, as the player is rather unlikely to build many (the possibility is there of course that people will start paving with them decoratively), but if you're talking about skulls or comparators, it's pretty much a given that players will be adorning their walls with skulls and building complex circuits involving a shit ton of comparators.

I always go through great pains to design around the game architecture and not use tile entities unless I feel it is absolutely necessary. I just find it rather sad that a modder like me seems to be more concerned with designing with that and performance in mind than the company that created the game.
devak
Posts: 357
Joined: Fri Jul 15, 2011 3:19 am

Re: Flower's Dev Diary (Week Of March 18th)

Post by devak »

FlowerChild wrote: I just find it rather sad that a modder like me seems to be more concerned with designing with that and performance in mind than the company that created the game.
is it weird that i forgot that Mojang is actually a company and not the name of a modder group?
User avatar
MoRmEnGiL
Posts: 1728
Joined: Sat Oct 08, 2011 5:29 pm
Location: Bosom Higgs

Re: Flower's Dev Diary (Week Of March 18th)

Post by MoRmEnGiL »

The problem seems to be that mojang wasn't really the architect of the game, Notch was. And he's not there to smack them.
War..
War never changes.

Remember what the dormouse said
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Flower's Dev Diary (Week Of March 18th)

Post by FlowerChild »

MoRmEnGiL wrote:The problem seems to be that mojang wasn't really the architect of the game, Notch was. And he's not there to smack them.
Yup. That's bang on. Really, what we're left with are modders, and not particularly good ones, that are now running the show in his absence.
Post Reply