dievo

Members
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

103 Neutral

About dievo

  • Rank
    Newbie

Personal Information

  1. #javascript: why does [4,5] == [4,5] returns false ?
  2. its good to be working with the pomodoro technique again, finally I'm getting things done again. Now back to work on pomodorohelper :)
  3. using @pomodorohelper again, i missed the ringtone at the end of a pomodoro :)
  4. Thanks What would a game be without graphics, even if they come from a developer.
  5. gotta try the new facebook games features for developers: http://t.co/p5Qvj4H
  6. Developing games is an art, but marketing and selling them is more a pain in the a.... I'm struggling to create awareness for my first game, which I thought should not be that hard because it is a web based game with a small facebook integration. But I landed right on my nose and I am a bit lost now. How do you market and advertise your indie games? I often read that "building a community around the game" is some great advice, though I don't know how to do that, either. In the indie game area, you also can't throw money around for buying advertising on google and facebook, because there is no money Anyway, I think this might be a nice discussion, don't you think?
  7. Yesterday, I managed to have 4 people running around on the same map It is actually pretty easy to do, I'll post a more code related article later: - Add another player object to the js engine - Set up a node.js server with socket.io somewhere on the internet. I used heroku for this. - Add the socket.io js link to the application - On Player movement, the client now sends an array with the player id and current position to the node server. The node server broadcasts this information to every other connected player (In the future, there is a possibility to include groups here for coop mode). The other client receives the data. Now it looks in a players array on the second client application, if a player with the broadcasted id exists. If there is no such player, add a new "other player" object to this array and then set a "wanted" position. This is the position where the other player should be next. The application now takes the current position (if there is any), and move towards the new position. In my game, I use 25 updates per second and try to send a new position every 100ms. It is a bit laggy yet, but for a first version, it's damn cool One problem: Using heroku, I could not use websockets (not supported there yet), and only chrome manages to have a persistent connection. But its a first step. [url="http://www.youtube.com/watch?v=68MIeEAdOpc"]Demo Video of the Multiplayer test, including a chat function.[/url]
  8. [heading]The Story of Breeder Island, a game[/heading] Once (or maybe often) in a developers life, you have an idea about something you really want to build. It might be an application, a game, a product or a service you think the world needs. I had this moment recently when I decided to develop a game, something I had not done before. It seemed to be a good idea then, because while developing the game, I would learn html5, canvas animation and much more, so I decided to go for it. In my daily job I run a small web development company. I had some free time in the last months, mainly because of the summer, enough time to learn something and build a game. [subheading]Chapter 1: Idea: easy[/subheading] After a short brainstorming session with myself, I went for a semi-sandbox game, where a player is on an island, trying to catch the animals living there, breed them, get larger and stronger animals and then do something with them. I did not know what to do, which can be taken as an error I made back then, not designing the game around a specific goal, but it is my first game, that happens. [subheading]Chapter 2: Building: quite easy[/subheading] [subheading]Part 1: First steps[/subheading] After looking around for a good html5/javascript engine fitting my needs, I came to the conclusion that either the engine was not good enough, too complicated, or simply not designed for my kind of game. No problem, I am a developer, I can build stuff! So I built a game engine from scratch. Yeah, I should have called it the ego-engine, but better try and fail than not to try at all. With no experience in game design, I started building a game engine. The first days were great! I managed to set up a top-down zelda like view with a guy walking around collecting rabbits. Yes, King of the World, baby! I realised soon, walking around on a pretty lame 2d map collecting cute but useless rabbits isn't that much of a game, so I had to up the ante. I created different levels with connections, started drawing a small town and crashed right into the next obstacle. Graphics. [subheading]Part2: Graphics? Can't we play Zork?[/subheading] As a one person company, and without funds, I was the only one I could ask for drawing the animals, the backgrounds, the buildings, the player, the npcs, the objects.... Too bad I had a D (it was a 4 in german school notation) in school in art and I still can't draw a straight line without photoshop. And even with photoshop and my little wacom bamboo pad, drawing lines was really hard. Anyway, I had to do it. I decided to go for a pixel art style, mainly because my math skills are almost as bad as my art skills, 3d animation was out of the question. Sidenote: In an alpha version, I switched the player graphics to a sprite created by Blender and motion captured by myself and my kinect camera. That was really cool, but I couldn't manage to get the lights and textures right, finally killed the approach and did an improved version of the old 2d sprite. I started drawing animals, houses, objects and stuff, getting better by the hour and finally developing a graphics style which was good enough. It is not the best in the world, its far from it, but you can identify your laboratory and distinguish a cat from a pig. The days went by and I realised, if I really want to go game developer, people should interact with each other and save their progress. Time for some backend development. [subheading]Part 3: Backend development, I hear a train is coming...[/subheading] The only option for me was Ruby on Rails, because this is the part I'm doing in my daily work, too. I tried to create a simple backend (with 27 database tables...) I could imagine and added interaction for the world in canvas to detail pages etc. in rails. I could have done everything in canvas, but a little HTML was a good way to keep myself motivated. I used devise for registrations and created a nice alpha code generator to have only a small amount of people playing the game at once, trying not to kill the game before it was born. But something was wrong, I had a blog I often posted updates in, posted news and updates on twitter, did a few youtube videos about the development, created a facebook page with regularly updates and added mailchimp as a newsletter on the homepage. No one registered (actually, one person registered, I sent him an alpha invitation). [subheading]Part 4: adding interaction[/subheading] At this point, it was clear to me that Breeder Island was kind of a social game, and there is no better platform for a social game than Facebook. I ditched the default email/password login and added a facebook only login. Not only because I thought facebook would be viral enough for Breeder Island to become the most popular game ever, but also because I am always afraid of getting hacked. With the facebook only login, the game is pretty safe. You can hack any server, but you would only get a few e-mail addresses, not worth the time. Another option I added was a PayPal payment option for a V.I.P. access, a "buy now, support development, get benefits now and later"-option for active supporters. If you pay, you get a mythical animal with decent stats, your name on a statue on town square, and every dungeon in the future for free, while as it is normal in a free2play game, some areas are blocked for free players. It is an investment where the players get a huge amount of future content for only 10 bucks, and I see the game can work and full time developing it. It is kind of a win-win situation. [subheading]Part 5: The launch[/subheading] On July 28th, I launched Breeder Island Beta 1.0, open for everyone with a facebook account. After the launch, I invited everyone on my facebook friends list with a special animal, a golden rabbit (because the rabbit, the first animal I created for Breeder Island, is the mascot), only I can send to others. This is a design decision, if you want to invite someone to play Breeder Island, you have to send him an animal. If he/she creates an account, he/she will be rewarded with the animal and the counterpart (male/female) version and you will be rewarded with 5times the sell price. In my mind, this was a good idea and if only 5 people of my friends liked the game and send animals through facebook, I could have 100 players in the first week, maybe 400 in the second week and go write about the game, message game magazines, blogs and sites then. [subheading]Chapter 3: Selling: impossible[/subheading] Too bad I was wrong. Since July 28th, it's been 22 days now, and I have 12 players, with myself, my girlfriend, 3 friends of mine (one even paid the 10 bucks for a V.I.P. access!) actively playing the game. Does it suck? I don't think so. It may have some flaws, but everyone can play at least a week with no repetition. You can go hunt animals in the (random generated) dungeon, breed animals, even crossbreed your own animals, create animals with good stats and fight in currently 8 tournaments with highscores tables and more. You can even decorate your lab! But no one wants to play it, selling is impossible. I tried a lot to create a community, I often write blog posts about development of the game, tweeting news, added an official forum for conversation and I am open to everyone who want to talk about the technics behind the scenes, the js engine (which I plan to release as open source when it is done), and talk about gaming in general. But as a developer, you are not the kind of person who contacts every game magazine once your first beta version is out, you aren't active in game developer forums, especially if it is your first game and so on. If you want to create a game by yourself, take this as a warning. It does not matter how creative you are, how good your development skills are, how good you are as a person, the important thing is: can you sell it? You are no [twitter]notch[/twitter], creating a one in a billion game, you are the guy who can't spend 24/7 on marketing the game, because you have other work to do to earn a living and even if you only developing your game right now, even if you are building the next doom, minecraft, starcraft or sims, if you can't sell it, it won't work. [subheading]How to sell a game?[/subheading] Obviously, I don't know. If I knew, I would not have 1 person on my mailing list and 6/12 people playing Breeder Island right now. If you have ideas how to sell a game, a product or a service, especially outside the united states (if you haven't guessed by now, I don't live in the usa, I live in germany), tell me! Every day, you read an article on hacker news about a guy who made some many or a fortune by creating something, and almost always magically the people came to his site, buying his product. I read a lot of books about how to create a community, recently "The Thank You Economy" by Gary Vaynerchuk, but I still don't get it. A long article like this one should not end with a whiny developer crying for help because no one wants to play with him. I wrote this blog post, because I know there are a lot of developers around, having this problem. They created something, decent, good, excellent or great (play Breeder Island now to rate my application *smile*), but don't know how to let the world know about their project. I hope, this post will bring up some ideas how to market, and once I collected them all, I will write a summary. There has to be a way developers can show the world what they can do, and let the world participate. Oh, and if you want to play Breeder Island, feel free to join now ;) I'm always for conversation about the games, critic, suggestions, games in general, web development and more. Thomas Diehl Creator of Breeder Island CEO of DIEVOLUTION web development Twitter: [twitter]dievo[/twitter]
  9. I had an idea today how I might overcome the connection problem. I need something like a network-like connection, which is pretty hard to achive in a browser environment. So why not use a node.js server with socket.io for managing the network part (positions, vectors, and ingame chat), while everything else stays on the rails/js environment. The idea to only send position if a player is in your view is great, this should keep the amount of sent data reasonable. Additionally, if both vectors are 0, the client doesn't need to send data to the server. I'm gonna try to hack something together tomorrow, and of course I keep you updated. I don't need a 128 people realtime network experience in the browser, but something like 16 people on one map is my first goal.
  10. funny idea: If I add a node.js instance to the #breederisland engine, I could track player movements in multiplayer sessions.
  11. I think my problem is that if 100 people are playing the game, even if they are in different rooms, they would send 100 requests to the server each second/move change. So I'm trying to find a way to have people see each other without having to send a large amount of http requests, don't want the server to crash
  12. I used a different approach for my 2d engine. Its not exactly like the zelda style, but it works. First, create a 2d map as an two dimensional array, where every array X/Y stands for one grid position. In this array, you can load all objects you like, not just background/foreground/mob objects. Once the map loads, it should check if the map size is bigger than your current viewport (your screen). If thats not the case, render the whole map. This is useful for small caves and houses. If the map is bigger than your viewport, you gotta check where the player is located on the grid. Basically, if the player is on the outer ring (which is a half viewport size wide), the map stands still when the player moves. If the player is in the center, you draw the player in the same spot, the center of your viewport, and move the background in the opposite direction. I hope I explained the movement and the map creation exactly and it helps you at least a bit ;)
  13. http://t.co/tDaHQ8W good article about usability in icons, worth reading
  14. joined gamedev.net - looks promising for connecting to other developers. finding a community is something every newbie should do I think :)
  15. Breeder Island

    Gallery of Breeder Island, development and public images.