Friday, February 28, 2014
I found some really good pony pacing sprites at pauliewx.deviantart.com. I used them as a reference when aligning pixels for my own, much smaller pony sprites. So far I have the trot down perfectly. I'll have cycles for trotting, walking, and running in 3 directions. Just up, down and side because I can flip leg sprites to have movement in the opposite direction.
I put the animation in Unity to test it out and tweaked it to perfection. I even added a subtle bouncing for the trotting sprite. That combined with the smooth moving camera and flowing directional controls gives the game a really fluid feel, which is exactly what I want. I need players immersed in the game, not worrying about how awkward it feels playing a big game on a tiny phone.
You can take a look at the source code behind the pony bounce past the break.
Thursday, February 27, 2014
I was torn between using Pixel hearts and Smooth glowing ones for the HUD in Unicorn Quest and so I decided to just use both. Players can toggle between them. Now it's a matter of deciding if it should be a given option or something you obtain through gameplay.
When thinking about ways to display enemy health, I chose to have 4 dark hearts above them, each heart representing 25% of their HP. It can help players know how much they're hurting a tough baddie or a boss. I also made pink hearts to use for friendly things with HP. I have vague plans for a situation in the climax of the story when an entire town is in chaos and a few allies help you in battle. I could also use pink hearts to demonstrate the shield and decoy spells' vitality.
Wednesday, February 26, 2014
I figured out a way to test games on my tablet without the android driver I'm still missing. I can use Google Play's alpha testing feature to send the game to the tablet whenever I reach a milestone worth testing out. I can also use this opportunity to get used to how Google Testing works. When I conduct a beta and invite increasingly large amounts of people each time, I want to tell people (with confidence) how to find the beta and when they can play it.
By the looks of things, I just upload an updated APK and it will be available to everyone in the Yotes Games Google Group that signs in and clicks on the link to the game. I'll invite people to the group when the beta is about to come out. I'll do closed alpha testing with myself and friends at school for now though. I'm uploading the test versions under the name of the free demo version of the game so testers don't have to pay $2 for the beta. Once you mark an app as free it can't be changed later, so the demo version is basically set in stone now. It takes about 2 hours for the alpha and production versions to go live once I update the APK so I'm assuming betas will work the same way.
The Google Group is a simple email list wherein everyone in it will get email notifications on what is posted in the group. I plan on leaving it open as a sort of forum for beta testers to talk about the game and tell me what bugs pop up or what features need improvement. Opting out of testing is a click away so anyone who wants to drop out can do so at anytime. I also learned that I can run tests on improved versions of the game while a production release is out. This could be very helpful in the future with games that evolve over time.
The only remaining mysteries are whether I need to change the build number/product version and if alpha/beta testing when a production version is out will be free for testers. I'm also a bit worried about potential leaks of the game's APK and people playing an unfinished/broken version of Unicorn Quest.
But beta testing is months and months away. Right now I have to get back to reaching my smaller development goals. Like getting walk animations done.
Tuesday, February 25, 2014
Taking what I learned from other projects into account, I'm making a Unity project that won't fall apart when I move things around. A lot of things went wrong with TriGrid and Candy Shop Catch when I would delete a script or move files into more organized folders. I put all the things I could possibly need in place (as empty folders and scripts) so that I can try this new style of development.
I want to be able to test out new ideas for the game as I come up with them. My usual method is writing a full design document before even starting whereas the document for this one is an evolving work in progress as I play around with different ideas until settling for the one that will result in the best product.
If you're interested in the specifics of what I have setup, read on.
Monday, February 24, 2014
Yesterday I reached the first and most basic milestone. I started a project in the Unity engine and made a character move around on screen. There's no animation, no collision, and just the basic HUD elements are in place. I used a built in camera effect and made it so the camera follows Clover around and even has a slight jerking effect when it catches up, making it have a nice feel. I attached the code above to Clover's GameObject in Unity to enable her to react to player input and walk around.
I uploaded a video of my little work in progress and I'll be posting more as I have new things to show.
Sunday, February 23, 2014
In Unicorn Quest there will be 10 spells at your disposal by the end of the game (assuming you can find all the hidden ones). I'm still changing the ideas as new ideas come to me, but I wrote down what I have in mind so far in my game design document. Just a few days ago I talked with Xinef on My Little Game Dev and changed up the way elemental spells work a bit. I'm happy with the way the spells can form a combo now. I copy/pasted what I have written for the spells on the next page so you can see for yourself.
Saturday, February 22, 2014
It's finally over... My training is done and I can start making games I always wished existed. I have the proper tools now. I finally understand what to do from start to finish in order to make a game a reality. As of yesterday, I have a new tablet for testing games on. That means fewer launch day updates for my games due to resolution problems Unity doesn't let me know about. The specs may not be cutting edge but they totally outdo what my current 512MB RAM phone is capable of. It will be used to make Unicorn Quest better suited for tablets.
But before I can do that I have to find a USB driver for AGPtek TP714JD. I literally spent all day yesterday looking for one to get it to work. 8 hours with no results. It's maddening. Once I figure this out, I can fix any potential DragCore problems and get back to working on Unicorn Quest. I want to start planning the Unity project setup and coding the in-game movement.
Here is the roundup of what happened over the past week!
Friday, February 21, 2014
All the last minute changes ended up being the error causing add-ons so I simply removed them. The in-app purchases and Game Services are gone, leaving the game simple and pure. Just a fun and free game to play on your phone. It's nice having 4 games under my belt now, a nice portfolio and proof of tenacity.
DragCore can be found on Google Play today and Amazon Apps on March 6th so go and give it a try if you're curious. You can watch the trailer for it on YouTube too. It's fast-paced action with kamikaze aliens and electric dragboxes. That's a pretty cool concept when you think about it. Give it a try today!
And good luck to anyone who can beat green and black enemies on the hardest difficulty!
Thursday, February 20, 2014
I never mentioned how the HUD shown in the mock up isn't what the screen will look like at any given time. They way it's show in the mock-up is too cluttered. The real game screen only has your hearts, magic meter, pause button, and D-pad visible at all times. I just added all the things that could pop-up during gameplay to get an idea of size and placement for the GUI components.
The spell switcher, pixie teleport icons, and wallet only pop-up or slide out when you're using something related to them. The wallet slides out when you collect a gem, the pixies appear when you're teleporting, and the colorful spell switcher bar appears when one of the buttons below it gets pressed. The D-pad and spell switch buttons will be transparent in the actual game and the big spell cast button will be transparent when pressed or when you're unable to attack.
The D-pad isn't actually 4 separate buttons, but just a reference image. It will function much like the one for the "My Boy!" Gameboy emulator on Android. That D-Pad feels the most like a comfortable virtual joystick that actually works. I played the Legacy of Goku 2 on that emulator and the controls felt perfect. I want Unicorn Quest to have that kind of movement fluidity so I'll be coding the walking controls to work just like the emulator did.
There needs to be plenty of room on screen to see incoming threats and spot vulnerable targets. That's why essential HUD components are at the top and bottom of the screen which centers on Clover. I also made the spell cast button big enough for comfortable tapping because it's going to be used almost as much as the D-pad. Both of those frequently used components are on opposite sides of the bottom half of the screen so player hold the device like any controller and have room to see more action (and not their fingers).
Wednesday, February 19, 2014
Antagonists are often just serving as an opposing force. Something to create trouble for the protagonist to overcome. But some stories have antagonists act as vital and interesting characters. Sometimes even stealing the show from the hero. Villains are the characters we love to hate. When thinking about the kinds of villains I want to design for my games I look back to my favorites. There are a multitude of types to choose from too. Some villains are chaotic, some are calculating, some are both. Villains can be sympathetic and relatable, a combination of reasonable justification and giving into primal human desires.
Tuesday, February 18, 2014
Concept art is a good place to start when explaining Unicorn Quest because it's all I have done at this point in development as far as "showable" things go. I have the basic idea of the game and it's mechanics in a word document, but I'm trying to do this organically and just add things as I go. My goal for the first few weeks is getting some basic art going. I want to have base sprites for everything I'd need to make a vertical slice demonstration.
The first thing I did for this project was design the main character. After that I experimented with art styles until I came up with what was shown yesterday. Find the full story of how these pixels came to be beyond the page break.
Monday, February 17, 2014
|Concept Art / Mock-up for Unicorn Quest|
Find out more about this passion project beyond the page break.
Sunday, February 16, 2014
I finally managed to finish DragCore, but not without a bunch of scars. In short, a lot of things were cut. Nothing gameplay wise but things that required plugins (purchasing, ads, game center, etc.) don't work at all on iOS and Game Services don't work at all on Android. To top it all off my old Macbook is officially too old. It's unable to run OSX 10.8 or higher and thus can't publish apps to iTunes anymore. That means my games are Android exclusive until I can afford a new Mac. So not for a very long time. I'm also debating if I should let my developer license disappear on that platform. My games are not selling well enough to pick up the $100 a year.
All these things should spell crushing defeat for me, but they don't. It's a new day for me. It's time I finally be true to myself. It's time I make something for me. I've been trying too hard. Chasing the idea of what a successful app should be instead of making the best game possible. That's what I'm going to do now. No more features and gimmicks that I don't believe in. No more outside advice. My next game is coming from the heart and I'll see how that goes for me.
Saturday, February 15, 2014
My last weekend with DragCore. Seriously this time. Part of me is willing to forget about getting Game Services to work on the android version just so I can move on. The other part wants to figure this out so my next games can have it. The promotion opportunities are really useful too. I haven't tried using the iOS version yet and I'll be doing that this afternoon. If anything else, I can at least submit that to Apple and start their review process. With Google Play DragCore can be put up any day I want.
Yesterday was Valentine's day so I took the day off for obvious reasons. Today it's back to work. Check out what got done last week below.
Friday, February 14, 2014
My last hurdle with DragCore is getting the Game Center / Google Play Game Services functionality working. Every time I try to activate achievements o leaderboards the game crashes. A very annoying type of roadblock. Today I'll be re-watching setup tutorials and tracing my steps to make sure I'm not overlooking something.
Something I can talk about here though is how I prepared achievements and leaderboards for the first time. It was an interesting experience and I hope to better take advantage of these tools in the future. Details are below the page break.
Thursday, February 13, 2014
This is on the top 20 list of most awesome things I have ever discovered. For those like me who didn't know, there is a website where you can create unique/randomized chiptune sound effects for free and download them to your computer. Perfect for 8-bit / Atari style games like this. This is an excellent tool for making audio in my next project. Just yesterday I decided to make it have stylized 8-Bit graphics and now I know about this thanks to Versimer on deviantART!
One of my favorite things about it is the preset list on the side that randomly produces a sound that always resembles what the button says. Really, click the Pickup/Coin button 100 times and it will always sound different. You can then tweak whatever sound you have until it sounds pitch-perfect. There's even a chaotic Randomize button that you'll need to experience for yourself. I can't wait to play around with it more when I start my next project. So back to work on my current one for now!
Wednesday, February 12, 2014
Back in 12th grade I made a promise to myself. A promise to spend my college years working hard on becoming the best game developer I possibly can. One capable of bringing all of my visions to life and living comfortably. One that never has to worry about running out of money in the bank every month or dread going into work every morning.
Back then it seemed easy enough. I expected to be surrounded by other college game developers doing the same. I had no plans of having a girlfriend either but (thankfully) fate threw me a curveball. Lately the thought of just how hard I'm working compared to my peers has been occupying my mind for a moment I questioned if I was doing the right thing...
Tuesday, February 11, 2014
I tried looking up games similar to the concept I had for the RPG I'm making after DragCore, and I can't find anything that matches what I had in mind. Some come close but just don't play the way I'm imagining. I can hardly describe it to myself accurately. In basic terms I want an action RPG with top-down shooter combat, spell combination mechanics, Zedla style dungeons, Golden Sun style overworld, randomly generating battlefields, adaptive enemy difficulty, and an entertaining story. I want to make a game I'd be excited to play. One that hits a niche and hits it hard.
Ideas of how to make this idea work dance around in my head and I tried looking up examples to fill in missing blanks and make sense of the idea. By the looks of things I seem to be innovating. And that thought excites me a lot. I really want to get started with this thing but I need to get DragCore done first. I'm begging for the forces at work to let me finish by next Monday at the latest. If I encounter another setback I think I might die.
Monday, February 10, 2014
Audacity is a free program I use to edit music for my games. I'm slowly beginning to master it but I really only use a few of it's features to edit the open source music and sound effects I find. I like the Effect menu's Amplify, Change Pitch, Reverse, Change Speed, and Change Tempo features the most. I also tried recording my voice for videos here once but the quality was awful so I decided to use text instead.
As far as lessons go I learned how much amplitude and dB effect the final sound and I've made a habit of maximizing the volume before exporting the files and using them in Unity. I still haven't mastered making songs loop nicely. It's always a noticeable skip and me messing with it usually ends up with the song sounding worse. I'm planning on teaming up with a friend for music in my next game so hopefully this won't be a problem anymore.
Another lesson in efficiency was making audio playing game objects load when they're needed. Loading every sound effect and song could make the initial load time take forever and some scenes should have their own files for things they need. All this knowledge will make my future games all the better.
Sunday, February 9, 2014
Of course it had to come back. Like a vengeful ghost in the form of computer code, the dreaded Internal Compiler Error of Unity has com back to torment me. I turned on my Firewall for just a moment after having issues with a file converter I downloaded and removed. Being silly me I forgot to turn it off before opening Unity. Now even though it's off Unity won't run any projects. I tried to recreate how to fix the problem yesterday, but I may just try uninstalling Unity and downloading it again. This annoyance delayed DragCore another day.
So once I figure this mess out, I'll only have to implement Game Center and test everything one last time and finally submit. I'm really sick of pushing the deadline back, but it's all part of the learning process I suppose.
Saturday, February 8, 2014
Friday, February 7, 2014
For my statistics class I needed to make up a survey to ask a random sample of 100+ students at my college. I decided to survey students on a topic I'm genuinely curious about, I want to know just how many people are looking forward to a bright future. Not just a successful or stable one, but a happy one in terms of a career. I've talked to so very few people who know what they want in life and started chasing their dream.
From what I've heard from an overwhelming majority, most people don't know what they want to do or who they want to be. Most of my friends just want to find the easiest high paying job possible or just get by doing something loosely related to what they like. People from other majors that I've been grouped with in classes have a general attitude of not knowing what they want or they feel pressure from their parents and society to reach some kind of rank and "be somebody".
I believe that this problem stems from what kids are told to think while growing up. The whole idea of "You can be anything you when you grow up!" as long as you choose to be a doctor, lawyer, astronaut, fireman, athlete, or the president. But what happens when you fall short of those expectations? Why are people trained in school to become great employees while just barely even considering becoming their own bosses? School takes an entire generation and makes us compete, despite individual strengths and weaknesses up until college where the curriculum is suddenly more individualized. How are the kids supposed to make up their minds so suddenly? Why do parents think that once someone is 18 or 21 they suddenly have their life planned out in detail and have 30 plus years of life experience?
It's a big mess that I could write a fifteen page paper about but this probably isn't the place for that. I'm going to conduct a survey as my class project and find out what the overall opinion is on feelings toward school and find out how students fell about themselves and their futures. It will give me better understanding of my peers and probably change the way I see them. Below are the things I'm trying to answer for my report.
1. How passionate are students about their current career choice?
2. Do students believe that a formal education is absolutely necessary for their careers?
3. What is the primary motivation for attending school: talent development, parental guidance, social pressure, or job requirements?
4. What motivates students most about their careers: money, fun, purpose, or social standing?
Thursday, February 6, 2014
DragCore is ridiculously close to being finished. Literally just two more things to do. I need to fix bugs I'm having with Game Center/Google Play Services and script the sound effects and background music I found. I even have the app stores setup and awaiting the game's final build.
Today I want to script all the sound effects and music. Once they're in I can tweak them until the game sounds just right. I have all public domain audio including 4 alternating background tracks. Getting audio to work is something I've done before though. Making Game Center features work is new. The game keeps crashing whenever I do anything leaderboard/achievement related so I need to work on that annoyance next. Getting this stuff down with DragCore will make programming it into my future games much easier.
I keep promising myself I'll be done with this game by Monday at the latest. Then it's just a matter of sending review requests again.
Wednesday, February 5, 2014
Yoshi's Story was the first game I've ever played. It was incredible. It made me into who I am today by introducing me to a new form of entertainment. Video games became my favorite thing to do. Video game characters became the ones I cared about most. Drawing pictures of video game characters led to me making comics about them to share with my classmates. That triggered the creative drive fueling my fiery passion that burns today. Today, I'm gushing about the game that started it all. Here is Yoshi's Story.
Tuesday, February 4, 2014
I have pop ups in DragCore that will hopefully boost profit a bit. There are 3 of them and they appear only one time each. They come up when the player is able to max out their crystal total by buying the biggest IAP pack available. When the player passes 99 minus the number of crystals in an IAP, the button never appears again. If the player buys something or dismisses the prompt it doesn't appear again until the crystal counter reaches the next milestone.
Monday, February 3, 2014
DragCore needs some kind of instructions for new players explaining things that may cause frustration if one has to figure it out for themselves. People generally skip through instruction screens (as I learned from watching people play my other games) and making a gradual hidden tutorial for DragCore can only go so far. There are just a few mechanics that need to be explained.
For that purpose I made a few images that pop up in the early levels of the game before the level starts. Only one will appear per level and only on certain levels that would need explanation. They are timed to disappear after 4 seconds or can be dismissed by tapping the screen, a natural action for people who want something on screen to go away. You can see the tutorial images below.
Sunday, February 2, 2014
One of the things I wanted to try out in DragCore was multi-touch. Main features of the game requires at least two separate fingers on screen to play. I thought it would be a complex problem due to the way I coded input up to this point. It turns out Unity has always supplied a simpler method that I never bothered to look for until now. It's a simple Input.GetTouch(number) method. Proof that I still have lots to learn from making DragCore.
In TriGrid I used raycasts (invisible arrows going straight down to collide with game objects) and invisible objects representing fingers. In Candy Shop Catch I only used 2D Toolkit's built in button controls. Now with DragCore, touchscreen input is much simpler and I feel a bit silly for going to such great lengths before. Using multitouch will be much easier for me in the future now.
Saturday, February 1, 2014
I want DragCore off my plate but I keep finding little flaws to fix. I want it over but I want it to be good. No point in rushing out something lousy when I can work another week and release something decent. I'm not going to make any sort of holiday release anyway so I should take whatever few extra days I need to make DragCore a fun free game to play.
Every day I'm calculating the most efficient way to go through things just to have a bit more time for development. I only want the fastest of fast foods, I can only think about DragCore and my next project in class, it's okay to skip the gym two weeks in a row, and hygiene seems like a chore that should be rushed. Yeah, it's crunch time.