Showing posts with label Personal experience. Show all posts
Showing posts with label Personal experience. Show all posts

Friday, February 12, 2016

GGJ 2016 - The full story

It has been about 2 weeks since the Global Game Jam 2016. I must say it was really cool and very different to GGJ 2015. Here's the full story.

GGJ?


Really quick and incomplete explanation for those not familiar with GGJ. It is a world wide event where people create games about a specific theme that is revealed at the beginning of the jam (Friday), and in 48 hours you must have completed and uploaded your game.

It's not a contest, it's just for fun, it forces people to complete at least a quick a simple game instead of spending years improving a single one that will never be released (ok, that was for me), and because you know other game developers (a.k.a. networking).

An interesting part of it is that in order to enter the jam you need to go to a registered site (yeah, physically), which is just a place that can provide what is required for the event, i.e. electricity, Internet, desks, enough space, bathrooms, and in some cases some other vital nice-to-have things like coffee or pizza.

Going alone?


Compared with the previous GGJ for this one I was going alone, even if any of my friends would have gone, from GGJ 2015 I learnt that I didn't make any networking because I was really busy completing BARKH, so if was going to go to GGJ 2016 I was going to join a random team.

So yeah, I was a bit nervous because I didn't know in what kind of team I was going to end up! To make matters worse, there were 6 sites in my city... is that bad? well, the amount of developers here is not THAT big to require 6 sites, so instead of having 2 or 3 big sites, we had 6! This is not good because you have a smaller probability to find a good team, or to move to another team if you don't manage to fit in your first team. So yeah, somehow people here lost the point about the networking thing and decided to make a bunch of smaller groups :\, in my city were 6 of the 20 sites in Mexico.

But OK, I decided to be positive and go to the site closer to my house.

Joining a team

So there were I, very early as usual, this was not that new for me. You arrive, register, and put a sticker with your name and with your skills (using a color code), I labeled myself as "game designer" and "programmer". There were a few people, I took an empty table and played a while with my Jumpjustu music theme waiting for the event to start. After a while there were about 6 tables full of people, some guys joined my table too and the organizer asked us to make a "quick" group bounding dynamic. The guys in my table were a team already, I was the new guy there and I was not totally sure if I was automatically in their team or not... it was a little weird.


After that, the organizer asked who had no team, so I raised my hand... (I think, but I'm not sure, someone made some weird noise indicating I was betraying the guys in my table). So the organizer asked "who needs a programmer?", after about 5 seconds that felt like 60, a guy in another team raised his hand and I joined his team.

When the Jam ended I found out the guys I "betrayed" were from One Simple Idea @1simpleidea, creators of Mucho Taco a fairly successful game for iOS and Android, that got quite good rankings in Apple Store.

So, did I miss my opportunity to join a great team?
The answer is no.

I moved my backpack and sit with the other guys. They were going to be my team for the following 48 hours so it was time to know who they are. I must say I ended up having a quite nice team!
  • Programmer: Marlon, works in Cosmogonia @CosmogoniaGames a known game development company in Mexico (for those related to game development), and previously worked at Gameloft. He has some years of experience in Unity.
  • Conceptual designer: Mónica @moni_red, she is a Marlon's friend. She didn't know about making games but is very good drawing.
  • Music and sound: Ricardo @inkeyesmusic, he is a musician and works in KaraOkulta another known game development company in Mexico.
  • Pixel artist: Luis Zuno @ansimuz, he is the creator of Elliot Quest, a known indie game that was released in Ouya, Steam, and WiiU! He is an awesome pixel artist.
  • Another guy: He left on Saturday, I hope he never read this haha.
  • Me :), another programmer.
Marlon, Monica, and Ricardo went together to the jam, all the others had never worked together before.

I'm going to be honest, being creating a game together with Luis Zuno was really awesome for me. Other guys in the team didn't know about Elliot Quest, but I had already heard of it, and saw it in a Nintendo Direct. I'm not sure how to explain why this was so awesome for me, but let's say that if I could have a game I created to show up in a Nintendo Direct I could just die in peace haha. So I was just eager to talk with him about how it was to release a game in Nintendo and ask for any advice he could give me in general.


Working with the theme: RITUAL

They revealed the theme before I had my team, so when I heard "Ritual" I honestly didn't start to think anything, I was more interested in finding a team and work with them. So once I was with my team we started to throw some random ideas and write them down in a whiteboard.

After some minutes we were kind of close to make a game about a witch that summoned ghosts with OCD... it sounded fun but something didn't feel right about it. Also the playable part was not quite clear so we continued exploring some other ideas.

I don't remember many of the other ideas we analyzed, but somehow we ended up talking about an African shaman defending his village, we all in the team were happy with the idea. It was a little inspired in Patapon but the core gameplay was actually quite different. It was going to be a tower defense, were the tower is you village at the center of the screen, and enemies come from different predefined paths to attack it. The player must use combinations (shaman dances) to summon magical attacks on the roads and stop the enemies.

There were still some things that were not very clear about the idea, but we agreed in create a prototype and then we would decide what was right and what wrong.

TIP: In a game jam you can waste a lot of time planning, but a quick prototype will help to understand how much you can actually achieve in the remaining time you have.

Let's work

We were divided in 3 groups, graphics, music, and programming.

Monica created some concept art that later Luis converted into pixel art:

Ricardo pretty much worked by himself :), once in a while Marlon explained him what sounds we needed, and others in the team gave some ideas of how the music should be.

I don't have much detail about how the music and graphics side happened, so let's talk about the programming side.

Organizing the programming side

This is what we did and worked very well. Consider this an advice on how to organize the programming work in a jam (some things are Unity specific):

  1. Create a Github repository (Github has a nice helper to create the .ignore file required in Unity projects to avoid adding files not required).
  2. Enumerate all the sections of the game you need to program: the screens, the input manager, the enemies, the different attacks, and so on.
  3. Enumerate all the Unity prefabs you need to make. As a matter of fact, most of your game's components should be prefabs.
  4. Create a scene per developer. Each scene is modified only by the developer assigned to it.
  5. Create a main scene to put all the completed parts and see how it works, once in a while you can just copy all its content into your personal scene.
  6. Have a lot of communication about modifying shared files, make sure to don't overwrite others' work.
  7. Backup often. You don't know if something really bad is going to be pushed to the repository.
  8. Sync up often. Waiting too much to pull others' work is a recipe for disaster.

A lot of this organization was Marlon's idea, probably because of the experience he has. I was learning everything I could!

First prototype

After one day, on Saturday evening we already had a first playable version.

It sucked.

It was totally unplayable, but it was fine, we had enough time and some of the flaws in the gameplay were quite clear for me. Personally I feel that my contribution was important for this. Let  me quickly discuss some of the problems with this first prototype.

The enemy rate

The enemies appeared in a constant rate, this was a huge problem, you need to give the player moments of excitement and moments of peace, so she can organize her ideas in the moments of peace and prepare for the next encounter. If you just throw enemies in a constant rate the player gets overwhelmed. This is used in almost any tower defense game, e.g. Plants VS Zombies, maybe you are always under attack, but there are some times that there are only a couple zombies, then they let you know a horde is coming and you get ready. Beating the horde is satisfactory to the player, so she gets more engaged and willing to confront the next horde.



The controls

In this first prototype the game was played with keys A, S, D, and F. They felt weird. To make matters worse, the combinations you needed to do for the different attacks were randomly generated every time you played.

Ricardo pointed out that ASDF didn't feel good when he played, so we changed them for the arrow keys, also we removed the random generator and made the combinations related with the position of the area to attack, so it was much easier for the people to get the idea of what they needed to do. For example to throw a Fire Attack at the top-left corner of the scenario the combination is Up + Left.

After that Marlon's wife (that was there at that moment) suggested that the last key to select the attack should be different to the arrows. I had the same feeling but somehow changing it sounded like a lot of work for the remaining time, anyway her opinion was the push I needed to go for it, I proposed to use keys 1 to 4, which is more intuitive in my opinion. So the combinations ended up being something like: Up + Left + 2.

To make it crystal clear for the players I suggested to make the Title Screen to use a combination to start. I got the idea from Depict1, a game that introduce the game mechanics in the very first screen. So we did so, and did the same for other screens.

Visual feedback

All of us were aware that there were still missing parts in the first prototype, but we underestimate how important was to clearly show the paths the enemies were going to follow. Also the enemies didn't show any reaction when they were attacked, so you couldn't know if what you were doing was working. After we added those effects it became much easier to play the game.

Initial design ideas

One of the initial ideas was that you were going to have 3 spells to cause damage, and one spell to recover health. The player was supposed to use the one to recover health when the village looked sick, but if the player would use it against the enemies by mistake, the enemies were going to become more resistant.

At some point we dropped the idea of the village status, but we still had the spell to recover HP to the enemies. I needed to argue with some of the team members about removing it because it was extremely confusing. There was some idea of using it against undead enemies in order to kill them, but it was clear those enemies were not going to exist by the time the jam completes. So after some arguing we agreed to make it a different attack, one that makes no damage but makes the enemies really slow.

The final day

We had a lot to fix, and we actually rushed to complete all the changes we needed to make, but anyway we managed to have some time for polishing. Ricardo's music really fitted the art style, and it was very catchy as well. We fixed some bugs, added the final level (that you must see ( ͡° ͜ʖ ͡°) ), added the music and sounds, added the credits screen, added the drawings for the title screen and game over, and tested some times the whole game.

As always I asked people to play the game without telling them how to play, and it was very satisfying see they got the idea quite fast.



Marlon exported it to WebGL and uploaded it. I uploaded it here too because in this way I can make sure that the game is up and running as long as my site is up and running too.

The Presentation

We presented our game to the other teams, it was quite satisfying because the game feels complete and fun. Latin America's Unity promoter actually recorded the presentation (it's in Spanish, I'm the guy using a blue shirt). Other teams made interesting games too, you can see here the other games created in the same site, however many of them are not playable via browser.

It was an amazing experience, definitely going alone and know new people was a good idea, I highly recommend it.

You can play Shaman Defender here, and drop me a comment if you want.

Epilogue

I saw my team again when we presented the game in our city's Unity User Group. I got some feedback from Ricardo about my song for Jumpjustu and I'm planning to continue going to the group meetings.

~ The end ~

Thursday, January 21, 2016

Selecting a name for my game!

I had been thinking A LOT about how should I call this little ninja game, it should be a catchy name, easy to pronounce, related to the game, that transmits multiplayer fun and the kind of cartoon style the game has.

One rule I decided to follow is that it must be short, one or two syllables, if it has more then it must be rhythmic or rhyme. The basic test I'm using is thinking in me asking some friend: "wanna play some <<name>>?" or "have you ever played <<name>>>?"

So I came up with some names, and applied a poll with some friends. I asked to vote for two in favor and for two against. These are the results I got:
  1. One Lap Attack [+1][-3] = -2
  2. Lap 'n Attack [0][0] = 0
  3. Lap and Attack [+2][-1] = 1
  4. Leap a Lap [+2][-3] = -1
  5. Wall Jumpers [0][-1] = -1
  6. Jumpaloop [+1][-2] = -1
  7. Jumpjutsu [+7][0] = 7
  8. Runnup [+5][0] = 5
  9. Ninja Climbers [+2][-2] = 0
  10. Round Around [0][-3] = -3
Proposed by voters:
  1. Leap 'n Lap
  2. Leap Attack

Some people just voted negatively for "all the others" but obviously I can't count that.
Advice: if you wanna know if your game's name sucks, just go ask people, at least my friends were incredibly fast to detect those names they hated :).

I must admit I was considering "Lap 'n Attack" seriously, but I cannot ignore that it was the one everyone was totally indifferent!

So obviously Jumpjutsu and Runnup won the poll. Jumpjutsu is good because it relates easily with ninjas, and I would say the game itself is about mastering the art of jumping. I think it's easy to remember as well. Even though, I must admit some times I struggled a little to pronounce it.

Runnup is good because is short and simple, but I'm not so sure how much it reflects the game style, and also it is used by native English speakers as per my Google searches, so it may sound very generic.

So, I won't spend more time going back and forth with this, so my little ninja game from now on will be called: Jumpjutsu!

Yay! :D

Tuesday, July 28, 2015

Style checklist

After a very busy month I took a few weeks for relaxing, now I think it's time to return to game development!

I had a kind of weird (new) experience about game design in the previous weeks. I have been thinking in the "mysterious" game I'm planning to do (I swear I will decide soon a provisional name!), but while I started to think about the game and the universe where it unfolds I often ended up thinking on an old game I used to make; an adventure game, with heroes, magic, fights against monsters, and so on, a kind of classic game that really inspires me.

The plan for the game I'm working on right now is different, I was thinking on making a deep psychological game, with a kind of weak and vulnerable main character. If you read my previous post I had the main music theme for the game, and I was looking to make a sad and unpleasing song with just a little light of hope. The problem is that I was having a hard time to imagine the universe for this game because I just couldn't concentrate very much on it.

This days off helped me to realize the reason why I couldn't concentrate in my new game and why I often ended up dreaming about my previous game. It seems obvious for me now: depressing games are just not my style!
Don't get me wrong, I'm not saying I never will make a deep psychological game, and that I will always going to make games about magical heroes and adventures, I just need to find my way to make the games, if they are deep and psychological, or simple and funny, it doesn't matter, there should be a way to make them on my way.

It's cool, because some artists use to look for a style - their style, and I feel I'm starting to develop a better perception of what my style is. I have decided that, even if I'm looking to create some simple games to grind some game-dev exp. points, I won't start any games that don't match with my style, at the end of the day, that is the greatest thing of being an indie game developer!

I developed this small checklist to analyze before starting any projects, I put it here for my own reference, but maybe it could help you too if you are a gave developer. From now on, I will ask myself the following things about the game to make:
  1. Do you like how the game would look in your personal portfolio? Would you feel proud of showing it to other people?
  2. Does the game inspires you? Do you find yourself imagining some cool scenes about your game?
  3. Is the game compatible with you? The idea could be cool, but maybe what you want for you as a game developer is not really going in that way.
  4. Are you eager to play your game? (If you are not, then who?)
  5. Would you find interesting the experience your game provides? (think that interesting could be the feeling you want to transmit, for example fun, suspense, etc)
Probably there are a lot of other points you could check, but for now I'm going to focus in these 5 points. Even when those 5 points seem to be very basic things, somehow I was just missing MOST OF THEM!

Let's see what I can think and create for this new game, hopefully my next post would show some results!

Monday, February 9, 2015

Doing and learning - my plan so far

Well, I'm still fixing the laptop in which I have my games so I won't share a new game yet but I really don't want to stop posting here, so I will share what is my vision so far about what I want to do here, you might find it useful if you are starting in the game dev world.

When I was 13 (I think) I started my first game using RPG Maker 2003, working on it was wonderful and I was really trying to make the perfect game for me, there is a long story about that but I don't want to go that way now. The point is that I spent about 5 years working on it from time to time, then I stopped doing it for a while, and about two years later started another project, it was not exactly a game, it was not exactly a PC gadget... well, there a long story about that too, and for now I'm not going to go that way either, I will just say that I worked on this project for about 3 years.

So, I could say I have 8 years of experience creating games, but it would be inaccurate and pretentious. I definitely learnt a lot of things in those two projects, but there is a learning curve that indicates how much you can grow in a single project.


The more you learn, the more you can do, the more you repeat what you know to do you get better doing it, but you stop learning new stuff. As you can see in that simple graph at the beginning you are basically a poor useless baby guided by Google to make your first horrible drawings, flooding forums with newbie questions and experimenting with whatever you think would be useful. Time passes and you learn some stuff, that stuff can have you busy for a while, you start your journey with some drafts in your mind and create your first works. After a while you feel really comfortable doing what you learnt to do, but maybe you don't even bother in look again and find if there are new and more effective ways to do what you already know to do.
Chances are that by that time you will have a long term project in mind that needs a lot of work, if that is the case you can spend a lot of time doing things you already know to do, and not learning much.

Obviously this is a simplistic way to view it, probably you are learning less stuff, but the few things your learn are complex and difficult to conceive for a rookie... anyway, it's dangerous to take this way if you are not looking to become a very specialized person doing those very specific things you know to do.

Why am I explaining this? well, as I said at the beginning I wanted to explain what I'm trying to do with the projects in this site (I know I have uploaded just one so far xD, but promise I will upload some other game as soon as I fix my computer).

I want to make some fast projects, different styles, different types, different platforms. Then improve them based on your feedback and take each project as far as people ask, or at least as far as I feel proud of the result :P. I'm planning to take a Non-Zero Week approach, i.e. I will try to post some progress here at least once a week.

I already know I can fall in love with a single project and stick to it for years, it's time to take a different approach and experiment a little more. I'm specially interested in experimenting game design ideas, gameplays, how to make an appealing game, how to make them fun, how to teach the players to play the games, how to transmit the sensations I'm looking to transmit to the players, even how to explain some philosophic ideas. I'm not discarding experimenting different technologies too, but that is not my main learning objective for now.

Would be great to know what you think about this project, so please leave your comments below!