Life should be fun!

Mindless Pursuits

Education Is The Most Important Thing 1

Posted on March 30, 2016 by Keith

Steam and Lan BluePrint Integration in Unreal Engine Part 2 - Game State Transitions

As the title says, education is the most important thing, and the subtitle on this post was almost ‘(and how I learned to stop worrying and love deletion).’ To understand why, let’s roll back to last week and the blog post I cancelled that otherwise would have been up on Thursday. It was a very simple blog post to provide a behind-the-scenes look at my operation and how I go about making a tutorial, from conception to publishing. It seemed a good time to do it because I was already taking some offline video of how I draw out level designs manually, and getting more pics and videos of my setup would just fit in with the workflow, but as I started taking pics, I also started getting very frustrated. My working space tends to be cluttered, pics alone didn’t help to explain my process, and I was having trouble putting it into words. In the end, because I didn’t feel I was explaining things well enough to make it educational, I trashed it and decided to do something else.

A parallel experience happened over the weekend. I had spent 17 hours recording a new series on network multiplayer with Steam in blueprints on Unreal Engine 4. After editing the first three sessions, I ran into something that I had to backtrack on in the current session. I wanted to go back and tie the change I was discussing back with where I originally set it up in the second session, and that’s when I realized: I had stopped explaining things in the second episode. Completely. I was commenting on things, but I wasn’t explaining anything. I might as well have been talking about the weather. There was no context as to why I was adding the nodes I was adding, or choosing one node over another. Without that, there was nothing for a viewer to latch onto to understand and learn from what I was doing. I had just gotten so caught up in doing it that I got lost in my own thoughts. It was not a positive education experience for the student.

So despite over 17 hours of invested time, I deleted the series, including the episodes I had already uploaded but not yet made public. It was a painful decision, but it had to be done. I started posting videos to teach, not simply to show that I can do something. I already have a plan to re-record the series, as I want to get it posted before mid-April, but there are changes I’m making to ensure I keep the education content as high-quality as I have always wanted it to be. Hopefully, you’ll enjoy it once I get it posted.

I just have one request – if you ever feel I’m lapsing into rote ‘just do this, then do that’ without explaining why, please call me on it. I want to ensure that what I deliver to you for tutorials are able to give you the education that you are looking for!

Marketplace Reviews To Save Frustration! 1

Posted on March 14, 2016 by Keith

Race Course Pack MarketPlace Reviews Title Screen

I have started posting Unreal Engine marketplace reviews on the channel over the last few days and I plan to keep them going regularly. Why, you ask? Because I want to be a ‘go to’ resource for game developers. This includes providing insight into purchases so that you can make more informed choices about where you spend your money. Many if not most of us considering marketplace purchases do so because we lack either the time or the experience to do everything we want to make our games great. For that same reason, we can’t afford to gamble our financial resources or time on items that may sound or look great on a web page, but are lacking when attempting to use them.

In my marketplace reviews, I try to look at the items from a developers viewpoint. Not just ‘are they worth the money?’ Much more needs to be understood when choosing, such as how difficult will they be to implement. Is there sufficient documentation for a game developer to fully understand the package? Will a developer have to deal with a lot of excess ‘baggage’ in the organization or contents of the package? I want to answer these questions for you. An excellent package may still be a bad choice if it lacks something important to you! My ratings system will likely evolve a bit over time as I’m trying to sort out the best system for each category of item, but the underlying approach and what I hope the viewer will be able to use in making decisions will remain constant.

At the time of writing this blog post, I have slightly less than 140 packages in my vault. This means I can post marketplace reviews 2 – 3 times per week for almost a year before I need more. Even then, I’m still buying regularly, so I see no end in sight to reviews. That said, I have a request – let me know what you want to see in reviews. As you would expect, there are certain things I’ll avoid such as exposing blueprint code in a blueprint package or playing audio files from a sound package, as that wouldn’t be respectfully appropriate to the creators of that content. There may still be other things you would want to know though. I’d like to know what detail would help you to make your decisions effectively, so please comment here, or on a review video. I’m happy to have your suggestions!

Changing My Approach to Recording & Editing Tutorials – Let the Weekly Blogging Commence! 1

Posted on March 09, 2016 by Keith

Common Concepts - Beginning AI In Unreal Engine 4

The first of the ‘Common Concepts’ tutorials was posted yesterday, and it has already received 175 views as I sit down to write this, the first in my promised shift to weekly blog posts rather than semi-annual! In the new tutorial, Basic A.I. in Unreal Engine 4.10 Using Blueprints, I decided to begin taking a new approach to recording and editing. In prior tutorials, I would sit down and start recording as I worked through the topic on the fly. Then, after finishing, I would go back and edit the tutorial down to a ‘more streamlined’ format to eliminate a lot of the pauses and missteps. Unfortunately, a byproduct of that approach is that occasionally, a little too much would get cut, and occasionally caused confusion for viewers. An example of this might be me exploring one way of doing things, then deciding to go a different way and cutting the first way out but forgetting that a variable I created in that first way gets used in the second way but now it has no explanation – it just appears. That’s definitely not viewer-friendly!

The new approach works differently. I make an outline of topics I plan to cover, then make the slides, and then film in short segments focused on each section of the outline. I back up the tutorial after I complete each section. If in filming a section, I decide I don’t like it, or I feel I’m being unclear, or I jumble words, then I revert back to the backup and start again. By doing so, I ensure that any re-records have to cover everything, and nothing gets cut that will leave the viewer confused. It also makes it a bit easier for me to record, because I don’t have to plan for a multi-hour recording and editing session. As I record and am happy with each section, I add it to the video editing project in Premiere Pro, and that way the video is built over time without needing a marathon recording or editing session, which means I’ll be able to record more frequently!

The final change for the video is that I decided not to do any microphone post-processing other than a very minor de-noise filter. While I actually prefer my voice with the vocal enhancer on, I think it was making my voice a little more muffled. I also did my playback with my PC set at 60% volume, so that I could determine the level for my voice. If I could hear it clearly at 60% volume, then hopefully that means everyone else watching at full volume won’t have issues hearing me! Still, I want to make a mic test video soon to post, and have viewers offer feedback on what mic and settings work best.

That’s it for this first weekly post. I have no idea what I’ll post about next week, but I’ll try to make it good! What would you like to see discussed?

Some Thoughts On The Nov Epic Game Jam 2015 0

Posted on November 17, 2015 by Keith
Antigens Attack! Main Menu

Antigens Attack! Main Menu

Well, I finally did it. After many months of talking about it, I finally went into a game jam and came out the other side. The November 2015 Epic Game Jam, to be specific! It’s really the first time I’ve been serious about a game jam. Last summer, I gave a half-hearted attempt on the first day of one, but wasn’t really into it. I didn’t have the confidence. This time, I did, and it was sooooo worth it!

The theme for the game jam was ‘Desperate Diseases Require Dangerous Remedies,’ which I found out later in the Epic forums is a Hippocrates quote used by Guy Fawkes. Of course, the game that immediately sprung to mind before I knew that was one of a white blood cell destroying diseased cells. It seemed like an obvious one that others would be doing as well, but I had a vision of it from the start, and decided that finishing the game jam was more important than trying to be the most unique entry. So I sat down and, armed with a sheet of paper, drew what I was envisioning: a motorized white blood cell shooting diseased cells in a red space. So basically, a space shooter with a red tint. With that, I sat down and created a flying mechanic with a basic sphere that had an arrow sticking out the front. All I wanted to do was nail my flying mechanic.

Playing in First-Person Mode

Shooting Down Cells In First Person

Then I created an enemy using a colored sphere that I scaled to be more oblong. I didn’t think about AI or movement for it, I just wanted it to be there, and I was going to award points based upon the types of cells destroyed in a certain time. I was immediately bored. I liked the idea, but having it in wide-open space wasn’t interesting, and it really lowered the challenge level. So then came the idea of setting it within a textured cardiovascular system. I knew I couldn’t model out the system myself in the time I had, but I wanted to get something in place quickly. My previously-purchased ‘Underworld’ environment from the Unreal Marketplace sprung to mind, so I pulled it into the game and set about creating a circulation structure. The idea was now that the player would enter at one spot, and have to get through the system to the far side in a certain amount of time, with added points based upon the cells they destroyed. Except that I had no idea what the time limit should be, so for the time being, I just decided to track how long it took them and ignore the scoring system. That could be created later.

I had already decided to use my favorite weapons pack to get my weapon effects, and so then created my white blood cell model using Aartform Curvy 3D, along with a basic diseased cell. I decided to create three powerups as well, one for health, one for ammo, and one for shield energy. My idea was that these diseased cells, one they detected the player, would rush the player to try and destroy them. The player would have the option of using shields to stave off damage, but the shield energy would drop by the second, so it wasn’t a long-lasting solution. I then grabbed a previously-purchased Forcefield package and pulled it in. By the end of the first night, I had a playable level that used a different material set and colors for the Underworld modules so that it looked more organic, with my white blood cell flying around, and a shield system that looked good, but didn’t do anything yet.

A Third-Person View of the Action!

A Third-Person View of the Action!

The next day I jumped back in, and hit my first major roadblock: I hadn’t realized there was no way to use the AI for movement in 3D! So I researched and researched, and was burning through a lot of time, worried I’d have to drop my idea when the mental light came on. I realized I didn’t have to make the AI too complex. All I had to do was determine the vector to get to my player, check to see if the length was within a given range, then add an impulse to the diseased cell in that direction. After that, things became a lot clearer to me, though I didn’t end up with the diseased cells working as well as I’d wanted.

From that point, I added a second diseased cell, that I made more powerful, as well as a standard blood cell that wouldn’t act as an enemy, but just a psuedo-roadblock from a physics impact perspective. Things were moving well, and it was then that I decided to texture the walls differently to make them seem more ‘bloody’ and liquid-covered. For this I used the C-Media Advanced Materials 1 package. I made an instance of the Flat Opaque Water texture, modified the colors and properties, then used that on the Underworld modules. I love the effect I ended up with. At that point, I was getting tired and decided to spend the night relaxing with my daughters watching anime.

Another screenshot of the battling....

I didn’t get much done on Saturday. I spent most of the day doing stuff with my daughters, and tweaking the ‘AI’ for the diseased cells. It was then that I came up with the mechanic for spawning the cells, based upon the difficulty level, and also integrated the Quality Menu package from the marketplace, to ensure I had video and audio controls in place, in case I ran out of time. When Saturday ended, I was further along, but realized I might not have enough time to do everything I wanted to.

On Sunday, the final day, I had a more significant issue crop up. I was getting an ‘UNKNOWN_ERROR’ failure whenever I would try to cook or package the game. I could play it without issue in a standalone game launched from the Play button, but it just wouldn’t package. I spent a large part of my day trying to troubleshoot it, and was ready to give up on the jam, when a memory error caused Windows 10 to crash and reboot. When it came back up, I checked to ensure my project was correct, then attempted to build it again. It finally built, but only in a Development build. I couldn’t get it to generate a shipping build at all. Still – a development build would work if nothing else. I’d lost a LOT of time though. I decided I needed to focus a bit on polish and lighting.

I was really running low on time by then – only about two hours left. So I focused on my title screen and a main menu, as well as lighting. I SUCK at lighting. I really do. I just don’t get how it all fits together, and nothing was looking good. My white blood cell was grey, my enemies looked greyish and dull despite having colorful textures, and my powerups didn’t show up well. So I quickly updated all of the materials to have emissive colors and did some tweaking, which helped, but not as much as I’d hoped. At that point, I was out of time. So I packaged and posted it, and called it ‘done’ for the night. I was really nervous about the post-submission playthroughs, but there wasn’t much more to do at that time.

I was very happily surprised when the playthroughs provided positive feedback. The slowness stood out, but I expected that, since I hadn’t truly implemented the scoring system and constraints I had planned. The feedback did spark a determination to finish my original vision for the game, so that’s what I’m going to do, and then try putting it up on Steam Greenlight!

So what did I learn from the experience? First off, that if I failed to submit a game, it would have been disappointing, but not nearly as much as not trying would have been. Secondly, there are some external tools such as Substance Painter that I REALLy need to spend more time with before the next jam. Mostly, I learned that it’s okay to learn on the fly – I like doing that, but don’t get hung up for very long chasing down one way of doing something. Start brainstorming multiple approaches as soon as you discover an issue.

I’m really looking forward to the next game jam. I hope I see you participate as well!

What To Expect Between Now and Jan 4, 2016! 1

Posted on October 12, 2015 by Keith
Training at MP Pre-work 2

Training at Mindless Pursuits – Coming later this year!

There’s a lot on the horizon for Mindless Pursuits. Tomorrow will mark three months since I posted the first tutorial video, which was focused on the Generic Shooter Sample Project by Michael Allar in the Unreal Marketplace. At the time, I didn’t expect much. I was making the tutorial just to ‘warm up’ for teaching video game concepts in my daytime teaching job, and with so many tutorials and tutorial channels already available, thought no one but my students at school would ever see them. It was something of an impulse decision to post a thread about them on the Unreal Engine forums. Now – three months and over 400 users later, I’m getting a better handle on what I’m doing, both right and wrong, and have been thinking about what comes next.

Before we dive into what I’ve got planned, let me take a quick step back to explain my philosophy. After 35+ years of software development, coupled with tutoring and training others prior to becoming a licensed teacher, I learned an important lesson: you can be an expert and show people what to do, allowing them to learn by replicating your action and through rote memorization, or you can make them a part of a larger learning experience shared with you, where perfection isn’t the goal, but being willing to experiment, make mistakes, and learn through doing so leaves a more lasting impression. The latter is the core of my teaching approach:

Put the student in a position to learn by sharing the process of learning with them, warts and all, because in so doing, they are stimulated to think about the elements of the lesson as much as the end result, which teaches them even more than they expect. 

I’ve been asked more than once why I don’t edit out or re-record parts of my videos where I end up back-tracking because I’ve made a mistake, or why I would post a video such as the latest installment of the Top Down Shooter series, where I knew the solution wasn’t quite right. It’s simple: people will puzzle through these same issues themselves as part of the learning process, and by seeing the instructor do it, it helps them to know that it’s okay to make mistakes. It also help because then I can try to explain why I had to change things, or backtrack, so the reasoning becomes more clear for them as well. I myself only began using Unreal Engine just over 4 months ago. I’m a very fast learner, but I’m still just a learner myself. I certainly see no value in pretending to be otherwise to students that I hope to inspire!

So what does that mean for the plans going forward? Well, it means I don’t want to keep repeating those elements of lessons I know well enough and use often enough in various series that I become bored with them. A prime example of this is the hierarchy (tree) of weapons. If you’ve watched my videos, you’ve now see it a couple of times: a base weapon, a child weapon blueprint for projectiles, a child weapon blueprint for instant-hit weapons, a child blueprint for melee weapons, and then children of those for specific weapon implementations. It’s something I would implement for almost any game I would create, and so it becomes a repeating element of any series I record. I would much rather record a set of tutorials on how to create various weapons in a hierarchy once and revise it as needed for Unreal Engine changes, than to have to recreate it for each series. I also believe that my students online would rather not have to repeat it every time as well. So instead, I’ll create a standalone series on building a robust weapon tree, and then reference it from within future series. Not only does this mean I don’t need to continually re-record the same type of content, but it opens more time for me to provide unique tutorials on more game-specific items.

Training @ MP Pre-Work

Another look at Training at Mindless Pursuits – Coming Later This Year

Because I am going to make this change to my approach, I am going to be implementing it in the remaining parts of the Top Down Shooter and First/Third Person series. Once the weapons piece of the First/Third Person series is done, I’ll make a ‘master’ weapons series to be referenced in the future. After that, if I have a tutorial I know will be referenced in multiple series, I’ll create it as a standalone and then reference it. Examples of this that are coming up are (in no particular order):

  • Building a character class tree for easier character class creation
  • Implementing ambient music
  • Creating a reusable blueprint template for sounds based upon physical material type
  • Creating a basic attacking and hiding AI
  • Basic connectivity to a listen server for multiplayer games
  • and more….

Meanwhile, there is still a fair amount left to cover in both the Top Down Shooter and First/Third Person series. Between now and January first I hope to finish not only the standalone series listed above, but the two current series as well. That doesn’t mean ending them early, but once all of the items that need to be covered are completed through in-series and standalone tutorials. Additionally, I plan to begin the Non-Massive Multiplayer RPG tutorial series in December, and that will mark a new approach for me, where the online students get to weight in on what will be covered. More details on that next month. Please note that I am not promising to finish every topic I have in mind before January 4th – that would be a LOT to accomplish considering my other commitments to work and family, but I’m going to do as many as I can do well!

Finally, I’ve been working on the education site I’ve been wanting to provide: Training at Mindless Pursuits. You can see a couple of brief glimpses in the screenshots in this post. The goal of the site is to provide tutorials and learning opportunities for a number of game systems. Obviously, my initial focus is on Unreal Engine… and it may turn out that I never expand much beyond Unreal Engine because I enjoy it so much! This will be a full-fledged eLearning site built upon a combination of the Open Source Moodle learning management system, original content created by myself in video and interactive formats, and group discussions through course-aligned forums. I’ve been working on the build for a month now, and have the first two courses built. I want to have at least three more completed before I launch. If all goes well, I will be launching sometime around January 1st. I want this to be an in-depth training site for those who have an interest in-game development. Hopefully I can get it there. The biggest impediment is time and expense, but I’m trying to address those!

So that’s it – what I have planned between now and January 4th (which is when the December holiday break ends for school). I hope it’s of interest to you, and feel free to give me your feedback and requests. I have set up a page that lists the topics I currently have in mind, and will add to it as I get requests that I feel I can do a good tutorial on.

See you in the next tutorial!

Videos will be posted on Saturday 0

Posted on September 24, 2015 by Keith

The videos for this week (both Monday and Wednesdays) will be posted on Saturday back-to-back. My PC had become corrupted and needed a full software reinstall. I didn’t have time to start doing it until Tuesday night, but then suffered the loss of a close friend (the second in a month) and was not up to working on it. I will be finishing the rebuild Saturday AM and then I can start encoding the uploads.

My apologies for the added delay.

First week of school hiatus 0

Posted on September 07, 2015 by Keith

During the first week of school (this week for me as a teacher), I am going to need to stay after class for rewiring of my lab and not have a chance to record or edit recordings. As a result, I am declaring this a ‘hiatus’ week, and tutorials will pick back up beginning Monday, September 14. This will give me a chance to finish editing what I have already recorded, and record the following week of tutorials as well so that if I need to remain at the school again, there won’t be further disruption. *crosses fingers*

An additional delay on the Q&A Video – It will be posted tomorrow 0

Posted on September 04, 2015 by Keith

Screenshot 2015-09-04 19.42.22

After two hours of recording today, as I was recording the outro to the tutorial, my PC crashed. Recovery of the files didn’t work. Rather, the audio was recoverable in Adobe Audition, but the video was corrupt and can’t be recovered. So I need to re-record from the beginning. I apologize for the additional delay.

Top Down Shooter Q&A With Cleanup Video Rescheduled Due To Unreal Engine 4.9 Release 0

Posted on August 31, 2015 by Keith

The Q&A / cleanup video for the Top Down Shooter series has been rescheduled to Friday, Sept 3, as Unreal Engine 4.9 was officially released today and I want to upgrade the project series to that platform if there are no hiccups. I will be spending time over the next couple of days ensuring that the project as built to date has no issues with UE4.9, and then will be updating the Q&A tutorial to accommodate changes based upon upgrading (if changes are necessary). I am not a fan of waiting until the end of the series to upgrade to 4.9, given that the series is of indeterminate length but will be running at least two more months. So we’re going to take the upgrade path unless I find a compelling reason not to. The Q&A / cleanup tutorial video will be released this coming Friday, Sept 3rd instead, along with the already-scheduled Friday video! Thank you for your understanding.

An Important Update on Tutorials for YouTube! 1

Posted on August 19, 2015 by Keith

Things are a-changin’ in the Mindless Pursuits world. More specifically, I’m changing how I handle tutorials. There are a few reasons for this, but they all ultimately come down to being more efficient with my time. As I head into teaching a new school year, I need that extra efficiency to be able to continue offering tutorials on a consistent schedule. While it has some short-term pain, it will make for an all-around better set of lessons in the long run. So what is changing?

First off – the Zombie Shooter series is ending this week. The reason is very simple: Generic Shooter is deeply a deathmatch and team deathmatch project that is tailored very tightly to a given inspiration for a game. It’s a good system, and I am glad I bought it and was able to make some useful videos for it, but it’s not heading in the same direction my own projects are. That causes me to spend time away from my own projects looking for how to modify GS code, and that’s just not conducive to my overall goals and it really slows down how quickly I can produce tutorials. I definitely think developers should take a look at GS, but again – it’s just not for me, and I’ve been developing my own underlying toolkit for the last couple of months so I won’t be using GS for anything myself. If I revisit GS in the future for tutorials, it will likely be to provide a dedicated series to how GS gets configured to make it easier for new users, but not anything that alters code significantly.

Next up – I will be starting a new series on creating a First Person game from scratch, similar to the Top Down Shooter series. This series will use the new consistent format that I will be using for all future series. One of the benefits of the series is that learners won’t need anything but Unreal Engine and Epic learning projects to get started. This means they can dive right in without any further financial dependencies. Another benefit is that the series will offer tutorials in two versions, as appropriate: one using just free Epic assets (or assets I make and provide), and a version using Marketplace assets that I might integrate. This way, the learner doesn’t need a Marketplace asset to learn, but if they want, they will have instruction for some Marketplace items as well. A third benefit is that all non-3rd party content for each video will be posted on the same day as the video, so that learners have access to the files right away.

Lastly, there will be a monthly ‘full series release’ that is similar to how many tutorials work now with larger groups, in that an entire series from beginning to end will be posted the same day, along with the associated content files. This will allow a learner to work their way through the tutorial series as quickly as they want, without waiting between individual tutorial parts. As these take a lot of additional work up-front, they will only happen on a monthly basis. The first series will be released in either mid-September or early October.

A calendar that shows when tutorials will be posted to YouTube is forthcoming and will be posted in the next couple of days. I am also taking the rest of this week off from posting videos (save for the last ZS vid) in order to build up my read-to-post content and deliver content on a consistent schedule going forward. There are other non-tutorial things happening as well, but I’ll cover those in future posts. For those who are disappointed that the Zombie Shooter series is ending, I do apologize, but as discussed above, it’s the best course for me to take the channel overall. I am, as always, open to constructive feedback, and appreciate your support. See you in the next post!

Page 1 of 41234

↑ Top