Wednesday 10 July 2019

Teaching Goals vs Personal Goals

In my previous post, after weeks of trying to get something to work, I engaged in some critical reflection, and in sharing that post with some colleagues around the world, summarising the main points of that post, led myself to the idea that I had 'disconnected' from the learning goals and was instead pursuing my personal achievement goals in that project.

I wanted to map a complete genetic inheritance pattern in Minecraft, and use that to support the teaching of genetics to students. However, when I ran into technical difficulties that prevented me from achieving my personal goal, I stopped to think about the learning goals, and realised that I had focused too hard on my own desires, rather than the needs of the learning goals.

Which really intrigued me, as someone who has always tried to focus on the practicalities required for the teaching and learning I want in Minecraft, rather than the fun, or the pretty, it is quite jarring to realise that I had lost that focus on the learning requirements, but had instead pursued a personal technical challenge. Which, in itself is fine in my current circumstance, as a volunteer, creating this for my own fun, and to develop my own technical knowledge on this new aspect of Minecraft, but....

When isn't it OK, when is it inappropriate? A very quick reflection says that if what I was doing impacted on student learning, or if I was letting students do the same. Letting someone in my classroom, myself, or my students, in class time, when we are supposed to be reaching our learning targets, get bogged down into these kinds of 'rabbit holes' of personal goals that have become disconnected from the learning goals is when.

So, if I had managed to achieve my goal of a complete inheritance pattern mapped in Minecraft, and that was used by teachers and because of the complexities involved, and the possibilities for confusion due to my work were as likely as I think they could have been, that would have been a very disappointing outcome for me, the teachers, and most importantly for the students.

So, I am certainly very glad I realised this now, relatively early on in the project development, but still am a little disappointed in myself. I also wonder what I would have done if I had been able to achieve it (and I am probably still going to try 'on the side) and had been trying to map my lessons to it.

It is really odd, I had already decided I would have 'specific' flies in place for students to perform breeding tests on, and I was going to genetically 'choose' these flies (or adjust them in external editors) so they would have only had a small chance to have alterations to my desired outcomes, but even with those thoughts floating around in my head, I still hadn't the wherewithal to pull myself up and refocus on what I needed, rather than what I wanted.

Having multiple entities will actually make this world and lesson(s) so much easier for me to create and have finished and ready as a learning task for the pending Minecraft: EE update. Now I just have to find the time, and desire to do this 'version' so that I can release it into the wild! Thanks, as always for reading, feel free to leave a comment below.

Monday 8 July 2019

Genetics Development - Day 7 - Genes to Family, Family to Variants than Variants to Game

This was my brilliant plan to fix the fly rendering in Minecraft from where we left it in day 6. I am essentially trying to assign the fly, upon birth, or spawn, a 'family' for each trait they have, and then use the family data each has to explicitly assign the variant and mark_variant flags that allow Minecraft to render the correct model and texture.

Only thing wrong with my brilliant plan, it doesn't work... yet... I can feel the solution is very close, there is something wrong in the way I have coded it causing it not to work, I am pretty sure the theory is correct. However I am stuck in a 'loop' of the genetics assigning only one 'birth event' and that birth event is the sex. Which assigns the correct family (which is nowhere 'in' the entity in external editors that I can find) and it gets the first layer of component groups, but this will not translate across into the second layer, and assign the variant and mark variant as expected.

I have spent a few hours looking carefully at the data the flies have in-game, and what I expect them to have, and it just doesn't align for some reason. So, I am going to try swapping the 'is family' test point for 'has component' and see if that changes things. If it doesn't work, it is because Minecraft doesn't support this 'double dip' through data and I will need to go back to the drawing board and test one of the other solutions from the previous post.

(some weeks later)

After swapping the 'is family' test for 'has component' there is no difference, however, what is interesting is the flies always get their sex component added, but never the other traits. I feel like I am very close, because it does seem to loop the data I want in, for only half of it, so now to try and work out why!!!

After a few (more) weeks of trying to nut this out, I am pretty sure I cannot get Minecraft to 'collate' multiple 'chromosomes' into the one birth event. At least I think that is the issue. It appears that it works in 'sequence' until it finds a birth event whose requirements are met, and then it stops looking at the other genetics.

It is really quite odd, because the entities 'get' the right chromosomes/genetics/alleles applied to them, but only get the 'tag' of the first birth event. Which means I can then not 'give them other tags' and render them appropriately based on their different genetics.

So, this leads me to be thinking about what it is I actually want to achieve. While having a completely mapped genetic inheritance pattern on the one entity is a really, really cool 'technical challenge' for me, is it really required to do the educational activities I want to do?

The simple answer is, no it certainly is not. If I can have as many custom entities as I want, then I can have different entities for each genetic trait we want to explore. This is 'normal' operating procedure in labs all over the world, they know exactly what genotype their breedstock is, and use the appropriate ones for the testing they want to do.

So why should I make Minecraft the exception? I am thinking that I should have multiple different 'fly types' and set up specific inheritance tests for students to explore. Again, this is normal, and supports students in understanding the inheritance pattern we want them to grasp, without causing undue confusion with multiple inheritance patterns impacting on the results. If we can give students specific genetic traits to explore, and interpret, then I am most certainly achieving the educational goals of this project, if not my own, possibly silly, technical goal of having a (mostly) 'true to life' genetic inheritance pattern all in the one entity.

So, there you have it, I have been mulling over this for ages, and thank you for your patience while I have been absent. I will have more to share on the 'why' I have been a bit quieter of late soon, but know that I am still here, working in the background. Thanks, as always, for reading, and if you have any comments, please feel free to leave them below or touch base on twitter @EduElfie.