Sunday, June 12, 2011

Facebook pages apps

Strangely the only project I currently have that is showing any growth is Memeface, a site where you can mimic popular rage faces with your webcam. I enjoy improving on it, because I'm a big fan of rage faces myself and I feel more comfortable making big changes to the site because it's not a very serious project. However that project will clearly never reach the kind of pageviews it would require to make money on a low CPM site like that, so I'll have to think about other things too.

Currently the most accessible opportunity I see for a sole developer is apps for Facebook pages or perhaps apps that somehow work over email as it is a very powerful but maybe a bit underappreciated channel for growth. It's a lot easier to come up with ideas for Pages apps, so I've mostly been thinking about those. It seems not every niche is filled yet. There don't seem to be that many apps for them yet. Bar is a lot lower than for game apps, because Pages apps usually don't require a lot of content (graphics/sounds/scripts). It's a lot easier to see how to monetize them. Probably a freemium model would work very naturally and from a Facebook pages app designed for a company it is a lot easier to charge for features.

I worry about marketing the apps. For games / entertainment it's easy to let the word out, as almost anyone is a potential user, but an app only useable for people that have pages about certain things is relevant only to a much more limited group. Last week I spent making a Pages app for Airbnb Listings, only to realize after pushing it to the production server that I have no idea how to naturally reach Airbnb hosts to get them to make use of the app. I found a few dozen hosts on Facebook and tried to send them direct messages about the app, but couldn't really do it in away which would feel natural.

So my definition of an "idea" for a Facebook pages app should cover at least:

- Which page owners the app is for.
- What benefit those page owners get from adding the app in the form of a pitch for those people.
- A somewhat scalable way of reaching those page owners!
- Rough sense of how the app might make money.
- Rough screen sketches of how it would work.

Thursday, June 09, 2011

Airbnb Listings

Released the first version of my "Airbnb Listings" app. It lets you list your Airbnb properties on your Facebook page, so that more people can find them easily. You can install it here.

Friday, April 29, 2011

Neverending Valley Story #7 + memeface

To take a break from coding Valley Story, released an initial version of MemeFace, a site where you can mimic popular memes with your webcam. Going back to coding Valley Story, I discovered memory leaks and problems with sound working on the actual device, also choppy animation. Blergh.

Wednesday, April 13, 2011

Neverending Valley Story #5



The dorm room, first environment in the game. It's difficult to draw areas where walls would overlap the view, have to draw cut-out walls. Also I want to add more stuff here, maybe discarded red bull cans, a corkboard in the college hallway etc.

Tuesday, April 12, 2011

Neverending Valley Story #4



I'm having a problem with the design of this game. This was supposed to follow quite closely how "Game Dev Story" works, but instead of depicting life in a game company, it is supposed to be about life in a web startup. Well, there's one thing about startups that really isn't suitable for this game: the fact that there is only one product!

The fun part of Game Dev Story is the cycle of developing products. Initially you are excited to see how many points the product gets for different attributes. Then you watch the developers churn away, adding attributes to the product, here especially exciting is when one of them gets into the zone and adds a ton of points to some attribute (or a ton of bugs). Then you get to launch the product and can excitedly anticipate what kind of scores it will get from reviewers and how well it will sell.

Apart from the zone, none of these best parts of Game Dev Story can apply to Valley Story, because there is only one product! There is no product cycle. A startup is about working on one product, that seems to be difficult to change, and if I did change that then this would no longer really be about startups and would be a much more direct clone of Game Dev Story, not what I really want. But not having that makes this significantly more boring to play. Auugh!

There need to be exciting points to this game. Now it's about just looking at the screen while the usercount and money gradually increase. No exciting points at all. Bleh. There is nothing here that would make the player think "wow I wish I had enough Y to reach X".

Now I must depart from looking at Game Dev Story, because none of it applies to this game any more. The only part that ends up being the same is just the visual look.

Thursday, April 07, 2011

Neverending Valley Story #3

Drew a sheet for the character walking.. well it turned out to look like he is walking to the left. It was supposed to look that he was walking southwest isometrically.



This took 4 hours to draw. I can't believe I'm still working on this. Southeast should be matter of mirroring. For northwest and northeast I have to draw an entirely new set.

I haven't found any good pixel drawing tools. GIMP doesn't really have the best workflow and working with animations is cumbersome. Pixen crashes constantly and is buggy with colors. Grafx2 doesn't support animations.

2.5 hours pass ...



And after some polishing...

Friday, April 01, 2011

Neverending Valley Story #2



Sprite knows how to move along the graph now. I didn't ask for it, but seems that subpixel accuracy rendering is enabled by default, so when the character is moving between points it appears blurry.

Thursday, March 31, 2011

Neverending Valley Story



Realized I need a graph showing where the points of interest in each map are and how the players should walk there. Decided to just hardcode the coordinates, since manipulating data with objective c seems so cumbersome compared to Python.

Wednesday, March 30, 2011

Valley Story continues

Yeah, still working on Valley Story. Harder than I thought this would be.

Right now I'm trying to get the graphics working on iOS. My previous prototype was in Javascript, so now I have to take what I learned from my JS code and write equivalent in Objective C. One big thing I learned was that I probably don't need a full isometric engine for this. Instead I can just have sprites for the player characters and for anything that might be in front of them, which isn't very many things since I can control the paths of the characters to avoid getting too near any obstacles.

I'm planning on totally isolating the game logic from the graphics. The game logic will just spout out commands like "Drew walked in the door", "Drew sat in the chair" and then my graphics code will show that. This lets me prototype the gameplay as text while I still don't have graphics for everything.

Sprites I'm going to show by just creating UIImageViews and moving them around on the screen. So when the graphics code gets a message like "Drew walked in the door" from the game logic, it will first see if we have this "Drew" guy already on screen. If not, then it will look at character definitions to see which sprite sheet Drew should be using. Further which sprite in that sheet, cuts out that UIImage from the sheet and updates Drew's UIImageView using that. Then it keeps updating the graphics and location while Drew walks around, sorting the UIImageViews properly so that it appears in front of / behind other stuff.

Here's another shortcut that I came up with from my prototype. In the prototype I had a "sort point" for each sprite that signified the point in the texture that should be used when deciding if this character is in front of / behind something. I don't really need that, instead I can align all sprites such that the sort points would overlap by just positioning more carefully in my art.

I know UIImageView already has "animationImages" and "startAnimating", but it seems more convenient to do it myself each frame as I have to update the view location there anyway. Also my graphics in the sprite sheet might not be in the order I want to animate them in and the ordering might depend on what the character is doing. Like if they are sitting down I have to show some sprites in the opposite order than if they are getting up.

Monday, March 28, 2011

Valley Story



I can reveal the name of the game now since I registered the domain, it will be called "Valley Story".

Friday, March 18, 2011

1.1.2011 - now, looking back

Wow, it's already the middle of March and still no revenue to speak of. Where did this time go? Skimmed through my older blogposts since start of the year, and it seems that I've spent all my time learning the details that go into an isometric engine, learning how to do pixel art, thinking about game design and studying iOS development.

I do feel I really know more about these things than I did back then, but I'm prone to judging my progress more based on revenue rather than some improved knowledge, just because I can't buy ramen by having more potential that doesn't materialize anywhere.

I did release 1 iOS app, 1 website, 2 chrome extensions and made a significant revenue-increasing tweak in Coolest Friends, but still this hasn't been a very successful three and a half months. Besides the revenue tweak none of it mattered much. I'm starting to feel increasingly disappointed in my progress and need to have some measure of success soon.

Wednesday, March 16, 2011

Buttersafe shading experiment

I'm a fan of the webcomic buttersafe. It's often a great comic, but what is really inspiring is how his artwork is pretty bad at first, but then improves a lot as time passes. One of the improvements I noticed is subtle shading. I like his clear-lined style.

Here's my attempt to replicate it with some kind of cute animal.

cute animal

Is exploration fun in games?

It's really cool to have a large environment with places to go, but who likes to scroll around? Actually it was a positive point in GameDev Story that all the action happens on one screen. Also while playing The Sims I also remember being perfectly happy that everything happened in the house, going outside didn't seem that much fun even when it was possible in later games. On the other hand, in that island survival game it was a big part of the fun to be able to explore outside.

So why does it sometimes work? Where's the fun?

In The Sims going to places wasn't fun, because it didn't feel like you can advance in things like career path or relationships by doing it. It wasn't really even part of the game if you think about the game as a set of rules to take advantage of for improving on the stats.

What if in the island survival game the player was limited to one screen. All the food gathering and raft building would happen right there. It might work, walking around really wasn't all that much fun in it, but discovering new places was because they often had very significant effect on the player's success in the game. For example discovering a new source of food. In The Sims places had no such significance.

In GameDev Story you actually can go to one place, the gamedex expo. In the expo the player can get fans for the game he is making, but it isn't clear if it really affects the success of the game. It feels unimportant. Also like in The Sims, it takes a lot of player time to go out with no clear benefit, not really that much fun.

Conclusion from this rambling seems to be that exploration is fun only if there's a clear benefit to the player.

Sunday, March 13, 2011

Isometric progress #7

This is where the main character will go for lunch. Pretty happy with the roof, but everything else needs work. The hat and most importantly the banner need some work to be passable, the walls will get redone because I did them completely wrong in the first try. Maybe later I will explain why you don't want to position your walls right in the center of tiles.



To make the roof possible, added support for layers that can be offset from each other. That should also solve the door draw ordering problem, but haven't tackled it yet as it seems unimportant for creating fun.

Update: this looks so lame it makes me sick whenever I happen to see this post.

Thursday, March 10, 2011

Domain availability checker for Chrome

Released an early beta version of a domain checking tool for Chrome. It's the fastest way to check if a domain is available or not that I know of. Not entirely bug-free yet. In some edge cases like reserved domain names it may claim that some domain is available (like a.org) even though it isn't. Also working on some server-side stability issues too. I wrote the server in node.js, which I had never used before.



In my continuing effort to learn how to make passable graphics, I tried to make a nice icon for it. The texture of the magnifying glass handle is actually scanned from the leather in my wallet.

Wednesday, March 02, 2011

Tuesday, March 01, 2011

Isometric progress #5



Wasn't really sure how to proceed, so did some wall pieces. Very time consuming to try to get pieces to match.