A development blog for our mobile adventure game

Uncategorized

It’s been a good week for MicroVentures! We’ve just completed the first week of our second sprint and we are moving right along.

Like last sprint, we decided to bite off a big chunk of work to compete. Thankfully, this time we took some advice from our parents and cut up the work into small bite-sized pieces before chowing down! Our tasks this sprint have been much more thought out and we can complete most of them within a couple hours. This means we have no excuse for not completing a bunch of tasks each day! Damn….

We’ve completed a bunch of back-end components like the camera and sound system  and the level generator is working better than ever! I’ve been mostly working on getting the story generation framework done so we can integrate it with the level generator. It’s pretty much going to be amazing.

Speaking of amazing, check this screenshot of our game:

Ok, maybe it doesn’t look that amazing, but it is pretty amazing! This is a zoomed in look at what you saw in previous posts and how the game will look. Well, the game will have pretty sprites and buttons and such, but you get the idea. I hope…

 

 

Not only have we been making the game more awesome, we’ve also been making the team more awesome! We spent Friday afternoon playing around at the Boardwalk arcade before our dinner at Woodstock’s. Since we had been getting along so well, we decided to introduce some competition! After a round of minigolf (in which we realized we aren’t great at minigolf) we headed to the arcade proper to play some classic games.

 

A good time and a nice break from coding. Speaking of, I should probably get back to work…

Advertisements

Week 4: Real Talk

This slideshow requires JavaScript.

Let’s see, coming into this week we were almost eighty hours off our burndown chart. Not exactly something you want to tell Jim at the end of the Sprint. On top of that since our whole group was in Game AI, we all had Pacman due Thursday. The plan was to finish Pacman Wednesday night and reserve Thursday’s all nighter for Microventures. That was the plan anyway.

Tuesday was our presentation day for Microventures at the Business Design Competition. We had a good reception so hopefully we’ll get some interesting prospects to work with. At this point though we’re a little doubtful someone will come in and match their business with our programming. We’ll have to wait until next week though.

Wednesday night comes around and the “good kids” are all pretty much done. The other half of us are kind of lagging behind. Thursday night comes and we’re still working on Pacman. Oh well. That’s why we are having an all nighter right? Chris and I finished Pacman a couple hours before midnight.

The all nighter was another success. We actually have a procedurally  generated level with spawned monsters and chests. We can even move our player around. There was a lot of debate over pathfinding. At first we wanted to make a placeholder pathfinding for this Sprint, but realized we shouldn’t attempt pathfinding at all if we’re going to replace it later with A*. So in the end the player can only move to adjacent squares.

So the Sprint has come and gone. We’re still fifty hours off our goal, but considering what we have, I am quite satisfied myself. I promised you last week for a playable game right? And did it happen? Yes it did. Well it’s interactive anyway. The true success here is not the project, but the team itself.

StudioMu

StudioMu

Yeah, that’s the team right there. These are the guys I wish I met three years ago, back when I had little faith that computer science geeks just weren’t my type. Funny thing is I’ve known Chris since middle school, Dan for three years, worked with Kyle last year, and apparently met James and Fletcher back in CS80K. Fletcher actually knocked Reflector (my 80K game) from placing in the finals. James made this hilarious Metal Gear esque game that I still remember giving me smiles until this day. I guess it just goes to show, you don’t really know who you’re going to get along with until you actually give it a good shot.

Then again it’s not fair to say I would just get along with any other 170 group. Fact is I was on Hello World for a short couple of days before I realized the team just wasn’t for me. Being on a team of highly skilled programmers can be intimidating and disheartening. And with different personalities it probably would have led me down the same hole I’ve always fallen into. Yes, their game is looking great these days, but I’ve never looked back since I switched to Microventures. As much as finding a project you believe in is important, it’s equally important that you find a team that you’re willing to fight for. It’s like war right?

When I go home people’ll ask me, “Hey Hoot, why do you do it man? What, you some kinda war junkie?” You know what I’ll say? I won’t say a goddamn word. Why? They won’t understand. They won’t understand why we do it. They won’t understand that it’s about the men next to you, and that’s it. That’s all it is.

– Black Hawk Down

It’s funny that half the year is still here, yet I’m already growing sad thinking about what I’ll be leaving behind. The team, the lab, just the environment is superb here. I really wish college life had started here. It’s so motivating to be working right along side your peers. My middle school teacher told me I’d make my true friends in college, because being friends with people who share the same goals is just powerful. He was very passionate about his work, so maybe “true friends” is a little much, but surely some of the best friends you’ll make is probably right.

Not sure what else to say about the team. Just a real fun bunch with each our own quirky, but similar personalities. Think I’ll dedicate a part of each blog to a different team member. I’ll call it “Meet the Team.” Yeah, that sounds like a plan.

– Clement “I Do Real Talk” Tran


Sprites, Animations, the games eyes

Hey everyone,

Chris here. So I was having trouble with the wordpress and logging in the past few days, hence why my post is a bit late… yeah I can do a lot of programming stuff but when it comes to blogging I’m clueless 😛 So I guess I’ll start this post out with who I am. Lets see, I’m Mexican/American, I think all my ancestors were Mexican so I’m not a mix of things. I’m also a professional juggler and have been teaching/performing juggling for the past 9 years of my life. Last summer I started teaching Game design classes professionally to kids 10-18 years of age, and currently have a job teaching at Mission Hill Middle School in SC each Wednesday right after our scrum meetings. I’m teaching the students game maker so its not a lot of work making a class curriculum or anything. I also teach some students juggling on Fridays a few hours after the scrum meeting, but again that’s not difficult as they’re beginners. I am also still working for Kid Natural porting the Android game I finished last quarter over to the Iphone (using marmalade too!). I kind of feel like I’m the guy on the team who is never really there as I am always busy; I would love to have full dedication to the team and be in the labs way more than I can with everyone, but then I’m faced with the reality that I cant really afford college or food if I don’t do other jobs like how I am right now… not getting scholarships or grants sucks, or not coming from a rich family. I just hope the team isn’t taking it as me not wanting or caring about them and the game, because I do care a lot and am really excited about this project and working with them all; I’ve been trying super hard to be as helpful and available to them all with the game.

So anyway enough about me, lets talk about some Microventures progress :D. We got a decent amount of work done this sprint and are off to a great start with our game. This time around I was responsible for doing engine work with rendering, and I was successfully able to get the Sprite, SpriteManager, and Animation classes working correctly for the rest of the team to use. As I am writing the engine component for this, I tried to make these as abstract as possible so both I and team members can possibly refer back to the code in the future and use for other games. As the sprites/animations are a key component for seeing playable visible progress I worked hard to get it done by this sprint, and am happy that they are functional. There are still some things that need to be done such as fixing memory leaks, and customizing the SpriteManager class so we can more easily control loading/unloading of used/unused images during playing…. but thats efficiency stuff and can probably wait till the end of sprint 2 or 3, or even next quarter.

To go more in depth about sprites, what I’ve done for this sprint has been very similar for some previous projects I’ve done before (making the rendering system for kid natural). Marmalade is OpenGL based, thank god, as I’ve used OpenGL ES with my previous project to create the rendering system… actually Marmalade makes it a bit easier to use OpenGL, and claims to have one of the fastest rendering system possible on mobile devices today. I’m trying to stick more to using Marmalade’s Iw2D and IwGX rendering functions as they make the game more portable and accesible, as not all phones (when you get into androids) have an accelerated and dedicated graphics card. So far this has been a success and I’ve only used Marmalade rendering classes. In the process of my development of the rendering system I always run a few tests to allow my sprites and animations to have a number of controllable parameters including: scale, position, alpha, rotation, origin offseting, animation speed, forward/reverse animation, and looping animation. When I run these tests I hook the sprite system up to the input system and run the game, changing each paramater according to the clicked x,y value. Here are some screenshots from tests in case you wanted a visual.

 
Here are some images of me testing alpha, rotation, scale, position. I used some filler gfx for now, the question mark is utilizing the sprite clsas, while the number box is utilizing the animation class… yeah yeah the pictures are grey and boring, but its a start.

At the end of the sprint during the night code-a-thon Zak and I started working on the camera and rendermanager. We mostly got rendermanager done and camera setup however got too tired to make the camera actually work. I feel like it shouldnt take too long getting camera to work, however we will have to use a cheat method for now, instead of what I have planned using the OpenGL matrix method which is super efficient. For the future sprint coming up I’m super eager to have that work, and then start working on menu system stuff and possibly even metricsmanager stuff to get the game playtest ready. I like working on engine components, and hopefully by the end of this sprint and release will have an good engine for the game to run on that is easy to use.

-Chris aka “DracoTheJuggler” as I’m known as a juggler (and trying to get know as an indie game designer)


24

The following takes place between 9am-7am on the final day of Sprint 1. I’m UC Santa Cruz Programmer Sam Jenkins, and this is the longest day of my life.

Okay, I may be exaggerating a little, my day wasn’t quite as hectic as typical Jack Bauer day, but I felt a connection between Microventure’s 24-hour codeathon we experienced today and the long running Fox TV show, 24.

As I just mentioned above, we experienced quite a long day today. We found ourselves a little behind schedule for Sprint 1 and ended up having to cram the last of the code in one day. We started around 7 or 8 because many of us had to finish up the PacMan project in our Game AI class. While everyone was finishing up AI, Zak, James and I went to Costco to stock up on food for the night. The ride home from Costco might have been the toughest part of the night. We took Zak’s truck that could fit three, the ride there was bearable, but the ride back was another story. Trying to fit 4 pizzas, 3 churros, three humans, two drinks and a bin of cinnamon rolls in the front of a pickup truck was certainly not easy. I had “bitch seat” on the way back and I was straddling both halves of the car trying not to let my left foot slip and hit the gas petal, we didn’t want another car accident during one of these all-nighters (Sorry, Clement). Anyway, we got back safe and sound, the trip was worth it because the pizza and cinnamon rolls were delicious and the RockStar energy drink allowed me to stay awake all night. Shockingly, the combination of only pizza and caffeine in your stomach doesn’t sit well.

My goal for the night was to finish up the Gameplay tasks(there were 3 left). We realized that the tasks we created this sprint were much harder because we didn’t have our UML at the time outlining all the functions and classes we would need for the MVP. The second sprint should be much easier to plan. Anyway, Dan, Gerrit, Clement and I all worked on finishing up the Entity class, basic Entity movement and item spawning and interaction. We ended up finishing it all up at 4 or 5am, did a quick wrapup scrum and then I waited an hour or so for the first bus to show up, while some members said “screw it” and crashed on the couches.

I ended up getting home and falling asleep for about 2 and a half hours before I had to get up and go back on campus for the scrum review. The review was successful and we brought up many issues from the previous scrum and suggestions for the next scrum, that will be very helpful.

I am proud of my team for bearing down and grinding through the final parts of the sprint until we got it to work. Overall, it was a successful sprint and very cool experience. The next sprint starts in a few days and lasts another 3 weeks. Until then, I’m signing out and going to sleep.

-Sam “Barely Functional” Jenkins


Playable Visible Progress

Hey it’s Fletcher here giving an update on the overall project at the end of our first sprint.  We had some trouble this sprint matching up the work we had to do with the tasks we assigned to ourselves at the start of the sprint, due to a couple reasons including assigning programming tasks before the UML for our project was finished.  Because of this confusion, it often felt like a lot of our work wasn’t really getting us anywhere because there wasn’t anything visual that we could look at or play and feel like we were progressing toward a finished game.  However, during our end-of-sprint crunch last night, we were able to put a lot of work into combining all the things we’d worked on and actually start drawing the scenes and reacting to player input, which has resulted in a very confidence-reinforcing build of the project.  We are now able to move the player character around by setting its destination through touch input, and interact with a procedurally generated level! Once the camera is done much of the core gameplay setup will be complete.

ImageA zoomed-out view of a generated map containing the player, chests, and enemies.

Image

Setting the player’s target to a chest.

Image

Moving the player to the chest.

Now we just need to replace my crappy programmer art with some of the content our artists are working on, and we’ll have something pretty impressive to look at!  I’m looking forward to next sprint, and it looks like we should have a pretty nice setup and fun game by the end of it!


Sprint 1 Update

Yea…Our product owner told us to make a post at the end of every sprint or else something bad will happen. Since I love the game and the team so much, I’ll set aside my pride and write this post.

To all my stalkers out there I got some good news and bad news. Unfortunately, we did not get all of the stuff we had in visioned for the first sprint done. I believe we were a little over our heads with the number of tasks we started with. We plan to finish most of the game this sprint, but spent a third of the time working on the UML. We also realized that there were other task needed to get done before we started the new ones and the Pacman assignment for our game AI class didn’t help that much. However, thanks to team effort and Costco MegaVentures, we got a lot of the task done near the end of our sprint. I created and helped developed the header and c++ files for the game play part of our game and worked with Fletcher to actually get parts of the level to show on the phone. Plus, we also have a lot of experience and ideas for our next sprint. We need to revise our release plan, but MicroVentures will be out by spring as planned. Can’t wait to implement path finding and enemy AI into our game.

Here’s for good effort and a better sprint,

Gerrit “Stuby” Eggink


The idea of MicroVentures – Part 1

As the Product Owner and initial creator of the idea for MicroVentures, I am often asked questions like “How did you come up with MicroVentures?”, “Why are you making a casual game? I thought you hated casual games.”, “Why a phone game?”, “You like games like Braid and Limbo, why aren’t you making a pretentious indie game?”, “Seriously, why are you making a video game for a fucking telephone?” Okay, maybe not so much that last question, but some of the above assertions are true: I really don’t like casual gaming, and my ultimate dream in life is to make thought-provoking games independently. So, as one of my roommates would say, “Why MicroVentures even?”

I’ll start off by talking about the current trend in the game industry. It doesn’t take any statistic gathering to realize that casual gaming is on the ride. Importantly though, I do disagree with the assumptions that console and PC gaming are falling, but rather that the gaming market is stretching out to new audiences. As a game designer, I can’t ignore the growing trend in casual gaming.

No, I do not hate the idea of casual gaming. I think integrating games into even the smallest gaps of our schedule is something positive. What I don’t believe is this notion that casual gaming will eradicate the console/PC gaming market altogether. The idea of  of the usual Friday night LAN party with a group of friends being replaced with an all-night Angry Birds party just makes me cringe, and I can never see that happening. Ever. Why? Because that’s not what casual games are supposed to be, and what they are not is a replacement for highly-immersive, 3D experiences on consoles or PCs.

Casual games are meant for one thing: A short distraction. They serve as a way for someone to break away and have a short break from a normally dull, repetitive existence. That’s why people play Angry Birds and Farmville, it gives people a fresh set of goals and tasks that can be accomplished in a matter of minutes.

And that is essentially our goal with MicroVentures: giving someone a break from their life to accomplish other goals. I went with the genre of Roguelikes mainly due to the major influence from Binding of Isaac, but at the same time it seemed like a perfect solution to my problem: Creating an awesome game experience by having a DIFFERENT experience every time! By having each roguelike adventure to be aimed to play for 2-4 minutes, we successfully create a short, concise adventure game.

Though something’s missing. The problem with having these procedural adventures, there’s no way of having character development, story, or anything like that. OR IS THERE?

To be continued…