The Power of Threading

I know a lot of people are afraid of threads when programming.  I kinda was for a long time.  They are confusing at times and can get out of hand as well.  The problem is to make a complicated game of any kind you have to learn them.  You don’t have to love them, but you have to get used to them so you can do things that games need, like streaming content, animated loading screens, and much more.

In short threading is powerful, but without planning it will knock you on your butt. 

In the early days of developing Violent Sol Worlds we did not use any threading.  We quickly realized that to do a giant streaming world you would need them.  The issue with plugging threading in is that it has to be planned.  If you do not plan it out, things will get out of hand quick.  The critical issue is design.  When you start your game, make sure you think of it in terms of what has to be running on the main thread and what can happen, out of time, with the main thread.

content loading is fairly easy to have happen in the background

What do I mean about main thread?  That is the main game loop, often times you care about rendering in that loop and player input etc.  The other stuff, like loading content, physics, AI, other strange interesting game-like things, can all be done outside of the main game loop.  I learned having something like content loading is fairly easy to have happen in the background.

How you ask?  You need to plan that out well.  If the game has a list of render entities that get drawn to the screen, you need to code that in a way that things can be added and removed from that list at a random time and not have things blow up.  In this way you can have the main thread put requests out to the loader thread to load in and create entities to draw.  The loader will work on them on its own timeline and eventually just pop them onto the list to be drawn to the screen.

In short threading is powerful, but without planning it will knock you on your butt.  Keep in mind that if planned out from the beginning you will have a powerful tool at your games side.  Often times some of the neatest things are done with threading and allow for a better user experience in your game.  Happy threading everyone!

The Power of POC in Game Development

What is a POC?  It stands for “Proof of Concept”

Ok, so that is out of the way, what is a POC used for?  We used it for Violent Sol Worlds early on to verify to ourselves that certain game play elements would be fun.  We made three POC’s.  The first was the top down walking and shooting, the second was the car driving, and the third was crafting.

PhysicsDebugWorks.gif

Each one of these POC’s had a singular purpose.  They were built to determine if the individual game play element was entertaining enough to be in a game.  We saw the potential for all three to be entertaining so Violent Sol Worlds was born into development. The POC’s were very useful and we used them effectively to understand if the game idea we had was actually a game that would be entertaining.

CowShooting.png

Now we are far along in development and we found another reason to use a POC.  That reason was physics.  We have had several iterations of our physics now and wanted to get a version that would be the correct version for Violent Sol Worlds.  So we determined that a POC would be a good way to get there.

So we started making a new program that would simulate closely the game when it pertains to physics.  The purpose was for a simple, only physics, POC that would show that the physics implementation was more correct for the game.  Once we had something that worked well we began to plug it into the game.

DrawingNormalsOfFaces.PNG

Once we plugged the physics into the game, we began to debug the integration issues.  Here is where a POC is proving very useful.  The integration of the new physics required a lot of changes in the game.  This was complex, but the physics system itself remained intact from the POC.  We are having an interesting mathematics issue which is causing the player to be able to move through objects in specific directions.

Tracing through the code was not good enough and proved to be misleading.  So we took the exact physics body files from the game and put them into the physics POC and tried to duplicate the problem there.  Turns out the POC works great.

WallAndPlayer.PNG

What do we do now?  We plan on debugging the two implementations at the same time and walking through the code step by step and seeing what part of the math deviates and when.  This will help pinpoint the problem and get us closer to fixing this problem.

So it turns out writing POC’s is a very powerful tool in all stages of game development.  I strongly recommend that you use them to help you develop systems for your games.  It simplifies things and gives you a tool that helps in your debugging and learning. Let us all know how you’ve used POC’s in your game development by leaving a comment.

Also come check out the game here on IndieDB

Busy as Wow

Man has this been a hectic time of year.  I’m not even sure when the last time I wrote was.  Here is what has been going on though…

Our team for Violent Sol Worlds has been working hard to bring a ton of major functionality to the core code.  We have a Screen System, physics, map transitions, rendering, and analytics all baked in the the real game now.

It has been a lot of crazy work, but we have done well.  With that we had Christmas, and all that goes with it.  I am currently working on getting world interaction in the game now.  Why don’t you come check out our pages and see what we’ve been up to?

Greenlight – come give us a yes vote

ViolentSol.com – Tons to read here including creature bios


 

Come be a part of our Kickstarter – Violent Sol Worlds

Vote now for our Greenlight here

Check out more information on Violent Sol here

Follow me on Twitter @magicrat_larry

 

 

There are Milestones Nearby, Let’s Not Hang Out Here Long

I’ve been doing indie game development for a long time now and what has contributed to my lack of finishing has been staying on a milestone for far too long.  When you do this you tend to slowly lose steam.  You need to keep moving and keep a pace that will allow for excitement in your development cycle.

You should setup goals and milestones because they setup victories.  Remember though, there is nothing worse than never getting past one.  If you set a milestone, those checkpoints are often the areas of your project where you will tend to bog down in details that might not matter.  Dose everything need to be perfect to mark that off, no.  Get to a point where the basics of a milestone are done and working and move on.

Iteration is the key to not stalling out at a major milestone in game development.  Say you want character movement done.  Set your first milestone for simplistic walking, not all of it including jump, crouch, climb, and crawling.  See each one of those can be a small victory not just one.  A lot of people tend to want to bundle large amounts of features in to one game.

Take time to think about the victory points in your project and make sure they are not too large.  Break things down to smaller victories so you can have one every couple of days.  Large milestones will slowly kill your momentum and make it mentally harder to continue to push on a project where you might not be getting paid to do it.


Come be a part of our Kickstarter – Violent Sol Worlds

Vote for Greenlight here

Check out more information on Violent Sol here

Follow me on Twitter @magicrat_larry

Validation, Get Your Validation Here

Everyone has  ton of ideas.  Ideas come so often that it is mind blowing that there really isn’t a flooded market for games.  The issue is really how do you refine those ideas down in to the one you want to make.

To do this my team has done a fairly simple process.  We take a meeting or two and brainstorm all the crazy ideas out on the board.  During this phase there are no dumb ideas.  Throw everything on the board.  Violent Sol Worlds came out of a combination of a destruction derby top-down game and a top-down survival game.  You never know what saying one idea with another will do to your head and what will come out.

Once you have your list simply start eliminating, for now, the ones that either you don’t like or cannot do.  The list should get smaller and smaller until you get down to a few.  Talk about them, see what you love about them all.  One will jump out at you as something that should be created.  To me this is not enough.  Just your idea is not enough to say it should be made.

You need opinions.  So what I do is simply start marketing it.  Go to social media and start talking about it.  As you are creating your POCs, you should POC everything, be telling people about it.  If they react well to the idea you will feel it.  Show concept sketches, Show game-play POCs.  Show everyone anywhere about the idea.  The people of the internet will tell you if you can sell the game.

To me at this point you have the two vital questions answered.  Do you love the idea, and will people respond to it.  If the answer to both those questions is yes then your idea is validated and should be created.  If one of those answers is no then go back to the brainstorming stage and find one that will work better.  Remember if this current idea is not good there are 500 million more in your head waiting for you to get all excited about.


@magicrat_larry – Join me on Twitter

Violent Sol Worlds home

IndieDB

Facebook – join the conversation

I’m Too Excited to Sleep – Meet Avrio

I am so excited.  Yes me, calm me.  For those of you that know me I am always excited, but today more than others.  We have started something awesome for our game Violent Sol Worlds.  We have started releasing weekly content posts on our site ViolentSol.com

worlds

You are a galactic settler dropped off on a distant planet to help humanity with its overpopulation and lack of resources on the core worlds.  In the game you will be playing in a top-down perspective and enjoy an awesome scifi theme.  The neat thing about it is that you will be able to craft tons of things like other survival games, but we also include vehicles in the crafting.  So you can not only drive a car but you can build them as well.

While you are surviving in the game you will also be enjoying the AI Overlord.  It will make sure you are having an engaging time on your new planet.  Gone are the days when you figure out survival and it is no longer part of the game-play.  The Overlord will inject new events, missions, and general awesomeness into you game and keep it fresh and new for you.

AvrioLogo_2

OK, back to the content releases.  Violent Sol Worlds is not only a scifi survival game, it has a huge, and rich, background story to it that you will experience in game.  We are releasing this content via posts on ViolentSol.com every Friday starting now with the Avrio Corporation.  We hope you enjoy the rich world we are building that you will be surviving in.  Come read about the Avrio Corporation and keep up to date by following us on facebook.

Are you Not Entertained?

I have a theory.  If you are going to make a game, you should entertain from day 1.  Not just when the game is released.

What does this theory do for me?  I strive to release content daily that entertains, helps, and energizes people.  If you realize that game development is entertainment then things like marketing and game design become one and the same.  If you are dull and drab in your development of the game chances are that will show in the game itself.  If you move in a direction of entertaining game development you will inject a life into your game that will be felt while playing it.

This also helps you create a community.  It drives me to write blogs, to tweet about our progress.  If you give yourself the need to have the development cycle be just as fun as playing the game itself it is highly motivating to you and your fans.

I always tell myself – Always be entertaining

You’ve played games that feel dead inside, and you’ve played games that feel like they were made with love.  My theory is that the energy that the developers had trickles in to the product and without a feeling of entertainment during the development cycles there is just no life to the product.  I could be wrong, but I don’t think so.  Worst case here is that it makes the hard work more enjoyable and keeps me motivated.


If you have not checked out my current project…

Violent Sol Worlds home

IndieDB

Facebook – join the conversation

@magicrat_larry – Follow me on Twitter

Animal Design, Yes I Said It.

What do you write about when you do the same thing for days in a row?  It is hard to figure out what to say.  I’ve been just writing up descriptions of creatures that have the potential to make it in to Violent Sol Worlds.  It is a fun task, but I find myself not wanting to just write about specific animals in this blog because the games website will do that.

It is fun though, I tend to just type in something like “Swamp Creatures” in google and flip to images and see what shows up.  Usually something in there is inspiring for a creature to describe.  Plus it is not just a description, it has to do with do they travel in groups, what do they eat, and how is their temperament.

For instance we have a rat-like creature that travels in groups, but only attacks wounded animals or characters.  In the end I am hoping we have a good spread of unique animals that populate the world you are settling and makes it feel alive.  We want you to enjoy the world and make it feel full and living.


If you have not checked out my current project…

Violent Sol Worlds home

IndieDB

Facebook – join the conversation

Hey Look Game Design!

Going full design, what an interesting transition from prototyping game-play.  We spent a while getting the visual and the game play experience ironed out for Violent Sol Worlds now we have a great understanding of how this game will look, feel, and play.  We now have to turn our attention to the design of a game that will encompass all that we now understand about it.

There seems to be two areas of design so far.  The technical, which Aaron is running straight in to now, and the world, which I think interests me more.  The technical generates things like flow charts and systems behind the scenes that all communicate together for the game loop to function well, and effectively.  It is important to get that correct, especially for Violent Sol Worlds, it is going to be something we have to live with for a long while.  We plan on extending this game over time to be much larger than it is at Alpha build 1.

The world design is interesting to me because it is a lot to do with what you will be seeing, hearing, reading, and interacting with.  I am working on animals now and it is a bit of an experience in itself.  I started with the types of biomes the planet will have, now I am thinking of how to come up with the animals that live within them.

Nothing, when done right, with love and care, is easy.  So getting the creatures correctly placed and balanced with different types that will make sense is a task in itself.  I need a system to think about it and that is what I am coming up with now.  It is an enjoyable phase of development and I can’t wait to continue the journey.


If you have not seen the game I am a part of here are a few links…

Facebook – Like us on facebook

ViolentSol.com – Homepage

IndieDB – Indie Games Community with news, screenshots, and video

Problems Generated By Successful Actions

I used to think that game development was this glamorous, fun, coding, experience that was intense but just a blast.  I know better now.  The truth behind game development is that it is a lot of work.  It still is fun, but there is no glamour.

What do I mean?  Well Let me tell you my story.  I used to do this as a hobby.  I loved to make cool things render to the screen.  I would play around with it for a few hours a week.  Then it turned into a few hours a day.  From there I gathered people, they wanted to make games.  So it turned into 20 hours a week.  At that point I mostly coded, still seemed like my vision of what I though game development was was true.

I then started to think, if we get a game to the finish line, how do we sell it?  Then entered marketing time.  I started about 5-10 minutes every day.  That turned into 30 minutes.  Then it turned into and hour.  Before I knew better, it was my entire 20 hours a week.  Is that bad?  No.  I am driven by success, so as I got feedback and validation from people, like you, I spent more time doing it.

Now, I reach a problem.  The fans, followers, and generally great people that I strove to entertain are pushing me further.  I am out of time.  Eventually I need to code the game, keep up marketing, and innovate in both areas.  We have to get this to be a full-time equation soon or things have to be cut.  Problem is you cannot cut either development or marketing because you’d be cutting your own projects head off.

I love this problem, can’t really have a better one.  I just have to solve it and continue to grow.  Love all you people out there that drive me, keep it coming and I do pass it on to our team that is working on the game.  Problems generated by success mean you are participating in life and not just along for the ride.


If you have not seen the game I am a part of here are a few links…

Facebook – Like us on facebook

ViolentSol.com – Homepage

IndieDB – Indie Games Community with news, screenshots, and video