From Ideation to Game

The Beginning

I have decided to start a project with my two younger boys Camron and Curtis. The journey we are going to go on is to create a digital game from ideation to completion. We will be doing this all while live streaming the experience. I am currently working on a schedule in which we will stream the different parts of the process.

This will be quite an experience. I just recently starting streaming on Twitch under my handle CorvusNite. I’ve already learned a lot and will continue to evolve my Twitch content between gaming myself and building the game my sons come up with.

The Game – Episode 0

What do I expect my boys to want to build? Well based on the fact that they love to play Minecraft I have a gut feeling that is where their ideas are going to start. I’m going to push them though to create something completely unique instead. My first session will be myself, and my boys sitting around a table and literally drawing up ideas on paper. We will have open discussion of our ideas and between the three of us we will land on the game concept. From there is where the creative process will really get going. We will have to do everything from game mechanics to design aesthetics. If the game has characters we will have to work through character design principles. Next we will have to discuss our strategy of how we attack building our first MVP.

Development Begins – Episode 1

The next step for us will probably be starting the rough game development. I’m not sure at this point where we will start. It will either be jumping right into a game development platform and starting basic game concepts in code, or it could be starting on the development of graphics for the game either way this will be more of a screencast. I’ll do commentary as I go. I will discuss the decisions I’m making and why. Occasionally I will have to consult with the game designers (My sons).

Crowd Participation

I am hoping to get a community around this project and they will have input as we move forward through the design of the game. This will come in the way of polls as well as just people contributing through chat in Twitch or commenting on the archived YouTube videos I post. If people would like to directly contribute we would find a way for them to join us. The goal though is that majority of the development of this project is streamed to show the process and the work that goes into building software.

Conclusion

I hope this project will be a success and that others will enjoy watching the process. Please feel free to give some suggestions if you have them as well as feedback.

Doesn’t Engineer == Problem Solver?

Consistently throughout my career I’ve ran into situations where problems happen within engineering teams. I’ve heard war stories from others at conferences regarding team issues. It continues to baffle me why engineers can solve technical problems but not human issues. The primary reasons I decided that a software engineering career for me was that I love to solve problems. I’m hoping that others joined a career of engineering for the same reason. Why then do we not treat non-technical problems the same was as any engineering problem.

Think of it this way. Let’s say you have a performance problem with your web application. The first thing we probably do is think through the potential areas the problem could exist.

Potential Causes

  1. Resource Sizes
  2. Database locking
  3. File sizes
  4. Missing caching
  5. Etc.

Then we determine a way to prove them. After that we replicate the issue and work toward a solution. Why can’t we do the same thing with team problems?

Let’s take a scenario of performance to the people side. Let’s say that our scrum team that continues to not deliver on our commitments. Wouldn’t we think through the problem the same way? Let’s look at potential causes.

Potential Causes

  1. Underestimation
  2. To much external noise
  3. Client issues
  4. Inter-team conflicts
  5. Etc.

The next step would be to determine how to prove which one of the causes it really is. Let’s think through this a little further.

1. Underestimation

For number one we could just pull back our estimates for a few sprints or automatically add buffer to our sizing strategy to create buffer till we actually meet our commitment.

2. To much external noise

For number two we could start to track the external disrupters. This could be logging how many non engineering related meetings we have.

3. Client Issues

For number three we could probably just look at our ticket system to determine how often we are getting said number of tickets which could lead to number two being the problem again.

4. Inter-team conflict

As for number 4 that one is tougher. This could be done by getting HR or outside counsel to talk to team members to find out if there seems to be issues. This is sort of the elephant in the room problem though and it depends how easy your team is willing to have open conversation in the end.

Either way the same practices we do to solve engineering problems can be applied to any other issue we run against. I still find it very hard to believe how many times I run into teams or hear stories about how someone continues to come to management or others with problems without ever applying basic troubleshooting steps to their problem. Maybe if we took ever problem on similar to our engineering tool belt we would get to resolution much faster.

To me engineering is all about solving problems and we should use the skills to solve any problem we have. It’s a game to me. I really enjoy it, which is why I got into this career.

Have you ran into engineers being unwilling to solve problems that are not technology related? How did you get past the problems?

Perfect architecture or just enough architecture

Have you ever debated the amount of architecture needed? If you have began your career progression as an architect or a software engineer with the role of architect, you probably have questioned the appropriate level of architecture. Terms will be thrown around like explicit architecture versus intrinsic architecture. Maybe intentional architecture versus organic or emergent architecture. Either way you begin to question what is the right level of architecture for your solution.

If you have experienced things like I have in my career you go through waves where you think you have all the answers to find out they were all the wrong answer. The truth of the matter will become clear at some point that there is not a perfect architecture, there is only the architecture that meets the needs today. Eventually it will get broken. If not by use by time.

I feel the job of the architect whether it is role or whether it is a position is to minimize the risk of change. This means usually putting just enough architecture in place to make it easy to change later. This is more art than science. This is where the engineering brain you may have will beat you up. At some point you have to be able to work in the grey or you will not make it in your career.

I feel like I’ve reached the point in my career where I know how far to go without killing a business or killing the engineers that work on the project but I’m sure others may have different opinions. Either way I’ve learned to get out of the way more and not feel like I need to architect every aspect of the software. At the end of the day no one cares about the architecture except the architects and the engineers that have to change the system, unless you have a very technical product team that understands the trade offs. Your customers whether internal or external do not care as long as the software meets their needs. They will care if they are paying regular though whether you can add additional value and that is where the customer unintentionally will care about the architecture whether they know they do or not.

What are your thoughts? Is there a perfect architecture? Is there ever enough architecture? Does your organization care about architecture? Do they understand the need?

I’d love to have some conversations on this topic with others. Catch me around other meet ups and conferences if you get a chance.

Community Community Community

So I started writing this on the last day of That Conference. Last week I had the opportunity to attend multiple Open Spaces sessions as well as a few topics while volunteering. The one common thing that still astonishes me is the way this community has came together. I missed the last couple years for one reason or another. This year I happened to work the registration desk a few days and time and time again people would turn in things left behind from others. Everything from purses to laptop bags with laptops still in them. It is amazing how well this community looks out for each other. The reactions of the folks picking up their belonging was just amazing.

The open spaces conversations I participated in or saw all were focused on helping each other. This just shows how much this community wants to give back to each other. No one really seems to ever show much of an ego. I was able to ask some first year attendees how their experience was. They were shocked at how much they were getting for their money as well as being able to find tons of content they wanted to see. In fact they stated it was hard to decide what to go too because there were so many good topics.

Clark, Carrie, and the “That Crew” have truly built a great community that I full heartedly expect to grow. It already has quite a bit and the say off season messages that go around show just how much of a community not just a conference they have built. I hope to be able to continue to be part of “That Crew” and help build this thing even bigger.

Stay tuned as I am about to get my blogging back on as well. I feel I have not contributed to the community outside my work in quite a while. I will also be looking to get back into the speaking circuit as well.

Blog hiatus

Well…I haven’t been doing a good job of blogging recently. Life has been busy for me. I’ve been keeping up on my technology but also working on music. I’ve been getting better and better at guitar recently. I’ll probably be doing some live streams eventually as well. This week is That Conference and I’m camping for realz at my summer camp for geeks.

I’ll do some posting this week of what I learn as well as some of the side topics that happen. One of the greatest things greatest things about getting together with a bunch of other geeks is that we get to share our experiences and advice. The speakers are great but sometimes the hallway conversations are even deeper. I can’t wait to get to interact with a bunch of fellow geeks.

One topic I’m looking to bring up is managing very large project teams. The current project I’m over has 11 scrum teams and continues to grow. I think I have some new insights for folks that I would love to share.

If you are at That Conference come chat.

Drawing Journey Continued

So I’ve made my commitment to improve my drawing ability. I’ve been drawing daily since the 22nd of December actually and have seen some progress already. It really is true practice makes perfect. I’m definitely not moving as fast as I would like but that is because I’m very impatient. Either way I feel I’ve made some steps in the right direction.

I’ve created a page for all of my drawings to be displayed. Below is just one of the drawings I’ve done so far. I’m continuing to work on it as well so it will evolve. I will probably bounce around between it and other work to keep things fresh though. I have a hit list of technical skills I want to learn which include using silhouettes for character development to learning better coloring techniques.

daytwoskeleton

If you are interested in following my work check back from time to time and look at my drawings page.

A Drawing Journey

This is a good time of year to reflect on what you have and haven’t done. As I look back I’ve always dabbled in drawing or what I would rather call doodling. I’ve never really spent a lot of time practicing anything. I’ve made a decision that I need to focus time on this as I would love to be able to draw some of the crazy things in my head. My goal will simply be to improve.

I’m planning on spending time each day drawing. In preparation for this I’ve been looking through YouTube channels and trying to determine a path. In my search I ran across a channel called “Draw with Jazza”. This is Josiah (Jazza) Brooks channel where he has accumulated a ton of content around character creation and just general drawing skills and techniques. On another note the guy is also entertaining as well. Over the last couple weeks I believe I’ve watched 24+ hours of content that he has up for free. I’ve now bought his brush set, his book, and even some other peoples Photoshop brushes he mentioned. Good Job Jazza on your marketing skills!!!!

The Tools

I’ll be sticking to digital because well I’m a geek in the technology industry. I’ll be using a variety of equipment from my Surface Book, to my iPad Pro and Apple Pencil, as well as a Wacom Intuos Tablet I have on my desktop. Man I wish I still had my Cintiq. Why do I have all these tools? Well I also have done photography and videography in the past so I used them for editing things.

I also subscribe to Adobe’s Creative Cloud so I will be leveraging a lot of Photoshop and other products in the suite as I deem necessary. Jazza happens to be an animator as well so who knows maybe I’ll jump into animation as well.

Stretch Goal

My stretch goal is to take some creation over the next six months to a year from sketch, to concept art, to 3D!!!! Those that follow me know I do software engineering and also work in 3D from time to time. I personally own a Microsoft HoloLens, Oculus Rift with Oculus Touch, and Google Daydream. I’d love to build a game this year as well so putting this all together would be amazing. We shall see though as this is ambitious.

Where do I start?

Well I’m going to start in a vulnerable spot. I’m going to share what I’ve drawn each day in raw form. Hopefully we will see a progression along the way. I’m going to figure out the best way to share here on my blog so to not blast to many people. I may make a separate section for it. I’ll do a post when I figure that all out.

I also want to do some streaming raw of my attempts at things. I’ll be posting those to YouTube when I get over the nerves of sharing things hehe. Maybe I’ll even do a live stream at some point.

To start this is my first attempts at using construction lines to create a head. I’m struggling with changing the perspective but I’ll keep practicing.

FirstTakeAtHeads