Day: 324:1 Yay!Nay!Fail!Again!

Here’s the breakdown of what has been happening with my game project.

At some point long ago I successfully created my game mechanic. Yay.

After that point, I attempted to build many game plays and game ideas to use the mechanic. I found out many of my gameplay ideas didn’t work out, and many were hard to build. That was rather discouraging. This is an obvious statement, but when there’s no clear direction of where to go for development. Everything slows to a crawl. On top of that came along the holidays and preparing for a whole lifestyle change. My game project began to collect dust.

Fast-forward to now. Holiday’s are over. Lifestyle change is still ongoing, but a little less hectic. I found time to work on game development again.

But I was still quite lost as to what I should do exactly, so many options I was thinking about. Then a chat with a fellow developer friend (@jmstout) happened. He gave me a simple attractive gameplay idea, with a little tweaking and going back and forth. I was pretty content with the idea, issues that my game mechanic caused other game play ideas no longer existed. It was time to get to work on actual game development.

A few hundred mental visualizations and scenario testings later and a very lazy sketch. I’m finally game developing again.

Here’s a sneak peak screen shot….Yes not appealing at all..and it’s only for me to understand and see what isn’t drawn. MUHAUHA. My mental visualization looks a lot better. Trust me?

IMG_2613

It’s Day 324. But I feel like I’m starting all over again with a clear direction, so to make myself feel better about my failures. I’m saying It’s Day:324:1.

1 marking today as the first day of my gamedev for modified game vision.

Stay tuned as every now and then I procrastinate to write these blogs and tweet updates about my game development.

P.S I do realize, I have an audience of nearly zero. However, I like journalling my progress on my projects. My god my writing sucks.

 

 

Day 248: Got to make it a MVP(Minimum Viable Product)

It’s been 44 days since my last post…Sorry.

I’ve been trying to get my primary game mechanic working flaw-lessly. Apparently, it’s incredibly hard for me to figure out how to do that. My ‘dead-line’ is the end of the year to publish or ‘ready for publishing’. That is literally 57 days away. Which basically means it would be a miracle to get something even remotely polished ready by that time.

So I’ve decided to cut corners and seriously start building all my game elements and make a SIMPLE MVP GAME. My goal is honestly to just release something by the end of the year. I don’t expect it to be a success in any shape or form.

After all this time, I’ve actually never figured out the game-play of my game…Because I was supposed to figure out the game-play after I prototype primary mechanic to get a feel of it. Which by the way TOOK FOREVER FOR ME TO DO. *Insert profane word here*.

A couple days ago. I narrowed down what my gameplay will be. I may have to trim out certain features, because as I write this blog post, I’m realizing there are things I can trim out to stay true my ‘MVP’ goal.

Seeing that I only have only 57 days left. Every second I can use to work counts, so spending 15 minutes to write this blog post is me wasting precious time. But I’m also using this blog post to help narrow down and create a checklist of things for me to complete in the following weeks, so without further ado.

  • Environment
    1. Create working Screen-Edge Teleportation
  • Player
    1. Matter & Density Collection Manager/Life Manager
  • Enemy AI
    1. Enemy Types
      1. Responsive and Reactive to Player position
        1. Enemy that appears at fixed point, and builds energy up to ‘charge’ at player
        2. Enemy that follows a Player
      2. Basic Rigid Path Enemy – Collision Type
        1. Fly-By Enemy
        2. Travel-on-Band Enemy
        3. Zig-zag/Fixed set pathway/movement Enemy
      3. Unknown Enemy Type…
        1. Enemy that increases Matter on contact with Matter. With magnetic power up. (This is where a magnetic powerup gets dropped)
  • Items
    1. Matter types
      1. Highspeed moving Higher Mass Matter item
      2. Lowspeed floating Low Mass Matter Item 
    2. 2x powerup for Matter collection
    3. Magnet powerup to attract matter.
    4. Collect ‘dark-matter’ can be used to as a currency, to regain life or start with certain powerups?
  • Friendly AI?
    1. Convert an enemy to work for u…somehow…?
    2. or somehow earn dark matter to create…side kick AI?
    3. I’m brainstorming here….yeah.
    4. Shoot matter balls/stuff at enemies?
    5. Perhaps the player can protect this AI creature while it helps protect the player.

The bold items are the most important items to work on. I need to work on that now.

Thanks for reading?

Day 204: It’s alive! 75% done with primary mechanic

It’s been 160 days since my last post. You might think this game project endeavor died, you’d be wrong, it didn’t. No, of course I didn’t complete it either. I’ve been busy with life. 3 weeks ago, I started chipping away at my game dev sculpture. Banging my head on the same problems I talked about in my previous post.

Today, I finally have some progress to show.

The goal is to have a reactive/responsive rubberband and ball movement. For example, the ball falling at x velocity on the rubberband and ‘boiing/springing’ on the band semi-realistically. The key being semi-realistic. If I were to make this whole rubberband and ball mechanic physics realistic, it would be much harder for users and me to control and reproduce certain actions and moves.

I’m gonna list the ingredients for recipe I used to make my rubber-band mechanic.

  • Ball
  • Left Point
  • Center Point Rigidbody
  • Right Point
  • A set of 4 springs to attach to the Center Point.
  • Ghost ball
  • Another set of 4 springs to attach to the Ball
  • Left to Center Edge Collider Line
  • Center to Right Edge Collider Line
Center Point Rigidbody with a set of 4 springs attached.
Center Point Rigidbody with a set of 4 springs attached.
The ball before contact with the line.
The ball before contact with the line.
The ball after contact with the line. Spawning 4 springs relative to the line.
The ball after contact with the line. Spawning 4 springs relative to the line.
Ghost is outlined in green sitting on the line. Springs are attached to the x position of the Ghost relative to the position of the line.
Ghost is outlined in green sitting on the line. Springs are attached to the x position of the Ghost relative to the position of the line.
Showing all active springs.
Showing all active springs.

Since the ball bouncing on the line effect is actually fake, and it is not interacting with the lines. It looks as if the ball is seemingly passing through the line. But, that can be dealt with by applying some visual tricks and drawing a line to the according points.

All of the work so far was purely focused on manipulating the ball while in contact with the line when manipulating the line, and when the ball falls on the line.

Next step to develop is the launch of the ball. Stay tuned.

Day 45: Rubberband/Slingshot/Tightrope Physics

Man, time flew by fast…and I’m barely getting my primary mechanic working. I haven’t been making blog posts because I’ve been rather busy with non-development related stuff, and I haven’t been able to make a working tightrope. But I’ll share my failures and progress so far…

Unity has physics components which you can apply to game objects.

The primary ones that I may utilize are the following:

  • SpringJoint2D
  • DistanceJoint2D
  • HingeJoint2D
  • SliderJoint2D
  • Rigidbody2D

There are several strategies on how to make a rubberband/tightrope/slingshot. There’s also many different uses of a rubberbands/tightropes with different requirements in games. So let me tell you the required parameters for my game.

Parameters:

Must be able to accurately and consistently control tightrope launch+direction.

Natural and controllable bounciness of tightrope. For example, If tightrope has no character on it, and character falls upon tight rope. Tight rope would bounce. Control of the bounciness/tension frequency.

Natural and controllable bounciness of tightrope, While being pulled by user. For example, if the tightrope is being pulled. And the character lands on either side of the apex point, there will be a natural bounce on the tight rope.

Here are just a few sketches of a few approaches, they don’t really give a huge explanation of what’s going on…but you can see that there are several ways.

Screen Shot 2015-04-14 at 3.41.40 PMScreen Shot 2015-04-14 at 3.41.48 PM

The first scheme would seem to be the most straightforward and least optimized one. But even with it’s general simplicity, it doesn’t work well at all. Control of tension and forces is very difficult to do. Plus my character manages to slip between the colliders at high speeds.

The second scheme, mostly worked…but It was getting increasingly difficult to have a natural character fall ‘tension line bounce’

The third scheme, seems to be working ‘so far’ I haven’t finished building it yet, but it appears to be promising. *fingers crossed*

Oh and the last sketch is incomplete…yeah.

So as for the general progress of my slingshot mechanic, it’s ever so slowly coming together.

This blog post isn’t nearly as technical, detailed, or as useful as I hoped it would be for the public, but I’d much rather spend my time getting a further in my project before writing a nice blog post. But if I happen to succeed with this mechanic, you’ll surely hear a lot about it in the next blog post.

Till then, Cheers

Day 24: Coding…getting my feet wet

You may think coding is pretty simple, and…sure the concept is simple. Right? It’s all fixed and static lines of code, as long as your code follows the API and has some basic logic. Shouldn’t be too that hard, there can’t be that many ways to code the same thing…WRONG.

I’m not going to pretend I am a pro. I know I’m only scratching the surface of coding right now, I’m a beginner.  That said…Apparently for certain problems and gameplay mechanics, there are many ways to approach it. I don’t have the intuition in coding to know what is the ‘obvious’ or ‘simplest’ way to approach what I want to build…YET.

One of my major problems right now is to make a simple 2D Line act as a slingshot with multi-touch pulling abilities and physics. I mean…How hard can it be right? Have you seen all the games out there in the app store, some games look damningly difficult and tedious to develop. I’m just trying to build a 2D Line with some dynamics slingshot characteristics.

Let me elaborate on my problem.

These are screenshots of my attempt at a 2D line slingshot. Hopefully, you understand by now what I mean by that.

Wee, it launched!
Wee, it launched!
Screen Shot 2015-03-24 at 6.30.08 PM
Prep for sling launch
Screen Shot 2015-03-24 at 6.29.53 PM
Rolling down the slope!
Multi-touch line manipulation example. Black dot is the character, Dotted circles would be fingers.
Multi-touch line manipulation example. Black dot is the character, Dotted circles would be fingers.

As you can see my character is on this slingshot like it’s the ground, manipulated by the angle of the line and being flung around by it when pulled and released. As of yet this is only a SINGLE-TOUCH pull. I want to be able to pull at multiple points on the line. That’s where things get more tedious and difficult, along with other things….

Requirements of the slingshot:

  • Multi-touch pull and manipulation of the slingshot.
  • Tweakable parameters of slingshot strength.
  • Physics. (If the slingshot isn’t being manipulated and the character or objects fall on the slingshot, it would still act like a slingshot and bounce around).
  • Optimized and very robust, this is my primary game mechanic after all.
  • I forgot some other requirements….

Approaches:

  • Create a gameobject that acts as a Manager to create new line segments and spring physics of code dynamically, when there is a touch input. Potentially, allowing infinite multi-touch manipulation of the line. (Yes, I know we only have 10 fingers, and probably no one is gonna do any more than 3-4 touch points on the screen at once.)
  • Pre-make 3-4 touch joints and the required segments and find a way to set it up so the points move accordingly when manipulated.
  • Should a segment component have it’s own script and manage certain aspects of itself? While the manager manages how many segments there should be and the position of the segments?
  • Which should have the SpringJoint2D component? The Joints? Segments? Should each component be self reliant and make it’s own springjoint2D and assign itself accordingly? Or should a sub-manager handle this since I need to have a dynamic amount of SpringJoints
  • Theres more approaches, but…I can’t think of them right now, HAH, but I’ve been through many already.

Possible Problems:

Since I’m making the line multi-touch, what happens if….people criss-cross the lines over, how would the character react to that? I don’t know. AND WHY WOULD YOU PLAYERS EVER NEED TO DO THAT, I DONT THINK THERES EVER A REASON TO DO THAT. BUT I KNOW YOU PLAYERS WILL DO IT. My solution to this is….I’ll see what I’ll do when I get there.

It’s actually a good thing that I can’t find a lot of info online on how to solve this problem of mine, it must mean this slingshot mechanic isn’t used as often as other game mechanics.

SO I FIND A GAME THAT LOOKS SIMILAR TO MY GAME BEFORE I RELEASE MY GAME, BECAUSE IM A SLOW NOOB GAME DEVELOPEr. ILL BE VERY ANGRY AT YOU(YOU KNOW WHO YOU ARE). But cest la vie :P.

Day 21: Building the game before design!? Oh…right that’s prototyping.

After much sketching, scribbling and staring into nothingness like a mad man. I finally realize, it’s time for a different approach. I’ve been trying to design my game from start to finish with my imagination and static sketches. But a lot of this game requires the feel of it. Because this games key features relies on the human finger interaction. Granted…that can be said for every mobile touchscreen game. But this game has a physics reply and repertoire with how you strum and move your finger along the screen. So thinking of the most of fun enemies or objectives to interact with has proven to be rather difficult.

My original process of development was going to be this…

Complete game design document with mechanics enemies objectives etc..

Multiple accurate mockups of the game art design to ensure I would be able to handle all art requirements and not be overwhelmed when I realize I have way to many characters or effects to create.

Coding the game mechanics!

Tweak.
Tweak.
Tweak.
Tweak.
Tweak.

Create game art and effect and import into game.

Tweak.
Polish.
Tweak.
Polish.
Tweak.
Polish.

Code in all the other things that I forgot about and didn’t think was important.

A bunch of steps I ignored.

Publish?

See those steps seemed simple enough. Straight forward and going in one direction. However, because I won’t be able to finish my game design majority before coding many different prototypes or mocking up my games finished look. It looks like I’ll have to learn to tango with game design and the games development.

Now you may think it was foolish of me to think that once I made my game design document. I would be free to just make it a reality without modifications. But that’s not true, I didn’t think that. I just thought I would be further along in my game design rather than at the very near beginning where so many things are not set. Plus, I’m not looking forward to throwing the iterations of prototypes code to come.

So…it’s time to get coding! In truth, I was itching to start actual development.

Let the Game…Development…BEGIN!

Day 14: A game idea emerges…

Screen Shot 2015-03-12 at 2.24.54 PM

There’s actually several more branches of brain storming that I’m not showing.

From that came this….

Screen Shot 2015-03-12 at 2.30.58 PM

Now the idea isn’t fully complete at all. But I think the interaction I want is mostly there.

Basically what it is is a bungee-string, which a character rolls upon. To move the character you control the string via multi-touch. Think of it as a virtual guitar string…or bungee string.

Now I see a possible problem in controlling the launch direction of the character…I’ll have to work out the details.

Game Objective: Unknown

Possible Character characteristics: Fizzling evaporating, (If it doesn’t collect matter it’ll die).

Yes, this post is rather short, with my normal long hour day & night job + catching a cold, I’ve been rather held up.

The game idea is rather incomplete. Hopefully, I can fill in the details of it soon. Continue reading “Day 14: A game idea emerges…”

Day 1: How to start….

Disclaimer: I’m a complete noob, my advice, approach and workflow is not based on any prior successful experience. Act on what I say at your own risk. 😛

My goal is to create a game in 3-4 months. For those who may not know, that’s a very short time period for a game, especially for one that aims to be a decent fun polished game. A good plan is in order.

Planning

To plan or make any development checkpoints, I need a game design…Before we get into that. Let’s talk about what kind of game I want to make.

A simple game.

That probably can’t be stressed enough, it’s been constantly echoed in game development communities. So, I’m gonna try to stay true to that.

A simple game for me would be a game with simple graphics, simple gameplay, small amount of assets and artwork.

But I want people to have fun with the game, I want replay-ability, I want people to share what they’ve done so it catches on.

Replay-ability can mean the game has several things, here’s what I’ve noticed so far.

Dynamic:

The game is dynamic, it has a randomness factor in it somewhere somehow. Random in way that the game-play has randomly generated levels, sceneries, art, enemies, etc. So things don’t get too boring.

Competitive:

Self-Rage competitiveness.

The game is simple…BUT WHY CANT I BEAT THIS, I KNOW I CAN DO THIS. I JUST NEED TO TAP THIS AT THE RIGHT TIME, OR FIND THE PATTERN OR RHTYHM.

That’s what I call self-rage competitive type game. A game that is frustrating but not frustrating enough for users to rage quit.

Single-player Social competitiveness.

This genre is possibly the same as a self-rage competitive type game…But I want to point out that, People like to show off, people are competitive. You might be thinking, how can a single-player game be competitive with other people, if it’s not multi-player. Well…actually I guess it is pretty obvious now that I’m writing this. There is of course, the leaderboards, but really only a handful care to get on the top or can. Because theres always those super amazing scores that…only a handful of people can get. Then theres the people who just compete against their friends. They’re not playing against each other. They’re just comparing their scores against each other.

Multi-player competitiveness.

Playing against other people.

Games I deem successful

  • Angry Birds
  • Candy Crush
  • Flappy Bird
  • Crossy Road

I’ll be trying to take a look at the elements of these games and see what makes them tick.

 

 

Physics games. Making things dynamic, fun, and a little unpredictable/uncontrollable, but yet predictable/controllable. (I believe that if you implement physics into a game, it’s gotta be done really well, it has to have a balance of physics unpredictability and hard-coded movements, because if things are too physically accurate, a user will probably have a hard time to reproduce the action/move/attack).

Art. I believe a game with good art is a game that has been polished, polished, and polished.

What does that mean?

The act of polishing is to smooth out all the rough inconsistent bumps and textures into one consistent smooth surface. Meaning the art needs to be consistent with it’s theme.

Pixel art, toon art, comic art, flash art, and realistic art each can have bad art. What makes bad realistic art look bad is it not being realistic, but people know it’s trying to be realistic, it is not consistent and true to it’s theme that it defined itself to be. Same goes with all other art types.

 

There are many art styles, and art styles to be discovered. What makes them nice art would be how polished it is. From the characters, effects, environments, UI, everything must flow and support each other.

Most of if not all successful games have polished art.

 

Interaction/Controls.

Long story short, controls need to be simple, controllable/accurate, and intuitive. Any control that requires too much fine touching is just a no-no in general.

 

Conclusion

THE GAME HAS TO HAVE SOMETHING BIRD RELATED.

 

On a more serious note, I’ll be brainstorming as to what I want this mobile game to be. Stay tuned.

 

 

Introduction

Who am I?

I am Kaji Atsushi, 23 years old, a nobody.

My skills are the following: Intermediate graphics, A rusty web developer, Basic skills in game development, Logic.

What’s this all about?

This blog will track my journey of becoming a Indie Game Developer(Hopefully…). I’ll be making weekly~ updates.

My goal is to find success in being a indie game developer. How I will end up is yet to be seen, It may end in failure, or success. Either way, I’ll be sharing all my struggles and choices along the way, and hopefully this can be a guideline to new developers like me as to know what to do, or not to do.  I’ll be trying to approach this as methodically and logically as possible. I believe there must be a general formula one can follow to succeed, of course as time progresses, that formula most probably must evolve and change. Luck may have a lot to do with a games success…but this blog is about how to succeed without luck (IM HOPING HERE)?

The task at hand is to create a successful mobile game, within a 3~ month time period.(FINGERS CROSSED).

Let the journey begin.

Day -5: Preparation for game crafting!

Tools

Tools…tools and tools. Every endeavor that needs to be done well requires good tools. Luckily, at this time and age for game development, tools are abundant and easy to use.

To develop a game you need, code, artwork, and sound.

Hardware Tools

I’m fortunately equipped with a 2014 Macbook Pro 15″. No, I don’t have dual/triple!/quadruple!?/quintuple!?!? screens like many other nifty serious indie devs. But this machine is very much capable of whatever I throw at it. I also have a bamboo wacom table from a couple years ago. Should come in handy from time to time.

IMG_2129
Yes! making that decal for my computer made me feel cooler and more unique 8) Buhauha

IMG_2131

So all you need to get started with lone game development is…a decent computer, internet, and maybe a drawing tablet.

Ah, I almost forgot!

You need to be able to test your game on some device. I have a shabby android phone that should do the trick

IMG_2130

and an iPad if I ever end up releasing to iPad.

20150220_111440

Software tools

Code

Screen Shot 2015-02-24 at 1.26.36 PM

The game developing tools for mobile have become more abundant and easily accessible over the recent years. You have choices to go native, unreal, or with Unity! My choice is Unity. Why? Because, it first peaked my interest when I was first introduced to it…by playing crappy small Dashboard games. Fast-forward 3 or so short years later, it grew and evolved at a rapid speed, now becoming a very popular choice for game development, it’s capable of exporting to most platforms if not all. It’s interface and its workflow is very friendly and generally straight forward.

Artwork

I plan for simple, really simple art. So any artwork I produce will be limited in 2 dimension.

I have photoshop and illustrator, that there should handle any artwork that needs to be made.

Sound

I’m completely clueless in this area…I’ll look into this later when I’m nearing the end of my development…(Though that may turn out to be a bad idea). If worst comes to worse, I’ll just have to make voice all the sound effects and music. KABOOM, PHOOSH, ZING TING. Yeah…should sound fantastic.