Life should be fun!

Mindless Pursuits


Archive for the ‘Game Development’


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.

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!

Why I Have Delays And The Upcoming Tutorials Planned 0

Posted on August 11, 2015 by Keith

I’ve fielded some earnest and justified comments about the delays in my videos over the last week, and I want to take a moment to address them. Those who haven’t been familiar with Mindless Pursuits in the past (which are most of my subscribers on YouTube since they are all new) can be understandably frustrated at the delays in a schedule I had hoped would be more tight and consistent. There is a reason for it, and it’s very straightforward: I’m a survivor of multiple battles with cancer who also deals with other chronic health problems, and as a result, when I get ill, I tend to get very ill. Without going into all of the TMI around my medical stuff, I’ve been dealing with a bad ongoing cold / bronchial infection that led to inflammation of scar tissue in my throat that caused my voice to go away for a bit. To try and heal that, I was given anti-inflammatory medications, and if you have ever had those, you will know that they are often steroid-based, and steroids damage the immune system. Having had a battle with cancer as recently as this year, my immune system hasn’t rebuilt much, and so the steroid-based meds tore down what little immunity I had rebuilt, opening the door to another cold. Thus, delays that I couldn’t anticipate but that are necessary as I need to get my health back. With all of that said, I will be continuing to create tutorials, and so let’s review what I have planned.

First, the Top Down Shooter series will continue with completing the Instant Hit and Projectile Weapon implementations before continuing into building a HUD and aiming mechanism. The Zombie Shooter / Generic Shooter Sample Project vids will be continuing with a series of shorts and one-off videos, the first of which will center on jumping and sprinting with stamina. There will be a series of ‘How Do I?’ one-off videos that apply to 3D games in general such as ‘How Do I create A Gibbing Effect?’ or ‘How Do I implement Rocket Jump?’ Most of these videos will be based off of subscriber requests. Finally, I’ve been scripting a series on game development practices and how they align with standard software practices so that you can ensure the best quality in your game endeavors.

One other series that will be forthcoming over the next month or two will simply follow my own development methodology. When I make tutorials, I tend to do it off the top of my head, which is admittedly NOT how I do things when I’m doing them just for myself. That’s why, in some of my tutorials, you’ll see me jump around a bit as I remember things, or try something different. I use the tutorials to demonstrate how a developer might work through things as they learn, as I find that often makes it easier for others to learn as well – they don’t feel so alone in trying things and refining their efforts. There is value in an authoritative approach to videos where everything is done smoothly and perfectly on the first try, but when I am learning things, I find that less valuable as it doesn’t make me thing through the ‘why.’ However, I think it will be a good series to show how I approach things for myself, where I document program flows, write pseudo code, use programs like Articy Draft and more to nail down what I want and need to do before I touch code or blueprints in the editor. I guess we’ll see if others find that valuable as well!

Finally, even while ill, I’ve been able to make some progress on the interactive training site. The interactive training site will allow a learner to approach a topic in a manner that ebbs and flows with their learning speed and technique. So for instance, a learner who does better by being quizzed about their knowledge as they go along, in order to reinforce that knowledge, the system will handle that… whereas the learner who like to be presented with concepts and then just work on their own until they master them will be accommodated as well. It’s a lot of work to set up, but I think it adds a lot of value for those wanting to learn new skills. Assuming I can get my health back on track this week, I hope to have the first interactive lesson available by the end of the month so I can begin getting feedback from my ‘students.’

So that’s what is happening! Hopefully I’ll be back into good physical health soon so things move more quickly, but they will definitely keep flowing over time regardless. Take care, and I’ll see you in the next tutorial!

Understanding the Trello YouTube Tutorial Board 0

Posted on August 01, 2015 by Keith
The Trello Board for Tutorials on YouTube

The Trello Board for Tutorials on YouTube

If you’ve been out to the Trello board where I maintain the lists related to the tutorials on YouTube, you may find yourself wondering what everything means. There are a lot of cards there, spread out over many lists, and with many different markings. It can get a bit confusing! Let me break it all down with you, starting with the list names. As most people read right to left, and want to see what’s new and what’s about to be posted, I actually have the lists ordered from last step to first step. For our discussion, let’s walk through the list names from left to right, though.

  • Requested. This list holds all of those tutorial requests I’ve received that I’m still considering and haven’t yet committed myself to, even if the commitment is only in my head!
  • Planned Series. These are not individual episodes, but series that I have committed to making, but I haven’t planned them out on an episode basis yet.
  • Planned Episodes. These are individual episodes that I have a plan for, and a documented focus. They still need to be plotted (and in some cases, scripted), but they will definitely be made in the future.
  • In-Progress – Episodes Plotted / Scripted. These are episodes I have started production on, and have completed creating outlines for. Most episodes I can create ‘off the cuff’ and I prefer that, but in some cases, I need to plan things out a lot more. For instance, once I discovered how much work will need to be done for implementing True First Person with the Generic Shooter, I needed to work on a detailed outline to ensure I wouldn’t forget to explain anything.
  • In Progress – Episodes Recorded. These episodes have been recorded but are awaiting editing. They may consist of multiple separate video files and images, and are not ready to be viewed.
  • In Progress – Episodes Being Edited. The next step in the process is to put all of the different elements of a tutorial together, and remove gaps, cut bloopers, limit ‘uhhhs’ and so on. The reason why this heading is not in the past tense is because sometimes, I will need to re-record or record new supplemental material, and don’t know it until I am in editing.
  • Completed. The tutorial is fully edited, and is ready to be encoded and scheduled for upload to YouTube.
  • Posted. The final step – a video has been uploaded to YouTube. As this point, the video may not be set as ‘Public’ and be viewable. The reason for this is that I am starting to upload videos in advance so that I can reduce delays when other areas of production go awry.

With all of that noted, here are some details on what the various stickers mean!

Trello

This clock sticker means that I have the episode scheduled but haven’t uploaded it yet. I plan my schedules based upon a number of different influences, so some completed tutorials may be scheduled for a ways out in order to tie in with other activities.

TrelloCheckMark

The check mark sticker notes that an episode has not only been uploaded to YouTube, but it has been viewed in full to ensure there are no issues, and the description and settings have been updated to make it viewable to its audience.

TrelloInterrobang

The interrobang is one that I had hoped not to have to use, but if you look at Trello right now you’ll see a lot of Zombie Shooter tutorials with it. This sticker means that a video in Completed status needs to be re-worked, either from the ground up, or from one of the In-Progress stages. In the example of the Zombie Shooter, the decision to move to True First Person view sooner as a result of the issues discovered with first person crouching, means that all of those videos need to have some re-work done – most likely in editing. If you see this symbol, expect delays in those episodes being online.

TrelloStar

The star denotes an episode or series that will only be available to patrons on Patreon. It is a perk for pledging support for the development of tutorials, and are available to patrons of $5 or more per month.

TrelloRocket

 

The rocket sticker means that this video or series is only for patrons of $25 or more per month. These are longer, more in-depth tutorials.

TrelloLabels

Finally, these are the labels that are used for noting what the basic content of an episode or series is targeted to. Once you get used to the colors, you’ll be able to tell at a glance if the tutorials may relate to your interests or not! So there you have it – an explanation of the Trello board. If you have more questions, please feel free to ask!

Another Quick (Text) Update on Videos! 0

Posted on July 29, 2015 by Keith

Part 2 of the Top Down Shooter Series will be posted Friday, two one-off special vids I had worked on prior to getting this cold will be posted over the next couple days, and I’m going to try to record the Zombie Shooter – How to Apply Generic Shooter Sample Project Updates tomorrow to post during the day tomorrow. I cannot promise the last will be completed.

For those new to Mindless Pursuits, I am a survivor of multiple battles with cancer. As a result of a lot of chemo-induced nausea, I have a lot of scar tissue in my throat and some in my larynx. The cold inflamed this scar tissue, and having to run the A/C here in Minnesota has made the air so dry that it is irritating the tissue even more. I was prescribed a couple of anti-inflammatories today, but they may take a couple of days to work and I was told not to stress my voice, so I’m trying to take it easy.

Regardless, things will go back onto the regular schedule beginning Monday, as this medicine should allow me to get back to recording by the weekend (I hope), and if not – I’ll use the robot voice temporarily and redub the videos as soon as I can.

I apologize for the issues!

We’re Working On Game Jam! 0

Posted on July 23, 2015 by Alex

Hey everybody, I’m here to give you some exciting news. Mindless Pursuits is going to be participating in the Unreal Engines latest “Game Jam”. This is a weekend long event to create a game that corresponds with a specific theme. However, the theme is fairly vague and allows plenty of room to be unique, so we can go about it how we see fit. The theme for this weekend is “Rocket and Roll”, and we can go about this in anyway we want. There are multiple rules and information concerning the Game Jam, this information is right here: Game Jam 7/23-7/26. This is a major project that will be a whole lot of fun for us. We are hoping to start livestreaming our work later tonight, that way you can see through the game development with us!

That’s all for now! Wish us luck and we’ll be posting more information about the livestream later.

Alex



↑ Top