Friday, 27 August 2021

Tutorial Series/Genetics Map Progress

I am still here!! It has been a few days, but I am still steaming ahead with new found purpose and resolve! I have managed to record the footage for the first 3 videos in the tutorial series, and this means I am at the point of having the custom entity, in its most basic form, in a Minecraft world.

The drosophila (female) in world.

However, remember I said that the videos were scoped as part of my masters degree? Well the whole reason for the scoping was because I was researching what makes 'good' educational videos. I did a heap of research and came to the conclusion that my previous tutorials, while not complete garbage, were not all that great either. So it means a few fairly significant adjustments to my workflow for producing these videos.

Recording footage and narrating 'on the fly' is something of the past for these kinds of tutorials. I found that I ramble... and get distracted, and therefore distract from the intended purpose of the video. Alongside that there was a lot of research about video length, and what is likely most suitable. In the past I tried to keep my tutorials under 20 minutes, because that seemed to be what all the other YouTube creators I regularly watch do, however they create entertainment content, not educational content, and there is a difference. Apparently I should be trying to keep these tutorial videos under 7 minutes if possible, and definitely shorter than 10-12 minutes.

So while I have around an hour of raw footage recorded, I need to convert that to highly focused footage (of around 15-20 minutes) and then add carefully scripted narration. On a side note, I am clearly getting better at this, because if you read my first post of the genetics project from a few years ago I am pretty sure it took quite a few more hours last time.

I am also working 'between' Minecraft versions, because the tutorial series (now expanded to something like 14 different videos) includes things currently unavailable in M:EE like custom items and blocks. These will be available when M:EE finally updates to 1.16/1.17 which I am hoping is on the cards soon, and I think it is going to take a little while for these tutorial videos to be ready, as I estimated that it takes about 3 times as long to produce the videos in this way, compared to what I used to do. (I hope the extra time and effort is worth it!)

I am currently deciding whether to publish them 'one at a time' as I complete them, or whether to hold them and release as a complete set. If you have any thoughts there, please let me know in the comments, on Twitter (@EduElfie) or in the Mentor Discord (https://discord.gg/7fSQBdx).

That's it for this update. Thanks for reading!


Monday, 23 August 2021

Guess Who's Back.... Back Again... Back Again... Back Again...

OK, so it feels like this is the 20th time I have said I am back into it and working on stuff, and then I fall off the face of the blog again and come back x months later saying the same thing. I cannot promise this time is any different, sorry folks, but I can say that I am in the best 'mental shape' I have been in years and I no longer see educational Minecraft as a pain point. I am excited by it again, and am actually looking forward to creating some more things.

I have spent the last few years avoiding everything educationally Minecraft related. I have kept up with my Minecraft skills by creating content for the Markeplace, and some non-educational live Minecraft events. That being said I am slowly transitioning back in the place I specialise in, as there have been a couple of really cool educational things over the last 6 or so months that have helped 'heal' my mental anxieties around the Minecraft education space and almost 'reset' my feelings towards it.

So, am I back forever, who knows, but I am back for now, and I have plans to create some 'next level' stuff for M:EE to support teachers in their classrooms (did someone say custom economy?). The first project however is to re-start the customising Minecraft tutorial series from 2018 that I never finished. Things have changed so much in the intervening time and I have learned so much since then. 

Also, as part of a Masters assignment last year I scoped and planned a sequence of videos to take people from not knowing anything about customising Minecraft to being able to create custom entities that suit their purposes. As part of that I did record one video of the series and received some pretty powerful feedback about how I could improve my videos and make them more enjoyable, applicable, relevant and useful to those who are looking to learn the stuff I am sharing.

Recently this has come to the fore again as there are an increasing number of educators looking for this kind of content, so I feel it is time to go back to my 'old self' and start sharing the 'how' I do things again. So, the old 'genetics' project from a few years ago, that involves custom entities, behaviours and everything that I need to do to create that is going to be the backbone of the tutorial series. 


The old version of Drosophila!

I am hoping to even be able to extend it into the functions side of things because I still feel they are completely underutilised in the M:EE space in terms of creating interaction based on where students are, and what they are doing.

I also have been seriously considering getting back into streaming my creative process when working on content, either for Marketplace or educational stuff that I plan on releasing, but my internet has been terrible lately, and I am hoping that will be resolved in the next couple of weeks.

Another project, in the near future, is to re-create my old transcription/translation map for a teacher at my current school to use, we were going to have that going in the next few weeks, but since we are back into remote learning here, we are going to hold off. What was really cool though, was I found my old world and managed to get it to the latest version of M:EE without losing any important data. It took some doing because a lot of the sequences/blocks in that world were the original MCEdu blocks, that didn't swap over to M:EE very nicely, so currently my genetic code is all in what I would call "Log Format" 


I really didn't want to lose the old genetic sequence, as there was countless hours put into getting that right.

That's it from me, nothing really super exciting to share at this stage, except stay tuned, here, my YouTube channel and Twitch channel. Things are going to start happening!

Tuesday, 16 June 2020

It Is Official!!


This wasn't the great news I was thinking I would be sharing first, but it is too good not to share and it only became official a few days ago. I am now officially a Minecraft Partner, which means I can finally make my content available on all Bedrock platforms through the Marketplace. I am super excited, and have a couple of fun ideas to put out there, not educational, just fun. Which is an interesting shift, and actually quite hard to wrap my head around, I keep trying to 'sneak' educational stuff in while planning, but I need to keep reminding myself that I don't need to, nor do I really want to do that right now.

I do have a couple of solid ideas for maps, and I hope to get one done in the next few weeks ready for release, but I have so much work going on at the moment being back in the classroom, I am struggling for time to do all I want. I need to do the 'timeline' specific projects before I can go onto other projects, but I will get there.

As I mentioned in my previous post, I have a couple of other projects going on, which I am hoping to be able to share some screenshots and work soon. The first 'event' is just under a month away for a project with a local gallery here in Victoria, and when registrations open I will surely let you know. We are currently exploring how we can make this live event, hosted on an external server, available on as many devices as possible.

I found a neat little tool called Phantom, over on github, that 'mirrors' an external server on a local network, allowing consoles to join as if they were on a LAN server. So, we are currently testing that as an option to allow users to join from their console.

That's a pretty short blog post, for me. Thanks for reading, onwards and upwards!


Tuesday, 9 June 2020

Road to Recovery!


This post has been a solid 6 months in the making, and I have started it so many times, in the wrong mindset and never been able to properly (and professionally) explain what happened, why it happened, what it means and what is next for me. Putting it plainly, I have been on an interesting personal journey the last few months, and it has been one of (I hope) immense personal growth. As you know I was leading the development of Mini Melbourne, and the deployment of M:EE across the state of Victoria. Well, in mid July last year, that all stopped, quite suddenly, and what started as a great opportunity for me, turned into a terrible circumstance and one that had serious impacts on me, my family, and most importantly for this blog, my mental health.

I don’t want to, nor do I think it appropriate, to go into all the details of what happened, and why, but I do think it fair to try and explain what impact it had on me, and why, yet again, I disappeared off the face of the blog planet for a significant time, with no reason or warning.

Basically, I was letting someone else’s (possibly several else’s) poor behaviour and choices define my behaviour, to some extent. Most certainly not by choice, but by virtue of seeing no ‘positive’ way forward, and no way to resolve my feelings due to the fact there is no ‘reasonable’ person on the other end of this situation. I wish there was, sitting with someone reasonable, outlining the situation would, I believe, help in a resolution to a very confusing, and I feel unfair situation. Unfortunately, due to the inability to have this ‘reasonable’ discussion, I am left feeling unfairly treated with no way to resolve the feelings I have, no way to ‘go back in time’ and fix the issues I have faced over the last 6 months.

I loved working on deploying Minecraft: Education Edition on a large scale, developing lessons for teachers to use, working with and supporting a large range of teachers across all subjects and year levels, and best of all, being paid to do it. Then due to misrepresentations and poor decision making, outside of my control, I ‘lost’ that opportunity, and what I thought was going to be a new, even greater opportunity, was no longer available to me.

It was a very abrupt change to my plans, and it was very disheartening to feel all the passion and drive I had for pushing boundaries, and supporting educators slowly drain out of me. Something I had managed to hold onto since 2011, something that I valued in myself, something that I felt defined me in a lot of ways. Educational Minecraft has been a large part of my life for a long time, in fact the majority of my ‘teaching career’ has involved Minecraft in some capacity. I have learned a great deal about myself, education and learning, had some awesome successes and I really value all the friendships, opportunities and experiences I have had in this space. My feelings towards all of those great things was souring, and that was not something I wanted.

I have still been helping where and when I am able, but for my own mental health I had to take an immense step back from the M:EE community, not because of the community, but because of the feelings and thoughts and angst I was feeling about the platform in general.

Basically, right now, I feel like I am beginning to come out of the ‘dark days’ of my mental health issues. Reflecting on this ‘change’ in my disposition, I think a large part of that is probably because I am really looking forward to working in a real life classroom with real life students again.

I have also been working ‘outside’ of the education sphere of Minecraft and with some non-educational projects, which has also been helping, slowly transitioning myself back into seeing Minecraft in a positive light, rather than the cause of a great deal of stress and anxiety. I am working on some really cool stuff, that I am really enjoying, is stretching my own knowledge and ability in customising experiences in Minecraft and is generally, going quite well.

I am also back to ‘imagining’ what I could do to support education when M:EE updates to 1.16. This has not been the case for far too long, not being able to ‘see’ my next big ‘innovation’ and project because I could not see myself working within Minecraft. Something I have wanted to do for a long time might actually be a reality when M:EE goes to 1.16. The longer the delay in updating M:EE, and the closer Bedrock gets to 1.16, the more likely that the next update for M:EE will bring it to 1.16, and that long term desire may be a reality, even if it will be with way too many hours worth of work.

Most importantly, I am back to doing what I love, working with students. It is a tough job, coming back into the classroom after a few years out of it, but there is a solid team around me, both locally at the school, within my family and with my friends, local and global. Here’s to continuing in a more positive frame of mind, and going back to defining my own path, rather than letting others define it for me. For those of you out there, that have supported me, in any way, over the last 12 or so months, know that your support has been highly valued, and likely you don’t even know you did it! To those who did know what was going on, and regularly put up with my terrible moods and grumpy rants and still stuck around, thank you! Without your reasoned and well thought out responses, I wouldn’t be mentally where I am now.

So, this is not the ‘goodbye’ post, or the grumpy rant I started writing so many times over the last few months, but instead, and I am very glad to say it, a more positive me is emerging. While I am not back to ‘full strength’ and I still have more bad days than I would prefer, I am certainly on the road to recovering my passion and drive for supporting educational Minecraft, and pushing my own Minecraft boundaries to help me build whatever my next ‘great’ idea is.

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.

Thursday, 27 June 2019

Genetics Development - Day 6 - Adding to the Genetics and Breaking IT ALL!

So, after ending Day 5 with the basics of inheritance of both sex, and wing type figured out, the models displaying correctly and everything working exactly as I would like, it is now time to try and expand it to include a 'sex-linked' inheritance pattern, white eyes.

Of course, doing this breaks EVERYTHING!!! OK, well not everything, but the basic premise of the whole system I have in place is now untenable. I believe this is because I have the sex type calling a particular geometry by using 'minecraft:variant', and wing type calling a particular texture by using 'minecraft:mark_variant', which leaves me no way to call another texture 'automatically' through this entity.

I can get the white eyes to appear on the fly through external editing, and the inheritance appears to work find on the genotypes of the offspring, but I cannot get it to display the correct phenotype, because it gets 'normal wings' texture before it gets the 'white eyes' texture. Basically it get's a 'mark_variant' for normal wings, because that is what it has, and that doesn't then get overwritten by the white eyes 'mark_variant'.

Now I have figured out the issue, what is the resolution? After quite a few hours fiddling around and trying to understand, I think I need to, somehow, give particular variants, and mark_variants based on the multiple separate genes I have. Each gene marks a 'birth_event' which I then use to add component groups to the flies, which in the past was assigning the variants and mark_variant data.

The first step I have taken is to make all 'geometry' alterations, so that is sex, and vestigial wing type (and later curly wings too) based on variant, and all textures based on mark_variant. This means quite a bit of explicitness in the entity definition and a whole heap of individual textures for each possible phenotype, which I was trying to avoid in some respects, but looks like the entity definition file in the behaviour pack is going to be as large as it needs to be!

Next steps? I have quite a a few options to explore for day 7 and beyond, and they are as follows;

  • Use scripts and custom variables to control and assign the appropriate data to the flies.
  • Use family tags at birth, to then assign the specific variant and mark variants.
  • Use 'materials' as the third 'data change' in the render controller.
  • Use a 'villager' style system to assign different geometries and textures as they assign different professions in the vanilla game.
  • Use 'masked' textures (again as they do in villagers) to 'overlay' multiple parts of the flies.
I think the most likely option for me to initially explore is the 'materials' method, and making the eyes a 'material' that I can alter based on genetics. Second to that will likely be a combination of the masked textures and the villager professions.

There are of course pros and cons in each, and in reality what I want to do may be more readily accessible in the API, so when I have some brain power, I am going to head down the path of exploring that, but I am also really enjoying exploring and I am learning a lot about how entities work in Minecraft, which I am thinking will be beneficial in a lot of future projects too.

But, that is where I finish day 6, a little further along, but also taking a significant step backwards. One thing that has crossed my mind, is to completely separate the different inheritance patterns, and realistically that would work quite well, as in have a "drosophila v" for vestigial, and "drosophila we" for white eyes, which would definitely work, but I am interested in seeing whether I can combine multiple inheritance patterns and weave them into some semblance of correct genetics for this organism.