Showing posts with label prototype. Show all posts
Showing posts with label prototype. Show all posts

Sunday, June 1, 2014

End of May Progress Report: Core Features

Earlier in the month, I made a decision to really challenge myself and make my Ludum Dare 29 entry ready for a full release on PC and/or Android by the end of June. I also posted a list of things I wanted to do to the game before I released it. I've reorganized my list into several categories of descending importance: Essential, Secondary, Polish and Dead Last items.

What's done

I don't have as much done this month as I'd like because of things at my day job cropping up and causing a ton of stress. However, here's what I do have done (and keep in mind that I've omitted a lot of technical detail and additional notes under each of these items):

Essential

  • Make rooms you can go into from the hallway
  • Add suspicion for the NPCs when you are in an infected host
  • Add voice mimicing mechanics
Adding rooms (and a method of travelling between rooms) is a big upgrade for my game since the ludum dare version is nothing but a series of hallways. Now I can make much more interesting mazes that can be more convincing as a science facility.
NPCs will now act with suspicion when they see you. If you're outside of a human host, you get recognized as an escaped alien parasite instantly and they will react appropriately (Scientists will attempt to run away and call guards and guards will attempt to murder you on sight). However, if you're inside a human host when you're spotted by an NPC they'll stop and consider you. Perhaps your eyes aren't aligned quite right, or perhaps your human host is twitching oddly, but eventually any NPC looking at you will notice something is wrong, assume you're an alien, and react appropriately.
The coolest feature, in my opinion, that I've added is the ability for the player to hear certain phrases spoken by NPCs and then, when inside a human host, parrot those phrases back. So, for example, early on you can learn to say "Hello." This comes in handy when a guard or scientist is suspicious of you but has not yet decided you are an alien in disguise, you can say "Hello" to them and they will respond back with something like "Oh, hey Jim." and their suspicion is eased.

What's left to do

There's plenty left to do from my list, but near the top of the list is creating a method of deciding what thing the player wants to say when they're inside a human. I've been working on this, but Unity's GUI tools have a long history of not being great. Recently, however, there was an announcement about new GUI tools that are coming out some time this summer. In light of that, I'm going to write a quick hack to get around not having a UI and then try to put it off for as long as possible in the hope that I can use the new GUI system.

Here's the rest of the to do list (again, abridged):

Essential

  • Make a menu or something to set the voice clips
  • Add switches that toggle doors on and off
  • Remake the first two levels with the new stuff (e.g. rooms)
  • Add at least three new levels

Secondary

  • Clean up my code base
  • Make new art for all the new levels
  • Fix the resolution on the windows build
  • Add touch screen controls
  • Make an animation for background doors opening and closing
  • Make an animation for hall doors opening and closing
  • Make animations for characters walking into and out of doors in the background and make them play

Polish

  • Add music
  • Add sound effects
  • Add a menu
  • Add an ending
  • Fix movement bugs
  • Fix guard animations
  • Tighten up the elevator script
  • Make new art to make the levels feel lived in
  • Add more voice work
  • Maybe add a sound effect and a start-up time to bursting so that you can't do it on accident?
  • Fix Bugs

Dead Last

  • Test all my new levels and mechanics
  • Release the game for $1 on PC
  • Release the game for $1 on Android and iOS

Goals for June

I'm going to stick to my guns for now and try to knock out all of these things by the end of June. I am, however, very doubtful that this will happen. I may miss my deadline and this will take until sometime in July. Releasing this game is an important step in my quest to get a job in game development.

Next month should also have screenshots since, as soon as I'm done with this post, I'm starting on reworking levels. The changes this past month weren't very visual.

Thursday, April 17, 2014

End of March Progress Report

Oh wow! March just flew by didn't it? Well, time to put our best foot forward and work hard this April. It's going to be a month full of hard work and-
Oh... geez, April's already half over...
Well, uh, I guess I've been making good progress on my "Power Game" prototype that I've been documenting all year. Yeah, let's take a look at the progress I've made on that!
Uh... well, shit.

Real Talk

So, what happened?
The answer is a lot of things happened. Work at my day job started to get really hectic towards the end of February and that's still going strong, so I've had a lot less energy by the time I get home each night. Then there's been some tough times for friends of mine, so I wanted to be available to them, further diminishing time I had for working on the adventure portion of my game. When I did work on my game, I managed to make it really tedious to put text into the game and since my plan had been to write out the story, that made me loathe to work on the game. 
Perhaps the biggest problem though, is taking a step back and looking at my project's scope. I've designed an art heavy game and I have no means of making the art. I mean, I've been making do with my horrible approximations of art, but it really doesn't do much for morale. I see what other people are doing in less time and I feel like their smaller, simpler (graphically) games are doing more for them because they're actually learning things and making finished projects.

I haven't been completely delinquent in my game development though. I've created a few small projects experimenting with different parts of Unity, and while that's been fun it hasn't created anything very impressive or fruitful.

So What Now?

Well, I've identified my problems, and I've taken some time this past week or two to recuperate. I'll probably take most of next week easy as well, but my goal for April is to have a small finished game. There are three things I think will propel me towards hitting this goal:
  1. Greatly reduced scope. Despite my best attempts to check myself before I wreck myself, I keep trying to make games that are beyond the amount of time I have available. So part of what I'm doing with these small projects I've been making is busting myself down to the smallest possible scope I can let myself have. It sucks, but it has to be done.
  2. Ludum Dare 29 is happening on the 25th of the month. I'm going to participate and make a small game in 48 hours. The last time I did this, I actually came out of it with something, so hopefully a small scope and a hard deadline will kick me out of this slump.
  3. There was a job opening at XSEED Games for a Localization Editor. From the job description, it sounded like a dream job for me. I thought I met all the qualifications rather well and then some, but they told me that my background was too technical for that position and that I didn't have any sort of English degree or professional writing background. They're absolutely right, of course! I've taken five years of creative writing classes throughout high school and college, I've completed nine first drafts of novels in the last ten years and written several short stories, but none of it has ever been published! Tons of people have done this as well, so I'm really not special in that regard. If I want to get that sort of dream job in the future, I need to get published. I need to have work I can point to and say "I don't have a degree in English, but this is what I've done and here's how people have responded to it." Basically, I'm disappointed but determined to not miss out on such a chance in the future.
So for now, I'm going to try to relax and be in a good place for Ludum Dare on the 25th, keep up on my small projects in Unity, and come May 1st I'll reassess where I am and figure out what I can do to make a game in eight months. I'm down, but I'm not out yet.

Saturday, March 1, 2014

End of February Progress Report: More Prototype (also HDD failure)

Prototype Progress

Not a lot got done this month due mostly to a lot of stress coming from my day job. However, I did manage to find some time here and there to flesh out the framework for the Adventure portion of my game. Unfortunately, there isn't a lot of visual stuff, so here's a single .gif that shows off all the new stuff:

Here's what was in that gif:
  • A Config menu skeleton
  • Working saving and loading functionality
  • A title screen
  • UI Event scripting (e.g. display this portrait at this location, animate the portrait, change the portrait, remove the portrait, etc)
  • Word wrap in the message box
  • A lot of data validation and error handling
This is all pretty basic adventure game-y stuff, but it felt good to get it all set up and the work I did this month will make things easier for me down the road. Luckily, these things didn't take as long as they could have because of previous experience I have from making two Adventure game engines in the past.

Goals for March

It has come to my attention that March is NaNoReNo which basically means that there's a bunch of internet people making visual novels this coming month. It sounds like fun and will probably be motivating, so I want to participate. The only way I can do this though and have it not stop progress on this project is if I put together a rough draft of the adventure portion story! So that's my goal for March: create a rough draft of my adventure story IN ENGINE. 
Those last two words are important because my engine is definitely not finished. As I go about creating a rough draft, I'll learn a lot about what my story is even going to be about and I'll run into things I want to do that the engine can't perform yet. Finding these things will lead to me implementing those features at least in a first-pass form. With this goal in mind, I should also end up with a lot of rough art and features that will make for a very lovely post next month.

Roadbumps

A big part of the reason that not a lot got done this month is because of stress from my day job, but as hinted at in the title, the rest of the reason is that my windows drive is dying. All my work has been backed up, but watching my computer slowly die has really slowed down progress and everything else on my computer as well. An SSD should arrive today (Feb 28th) so hopefully by the time you read this post, everything will be resolved. (Edit: Everything took longer than expected, but all data is safely on a really fast SSD now)

Feedback

Please let me know what I can talk about in the coming month or what I can do better on posts in the future in the comments below.

Friday, January 31, 2014

End of January Progress Report: I Have a Prototype!

At the start of the year, I resolved to focus my efforts on making one game this year and making as best I could. I said that I wanted to spend January on designing the basic concept for my game and picking an engine. So, here's what I've accomplished this month:

Design 1

I've written down some bare bones designs for three games. The first idea is a game that I call "Legally Distinct From Chibi Robo" because that pretty much sums it up. There was recently a new Chibi Robo game on the 3DS which is not quite as charming as its predecessors, and I was musing on how I would make a game of that sort. I sketched out some ideas and wrote a bit about what I thought would work.

Design 2

The next idea is one I've had mulling around in my head for a while and will probably end up trying to make eventually, though it will not be my focus this year. It's a fusion of falling block puzzle games like Tetris or Puyo Puyo and the Visual Novel genre. This idea is pretty dumb and I'm honestly not sure how fun it would be, but also I'm not entirely sure how I'd pull it off, so it's gonna stay on the back burner. I did, however, write down a bit about it for future reference, so I wanted to mention it.

Design 3

Another idea I've had was to make a series of Warioware-esque microgames and string them together with a loose story and themes. Simple one or two button games that could be a fun distraction for an hour or two. I've had this idea in the past with rhythm games, but I lack any sort of musical talent, which makes rhythm games pretty much impossible.

Design 4

The last idea is a fusion of adventure game exploration and 2D platformer arena fighting with RPG elements. Your character is entered in a tournament where every fight is to the death. Winning fights allows you to increase your stats so that you can be more powerful next time as well as affecting the adventure portion of the game. The other big feature of this idea is multiple branching story paths, some of which are only available after you've cleared the game once. Ideally, the game shouldn't take long to play through start to end, but there will be plenty of (sometimes radically) different endings to see and different things to do.

And the winner is...

As you may have guessed by now from the level of description, I'm going with the final idea for my game this year. I really wanted to do "Legally Distinct From Chibi Robo" but 3D art is currently just out of my reach. Even for placeholder stuff. It's a problem I really need to address, but I keep putting it off. The second idea is much simpler than the one I'm ultimately going with, but I'm less confident about it being good or fun in any way. It really needs some prototyping and I think it needs more time on the back burner anyhow. The third idea I think could easily be done inside of a year, even with my hefty art handicap, but I want to try for something a smidge more ambitious. For now, it's relegated to being a fallback plan.
Design 3 inspiration...

...and this is what I made.
The zoom and mouth close are triggered when you push the "A" button.
This is art.

Engines

So what about picking a game engine? I'll get right to it: Unity 4.x is the only possible choice for me. I've got a bit of experience with other frameworks and game engines though, so let's quickly run through them to see why they aren't going to be the right choice for this game.

XNA is a very powerful framework based in C#. If I made my game with it, I could easily publish to PC Desktop and Xbox 360. With more effort, I could probably also port to Mac and Unix. However, part of my game's design this year calls for action segments that play sort of like a 2D platformer. And I have a storied history of frustration with making platformers on XNA. XNA would work, but I'd rather develop in an easier environment if possible.

RPG Maker is pretty neat, and is actually flexible enough to include the sort of platformer and adventure gameplay that I want, but like with XNA it's a bit too much work to get it to happen. I really love RPG Maker though, and I feel like people give it a harder time than it deserves, but really it's better for games where RPG elements like stat building and equipment management is a bigger focus. Also, RPG Maker can only really deploy to PC Desktops, which is fine but I'd like to potentially port to more systems.

Construct 2 is a really fun little game engine. It deploys to the web with HTML5 and it's very newbie friendly. This makes it fantastic for prototyping and the editor is really good about visualizing your design process for you. However, it's a bit too newbie friendly right now. Debugging is a nightmare and it's really hard to go in and make major changes to big systems due to the very visual nature of the programming involved here. Recently the engine has been getting better, but I need something that I can easily debug right now.

At this point, my options are rolling my own engine (nix on this because it'd be even more work than all of the above put together), using GameStudio (I'm really not familiar with this and past attempts to familiarize myself had not gone well) or Unity.

I'd actually tried to learn Unity 3.5 before, but gave up because I didn't have any 3D modelling skills and Unity is a very asset driven environment. What has changed now is that Unity 4 has been released which contains a bunch of new features which includes expanded support for 2D games, which just happens to be what I want to do (and what I can make crappy placeholder art for)!

Prototype Progress

In order to make sure that Unity was the right choice for this year's game, I decided to try prototyping a bit with it. I goofed around for a while and read tutorials and looked at sample projects before starting, but once I got started, I was surprised at how quickly I was making progress. With that in mind, I want to show you my prototype game.

Adventure

Part of my game will be very story driven. You'll explore a city of unfortunates, oppressed by those in power. There will be different people to meet and, as the story advances, different choices for you to make. One of the big things I want to do with this game is let the player take the story in a lot of different directions and cause many different outcomes. In the animation below, you can see the map mode, which will let players travel about the city (it's very basic right now and only lets you go to the arena or quit out of the map). Then, you see a city street where the player can interact with people (who will be) on the street. You can also check your character's progression on the stat screen and level up your abilities for the fighting portion of the game.
This will eventually look more like an adventure and less like a first grader's art.

Action

When not exploring the city and being wowed by character drama, you'll be in the arena, fighting to the death against various opponents. This part of the game is tricky to make work right, and will need a lot of attention. It needs to be fun and deep enough for seasoned players of games like Mega Man X and accessible enough for players who maybe don't care as much about the fighting bits. I also want to include mid-battle cutscenes and dialog to spice things up depending on choices you've made in the adventure section. Finally, while I have some great ideas for the different battles players will come across, there won't be too many of them. This is for reasons of scope and ability, after all, I'm only one person and everything cool I add will need art and I am, obviously, not great at art.
This is some of the progress I've made on the placeholder player character.

Technology

Speaking of art, one of the things that has always impeded my progress in the past is taking the time to animate all the characters and such in a game I want to make and then putting it in the game and finding out it looks horrible. One of the chief reasons I wanted to pick Unity 4.x over other engines is that it has support for creating 2D animations of a given collection of sprites very easily. I could do things the old fashioned way and draw separate frames for each animation or I could front load a lot of the work and animate each piece of the character individually. As a means of demonstrating what I mean, take a look at this:
Cut my life into pieces
What you see above is all the art for the placeholder character. Each piece of the character was chopped up and loaded into it's own gameObject in Unity which allows me to create animations by dragging parts around and rotating them- rather than drawing key frames and flipping between them at a convincing speed. This placeholder art isn't perfect by far and there are lots of weird areas in the gifs I've posted above that you can see some strange things (like a hand becoming disjointed). But also keep in mind that I was able to create that art and all the animations you see on this page in about three hours.
I gave my game a walking loop.
Games love walking loops.

Conclusion

So, did I achieve my goal for this month? Very much yes. I have a design, I have chosen an engine, and I even have an okay prototype. This month was a resounding success. However, it's all uphill from here. This month will ultimately mean nothing if I don't keep moving forward with this.

So what about next month?

February's goals are going to be for me to flesh out the adventure portion of the game code wise. If I can get a solid foundation there, then I'll be in great shape to tackle the fighting arena portion of the code in March. This means that there may not be a lot of great screenshots for me to post a month from now, since all the juicy bits will be related to things like text processing, but that's just how it goes.

Feedback

I know this was a long post, so thank you for reading this far. Please feel free to give me some feedback in the comments or directly via my e-mail. I welcome suggestions to make these blog posts better and if you have any comments or suggestions about the content of the article I'd love to hear that, too!