Fix a Bug and More Will Appear

Hello my readers! It’s been another exciting week in FTD development. Those collision problems I had last week? No more. Those weird issues I had with the character’s movement? Vanquished! I’m happy to say that most of the problems I struggled with last week are gone, but as is always true in game development more have emerged. However, before I delve into what problems I’m running into currently, I’m going to cover how I ended up fixing previous issues.

Last week, I struggled with two issues: one, collision with the Light character and the walls, and two, the Light character continuing to move, despite the player releasing the movement key. I realized that the Light wasn’t colliding with the walls because only the wall object had instructions for colliding with the Light. For collision between a character and a hard surface to work in Game Maker Studio both objects, the surface and the player, must feature collision events referencing each other. By defining collision with the wall in the Light object, I was able to fix the first problem.

lightObject001

The second issue, the character’s continual movement, was fixed by assigning a key release event to the movement buttons. After a key is released, the character stops moving, until a key is pressed again.

lightObject002

Now that I have those issues out of the way, I have several other problems I must tackle. Bugs aside, there were two things I wanted to get done last week. I wanted to implement all four characters into the game and set up the mechanic for the Darkness appearing randomly in rooms. I was successful in getting the four characters into the game, but I do not have their abilities functional (except for the Runner). I also don’t have the ability to control one character at a time and switch between them on the fly. Currently, the player is in control of all four players at once. When one moves, they all move in the same direction, and I don’t want that.

While I have a few ideas about how to go about fixing the character control issue, I’m not entirely sure how I’ll get the Darkness to appear randomly in the rooms. In my own pseudocode, this is what I think needs to happen.

  • Create a global timer object (timer1)
  • Create another global timer object (timer2)
  • Create Darkness object and sprite
  • Set time1 object to count down from 60
  • Create a room object and sprite
  • Create multiple instance of the room object, but assign them different names, ie Room1, Room2, Room3 etc.
  • Link room object to timer1
  • Assign randomize function to room object
  • Assign replace sprite function to room object
  • When timer1 reaches zero, replace room sprite with Darkness object and sprite
  • Have timer2 go off so that timer1 is repeated

I think this approach is the best way to get the random Darkness appearance function to work. At this point I’m not going to code the Darkness to kill anything or destroy rooms, I just need to make sure that I got the random mechanic working. I need to get the random mechanic working perfectly, because later I’ll be implementing the glyphs, which determine the chance that the Darkness will appear in a certain room.

Problems aside, I ended up getting a little sidetracked and started messing with some of the basic HUD elements of the game. Below is a mock-up of what the HUD might look like.

gameplayHUDmockUp

As useful as HUDs are, even the best designed ones get in the way sometimes. One of the functions I want the player to have is the ability to toggle the HUD on and off. I went ahead and created one of the HUD elements to test out the toggle feature, in this case the game’s timer.

lightObject003

Now I know once I work on the HUD in the future, I can give the players the ability to toggle the HUD on and off at their own whim. So what’s on the FTD development menu for this week? I have three items I want to have implemented by next Sunday.

  1. Get the randomized Darkness appearance mechanic working.
  2. Limit player’s control to one character at a time
  3. Get some of the other character’s abilities implemented.

Well, that about wraps things up for this week. There are a few official Game Maker tutorials that I think will help with the development of FTD, but I am open to suggestions and tutorials on Youtube/Vimeo/etc. If you see a tutorial that you think will help, by all means, send it my way! It will be appreciated. USCF over and out.

Post commandeered by the US Claire Force

Game Maker & Collision Fun

Hello my readers!  From now on, I’ll be updating the USCF blog each Sunday with development progress on Fight the Darkness. Cheers!

Last week I purchased Game Maker Studio Professional, and since then I’ve been stumbling through the free tutorials. Now that I’ve got a little hands-on knowledge with the engine, I’ve been working on a prototype of FTD. For the prototype, I’m just making one level, using the layout from last week’s diagrams.

roomComparisonProgress

Right now, I have the prototype built so that the player can control the “Light” character and open doors. Unfortunately, the player character likes to ignore the collision on walls (despite the walls having collision), so I’m going have to find a way to fix that. What’s interesting is that the player character ignores wall collision, but responds to the collision of doors (both open and closed). While I want the door’s collision to impede the player character’s movement while closed, I’m going to have to find a way to switch off collision once they’ve been opened.

progress003

Also, the player character will take keyboard input from the player in any WASD direction, but they never stand still. I think this might happen because I have one of the actions in the Light object set to fixed movement, as opposed to free movement.

I haven’t implemented the other four characters, the Darkness, or the glyphs yet, as I’m still learning Game Maker as I go. I really wish I could accomplished more mechanically this week, but the collision bug is tripping me up in particular.

I guess it’s not all that bad, because working on one feature at a time allows me to check for as many bugs as I can, fix those bugs, and save that version before I go adding any new features. It also allows me to pinpoint at what point exactly a bug appears and what feature is instigating the issue.

Back when Comrade Quest was in development, there were times when multiple features were added to the game and many bugs appeared. It caused a lot of headache for my programmers and designers because it was difficult for them to get a reading on what feature was causing an error. Granted, when you’re working on a team and you have deadlines to meet, sometimes adding multiple features at once is a must, but I try to keep additions incremental when possible.

It’s way ahead of my pipeline development-wise, but I’ve been contemplating FTD’s aesthetics. I’ve thought about rendering the game in pixel art similar to the old Pokemon games, but I also would really like to emulate the style of Kikiyama’s Yume Nikki. I want FTD to have a surreal, nightmarish aesthetic to it, and both styles could work quite well.

yumenikki

creepomon

Honestly, I know I can’t spend too much time thinking about the art direction at this point, because I get so wrapped up in the visuals of the game sometimes that forget about the game. For now I’ll just keep all that on the back burner.

As far as what I’d like to get done this week for FTD, I’d like to get all the collision kinks worked out and the other characters implemented (not necessarily their abilities, just the ability to control them and switch between them). If I get all that done I’ll move on to getting the Darkness and game timer implemented.

Well, That about wraps it up this week for the dev blog. Until next Sunday, USCF signing out.

Post commandeered by the US Claire Force

UI Design & Weapons Concept

I’m going to keep this post short and sweet, because I’m applying for jobs and have a lot coming up in the next post. I finished the weapons concept I’ve been working on, as well as a UI page for the fictional game Dragoon Chronicles.

ClaireLewoczko_DragoonChroniclesUI_2

claire_weapons

I’ve included a time lapse of my work flow for the electric sword, for your viewing pleasure.

weaponTimeLapse

Later in the week I’ll post about the new game that I’m going to develop in Game Maker, either for PC or mobile devices. Until then, stay tuned, and thanks for reading!

Post commandeered by the US Claire Force

Adventures in Portfolio Building & Learning

Hello my readers! I hope everyone’s doing well in their game development quests!

In my most recent adventures, I’ve attended several portfolio reviews and received valuable feedback. Of my current three portfolios, game design, concept art, and user interface design, I’ve learned that my game design portfolio is the strongest. Huzzah! However, I do need to beef up my skills in concept art and user interface design, so to do this I’ve started doing more work in those areas.

Currently I’m working on weapon concepts for an urbanpunk setting, either for a game or comic. Pictured left from right I have a drill axe, an electric sword, and a katar. The electric sword I’m most proud of, and if I were ever to face a horde of zombies, it’d be my go-to weapon of the three.

lewoczko_weapons Rough

Progress after importing the image to Photoshop. I’m a little odd in that I like to work right to left. I’m finished with the katar, but I’m still working on the electric sword and haven’t even started yet on the axe.

claire_weaponsWIP1

In addition to building up my concept art repertoire, I’ve been working on my user interface portfolio. Currently I primarily do just the art and design side of user interfaces, but I’m learning how to code and implement them using Scaleform. I love working in Unreal Development Kit (I find the node based system for materials to be extremely useful), and learning Scaleform will greatly increase my capabilities in the engine.

The menu below is a main menu screen for a fictional game called Dragoon Chronicles. I wanted to create a menu for a game with a dark fantasy setting, like Infinity Blade or Diablo. Currently I only have a static image, but I plan on importing individual buttons and states into Scaleform and see what all I can do with them.

ClaireLewoczko_DragoonChroniclesUI_1

It’s a bit daunting, having to learn software and languages, especially when it seems like a new one emerges every several months. It’s getting better though; I’m realizing that with both engines and programming, many concepts remain the same, despite the addition of new features and versions. In a way it keeps development from getting stale, as there’s always something new to be learned.

A couple of months ago Vinton Cerf, one of the founders of the Internet, came to give a presentation at my college. After his presentation, he allowed students to come up, shake his hand, and ask him questions. I was a bit shy, and introduced myself as “just a student”. I will never forget his reply, in which he told me

  “You are never just a student. A student is one of the most important things you can be. You should never stop being a student. You should always be learning.”

Even when formal education ends, it’s always important to be learning: learning from experiences, learning from other people, learning new ways to do things. From my experience, I’ve seen that the happiest people are those who continue to learn and grow. Those who refuse to open to new ideas become stagnant and depressed.

It makes me incredibly happy to know that I am in a field that is constantly evolving. It’s been a journey so far and as far as I can see, adventure stretches into the horizon. I have a lot to learn, but I am excited about all the discoveries that lie ahead. Stay passionate comrades, and always be willing to learn.

Until next time, US Claire Force signing out.

Post commandeered by the US Claire Force

 

Comrade Quest Final Release

It’s finally reached the end of the semester, and Comrade Quest’s development is over. It makes me sad that everyone on my team is going their separate ways, but I’m glad that I got the chance to lead a group of talented artists, programmers and designers to realize my vision. Also, I’m quite proud that one of the designers on my team will have her own game in Game Production Lab next semester.

Now that my directing days in GPL have come to a close, I’ve been reflecting on what I’ve learned in the past five months. Developing Comrade Quest has taught me a lot about game development and managing a team, but the most important thing I’ve learned can be summed up in a single statement: have confidence in your original vision. There’s a reason why most successful games don’t change their mechanics mid-development, and that’s because most creative directors have the utmost confidence in their vision.

The biggest upset in Comrade Quest’s development came when we tried replacing the melee combat system with a turn based one, similar to Paper Mario’s turn-by-turn combat. Part of reasoning behind the mechanics change was based off feedback that we got from the alpha test. Many of our testers complained that Olaf’s attacks didn’t feel like “attacks”. As they were, Olaf’s attacks felt mechanical and lacked the rewarding visceral sensation featured in published games.

Comrade Quest Shot 6

By changing the fighting mechanics to turn based, we wouldn’t have to worry about achieving that visceral quality. However, while a turn-based approach would solve our current system’s problems, it would bring unanticipated problems of its own. How would turn order be calculated? How would current attacks translate into the new system? How would we make a turn-based system cooperative? We were not adequately prepared to answer these questions.

The decision to change the combat to a turn-based system was also influenced by my own worries. I was worried that we wouldn’t be able to improve the physics and animation of the character’s attacks in time for beta release. Instead of being confident in my original plan and in my team’s capabilities, I chose what seemed like an easy way out.

Thankfully we changed back to the melee system, but we lost a week-and-a-half worth of production time. This cost us Olaf’s combo attack. If I had stuck with my original plan, the time the animators spent animating buttons for the turn-based user interface could have been used to animate Olaf’s combo. If I had stuck with my original plan, the time the programmers spent programming queues could have been appropriated to improve attacks physics. This is why it is so important to have confidence in your vision. If I had remained confident in my original plan, we would have used that week-and-a-half of production time to create a better product.

Comrade Quest Shot 5

The finished executable of Comrade Quest may not feature a combo, but overall I’m satisfied with how the game turned out. I’m glad that we were able to create an entire level and feature a boss fight at the end. I’m also very pleased with the audio and visual aesthetics of the game. Our sound designers really pulled out all the stops in creating great sound effects and an ambient track. Above all else though, I’m delighted that people find Comrade Quest fun. Almost everyone I’ve seen looks like they are enjoying their playthrough and interacting with their partner. I created Comrade Quest to foster this in-person interaction and camaraderie, and to see its players have such fun together confirms the game has achieved its original intent.

I would like to continue Comrade Quest’s productionin the future, but now that I no longer have a team, it will be difficult to do. I envision getting a team of talented individuals together to work on Comrade Quest and pitching the game to Kickstarter. I can also see going to one of the existing game companies and pitching the game directly to them. However, developing Comrade Quest further will have to wait for a while, as right now I have to build up my portfolio and find steady employment. To summarize, I haven’t given up on Comrade Quest, it will just have to float around in the “things I’d like to develop someday” pool for a while. So what will I do with this blog in the mean time? I have to build up my portfolio, so I’ll be posting concept art, UI designs, mini games made in Game Maker, and other game development portfolio pieces.

Cashtaroth Battle

Thank you all my dear readers for following Comrade Quest’s development. It’s been a pleasure blogging about its production, and I hope you all continue to read about my future projects. It’s been a fun and eye-opening journey so far, and I can’t wait to see all the places my passion for game development will take me.

If you want to play Comrade Quest, go to this link to download it. Comrade Quest Download

Post commandeered by the US Claire Force

Comrade Quest Checkpoint Animations

I’ve been working more on the menus, and animations for the different objects in the level. Here are the assets for the checkpoints- the banner says контрольная точка (kontrol’naya tochka), or checkpoint. I’m going off of what one of my Russian-speaking friends said, hopefully it doesn’t mean “capitalism for life” or “Donald Trump is awesome”

This one is just the “floating” checkpoint, used for when players haven’t yet reached a location.

Comrade Quest Checkpoint
Floating checkpoint for Comrade Quest’s levels.

This is the animation for the activated checkpoint, for when a player dies and respawns. Both animations are much higher quality in the game, these are just pixelated because GIFs are lossy.

activated checkpoint
Triggers when a player respawns.

A Lesson in Leadership

Whew.

Yesterday was crazy stressful. We had a huge meeting with the professors, and we’re back to the original melee system. Essentially the whole group got called in to discuss why we shouldn’t go forward with the turn based system. I thought the turn based system would solve the problems reported in alpha, but it implementing an entirely new system just creates new problems.

The lesson learned?

Stick with your original plan. Especially when you’re a leader, have confidence in what you set out to do in the beginning. Be confident even when you receive negative feedback- it’s better to fix or improve a current feature than to plaster over a problem with a revolutionary, game-changing solution. Generally, your original idea is the best idea, because you’ve thought it out the longest.

In other Comrade Quest related news, beta is little under two weeks away, and we’re starting to crunch. I’m excited about our group all-nighter we’re going to pull on Saturday. I’m thinking about preparing dinner and some baked goods for the team.

Also, I’ve been working on menus. Here’s the pause menu, which is underway right now.

Comrade quest pause menu WIP
Pause menu in progress for Comrade Quest

Comrade Quest Alpha and Feedback

The Tuesday before spring break, we had alpha playtests in GPL. We received valuable feedback from developers from the Fissure, Shroud, Solar Rim and Cross Stone teams, as well as some of the ATEC professors.

From the anonymous polls we gathered from the playtests

• The co-op element and co-op puzzles are the strongest features of the game
• Art style is likeable, player character animations look great
• Combat is not satisfying and feels out of place
• Most of the level’s layout is good, but there are a lot of empty spaces

Points made by professors participating in the playtests

• Strongest elements of the game are the co-op puzzles and co-op element
• Combat is very disjointed: unsure of combat’s place within the level
• Combat is not a co-op experience- too isolated between players
• The game is a puzzle game, creative director just isn’t aware of it yet
• The level design has improved significantly since the first milestone playthrough, but there are still empty areas where player interest lags
• Attack animations are designed the wrong way. Currently, physics feel like they are designed for the animations. It needs to be the other way around, with the animations being designed for the physics.

One of the professors suggested that combat should be de-emphasized, polished in time for beta, or taken out entirely. I’ve never realized before just how difficult it is to get real time combat feeling right. Not only do the characters attack animations have to reflect the velocity and movement of their attacks, but the collision and feedback of the attack have to match as well.

Furthermore, our entire approach to coding and creating attack animations is wrong. Animations need to be designed for physics, not the other way around. Currently, we design physics for animations, which is the wrong approach. While the animations themselves look great, the physics behind them don’t quite match up- keeping combat from obtaining that visceral element it needs to be satisfying.

Over spring break, I came up with a plan of action to improve on our alpha shortcomings, most notably the combat physics, the cooperative elements of combat, and empty spaces within the level. The plan of action involved setting up mini-playtest dates to test enhanced physics and achieve the right amount of realism in combat, as well as making modifications to the existing animations to match the physics.

Despite this plan of action, I worried that it wouldn’t be enough to get Comrade Quest to the level it needed to be at for beta. With a little over three weeks till beta, I feared that we wouldn’t get the physics honed in time. There was also the matter of getting the sounds properly synced with the attacks, and having enough time to modify the old animations, as well as create new ones.

After spring break, the Comrade Quest team met for GPL on Tuesday. I asked my team mates if they had read the action plan at all over the break. They had, and mirroring the gut feeling I had in my stomach, they didn’t believe that the action plan would be enough to get the game at a polished enough level for beta.

However CQ’s level designer had the brilliant idea of replacing real time combat with a turn-based RPG system, similar to the one utilized in the Paper Mario games. She proposed a simple system, with just attack, defend, and Communist summon commands. I thought the idea was brilliant- it sidestepped all the problems aimed at making the combat visceral. She also proposed that each player would select commands for their own character, but players would have to select the same commands if they wanted to summon a Communist leader- this would make the combat a cooperative experience.

Post commandeered by the US Claire Force

Comrade Quest History Part 4

Continued from previous post

I got up on stage, calmly pulled up the PowerPoint presentation for Comrade Quest, and began my pitch. In the first two slides, I knew the audience was at least listening. The next four slides I introduced the four playable characters of the game. With each new character, the audience became increasingly intrigued and attached. By the time I introduced Yuri the Bearserker, the entire audience roared with laughter. I can’t remember who said it, but someone once said that if you’ve made people feel something, you’ve won. I knew I had done a good job.

Concept art for the Gluttony Crapitalist demon.
Concept art for the Gluttony Crapitalist demon.

After the live pitches were over, I was swarmed by people asking me about Comrade Quest and if they could be on my team if I made it into GPL. I received many comments that my presentation was the only one that made the audience laugh. I was very thankful that I garnered so much interest my game, but a little dismayed that I had to explain to some people that Comrade Quest was strictly 2D (I had a lot of modelers ask if they could model for me). As the crowds faded and everybody made their way home, all I had to do now was wait until next Tuesday for the Spring 2014 games for GPL to be announced.

The weekend quickly passed, followed by Monday, and then Tuesday. At the time, I was in GPL as a 2D artist on my friend Josh Miller’s game, Control Room. Instead of sitting down to work immediately that day, I was called over to room 3.910 for Spring 2014 GPL announcements, along with all the other current GPL members and live pitch presenters. A little bit of anxiety swelled up in my stomach, but it quickly released when Comrade Quest was the first game announced for Spring 2014 GPL. Dr. Evans even added that it was an automatic shoe-in for GPL, and that the real difficulty was deciding what other four games would make it in for the upcoming semester.

Concept art for one the Crapitalist demon minibosses, Derek the Micro-Manager
Concept art for one the Crapitalist demon minibosses, Derek the Micro-ManagerAs odd as it may sound, I was happy that Comrade Quest was accepted, but not surprised. Ever since the semester started, I sensed I was on the precipice of something great. I didn’t know what form the greatness would come in, but I once found it, I knew it would be unstoppable.

Now it is spring and Comrade Quest is in development in GPL. My hope for Comrade Quest is for it to continue in development outside of class and become available on Playstation Network and Xbox Live. I wish for Comrade Quest to be successful, but most of all, I want it to be downloaded by people all across the world, to play with their friends, or to make some new ones.  To this day, I still believe in the power behind Comrade Quest, and with perseverance, dedication, and hard work, I will use Comrade Quest to make this world more fun.

Post commandeered by the US Claire Force

Comrade Quest History Part 3

Continued from previous post

To become a better speaker, I spent the rest of Wednesday pitching Comrade Quest to as many friends, classmates, and willing strangers as I could. Most of the people who I pitched the game to really liked the idea, but it was criticism from a 3D modeling friend that really helped me out.  While he understood the idea of the game, he emphasized the importance of selling the game’s humor. He stated that the use of humor would better showcase the game’s zany tone, rather than a stiff, straight-faced presentation.

I agreed with him- games that were humorous in tone had a better chance at getting into GPL. The semester before, three of the five games that made it into GPL had a good sense of humor- Body Shop, The Fast and the Fjorious, and Control Room. Taking his advice, I revised my pitch to match the humor featured in the game.

Gregori the Spudmaster.
Gregori the Spudmaster.

By the end of the day I felt better about my public speaking skills, but I still felt that I wasn’t where I needed to be.  If there was anything that my college experience taught me, it was that in order to succeed, you had to get outside your comfort zone. I could pitch Comrade Quest, but to be successful I had to sell it. To push the idea, I spent the night preparing flyers for people to see me pitch Comrade Quest for GPL at the live pitches.

Creating the flyers was a mental exercise in two parts- getting to the right mental frequency and preparing to speak in front of a large audience. After class on Thursday, I went around campus passing out the flyers and pitching Comrade Quest. Most people who I approached were very genial and interested in Comrade Quest. Of all the people I pitched and handed out flyers to, only two were uninterested.

Finally, Friday arrived. The pitches started at 6:00 that evening in the Clark Center. Despite Friday being the day of pitches, I wasn’t nervous. Unlike the hectic four days before, I went about my day peacefully, even serenely.  I woke up, ate breakfast, checked my emails, and worked in the ATEC labs for a little while, before going back to my apartment to get dressed up for pitches.

I got to the Clark Center thirty minutes early, to get comfortable with room designated for the live pitches. The room itself was a mid-sized auditorium, with seating for about 200 to 300 people. After about twenty minutes elapsed, the GPL professors and fellow game lab presenters filtered in. Panel members, followed by spectators filled the room. Presenters for Game Lab were ordered to sit in the front row together, in the order that they were assigned to present. I would be the eighth to present.

The Comrade Quest advertisement I distributed on campus.
The Comrade Quest advertisement I distributed on campus.

Dr. Evans, the head professor of GPL, kicked off the live pitches with the standard Game Lab introduction. As she was explaining GPL and the purpose of the live pitches to the audience, I started getting anxious. I ran the Comrade Quest pitch through my head furiously, making sure I remembered each point. I also ran through all the questions that the panel might ask about Comrade Quest, and formulated answers.

When the first pitch began, I found myself dividing my mental processes between paying attention to the pitches at hand and trying to tame my nervousness. A horrible quivering sensation manifested in the back of my throat, no doubt from the anxiety. My composure was quickly slipping.  I knew that if I didn’t start actively filtering my thoughts, I would end up on stage a blubbering mess. I concentrated hard on the pitches my colleagues presented, shifting my mental allowance between concentration and worry from 50-50 to 75-25.

 The shift worked a little, but it also sped up my perception of time. The pitches flew by one after another, until the seventh pitch ended, then Comrade Quest was announced. Suddenly, the nervousness subsided. As I rose out of my seat the music began to play in my head, The Hymn to the Red October.

Tiy pliyvee, pliyvee bestrashna, gordest say viernykh marieye.

Revoluytziye nadezhdah sgoostk vierif sekh luydeye.

Conclusion in next post!

post commandeered by the US Claire Force