Friday, May 24, 2013

impromptu past due update

So a lot has happened in the last couple weeks. I've graduated from college (I just have to take 2 summer Spanish classes). I have a lot more free time now and I started out using that free time just playing games. I hadn't really played without feeling guilty about school or anything. After playing though I would always feel like I wasn't really having any fun. I was just doing something to pass the time until work or until I would go over to Michele's or vice versa.
Today however, I did some work and man do I like it. I revamped War+ so that it is currently a lot more like a tutorial. I think I have everything that needs to be known about the game set up, with that being said I really want to hit playtesting hard now. I'll be posting the tutorial level and not giving any kind of directions on how to play.
Not much has changed as far as the mechanics of the game goes. Minor changes in the rules of the game have changed, you now do not have any limit on how many lethal kills you can use. I still need to continue to work on the AI. I thought I was happy with how it works, but I still feel like it is too mechanical. This is probably due to my expanding yet still limited knowledge of GML.
I'm going to hit the programming hard over the next few weeks to get this AI working the way I want it to. The only thing that will probably hold me up is work. I have odd hours and they're never the same.

https://www.dropbox.com/s/swt6dh2uv6fcy99/War%2B6.exe

Monday, April 29, 2013

Show last Friday

This past Friday was the show where I got valuable feedback from all the user testing. I had to present my project and all that fun stuff which was cool, except I don't really like public presentations. The night was a lot of fun!
I felt that I should have had prepared some sort of tutorial for the testers to use so they could get more from the experience, but you live and you learn right? Another problem I saw was that the game was unnecessarily hard to beat (I even had trouble with it). That being said I am taking War+ in a completely different direction. I took out the limits to the lethal attacks the player had, but I kept the negative effects it had with it. When I tested this myself I got dangerously close to losing without realizing it. This will still encourage the player to use the environment and avoid lethal combat. I want the player to be able to explore and find interesting things throughout each level. That being said I still need to figure out how to change room sizes in Game Maker. I'm going to be doing research on how to set up levels in Game Maker and studying level design and narrative for video games over the summer. As I go along I will be creating the assets for a level and slowly but surely having a much more polished looking demo. I think I'm more excited about breaking free of my senior thesis constraints so it is giving me a new vigor for this game. I was honestly a little reluctant to continue working on this after this semester.

Monday, April 22, 2013

End of the semester!

I have definitely been lacking the wherewithall to keep on trucking through this project and work as hard as I possibly could on it. That's not to say I'm not proud of what I've accomplished. I went from knowing absolutely no type of code of GML to having a mastery somewhere between beginner and intermediate. Granted the language is really simple, but nonetheless I am happy with what I've learned.
This week I finally got my enemies to stop moving once they were frozen. I've been trying to mess around with this for about two weeks now and I was never able to figure it out. The last thing I need to get done before the semester is over is having the camera follow the player so he has access to a larger area and can chase enemies.
Once this semester is over I am still going to continue work on War+, and I will continue to post theses blogs. I am just happy that I will be doing it on my own volition and not for a grade.

Tuesday, April 9, 2013

Couple steps backwards

It's been a rough few weeks for me as Michele's family suffered the loss of our uncle, Billy. He was a great guy always quick with a joke, but always in good fun. We loved him and he will always be missed.
I've been struggling to get the ranged enemies (the blue guys in the last demo) to take melee damage. In video games melee is simply a direct hit/punch/kick/grapple. I decided that it would be a lot easier to have one type of enemy with random health and range so I got rid of range and tank enemies and just had one type of enemy object. Now making area of effects should be a lot easier to do. That being said I still need to create the area of effect objects. Before I had a problem where the collision between the player's bullet and the area of effect object would cause the game to crash. I need to look up a solution for that problem before I can create other kinds of environmental effects.
On a positive side I added in tips when the player loses to help them do better. I also changed melee from the v key to right click and lastly I added a cool down time to Shel's ability to heal you.
As promised several weeks ago here's a look at the progress I made. https://www.dropbox.com/s/o3nbqdl90ejytew/War%2B3.5.exe
W moves up
A moves left
S moves down
D moves right
Spacebar moves the green dot
Left Click shoot
Right Click melee
R reload
C cure some damage- starts the cooldown

When you lose there will be tips to help you do better next time.

Monday, March 25, 2013

things look promising...

 So I know I said there would be a new demo today, but I'm a little behind. There's some kinks I need to work out of the existing AI, I need to be able to do area of effect damage, and I have to add the medic enemy. Once they are all added I will have an impromptu update with a new demo for everyone. After that I am going to work on an enemy timeline that will create more enemies as the game progresses. Finally I will work on fixing the screen size in order to fit more on the screen.

This week I began editing the enemy AI. They wander out of play a lot which is annoying.
As I've said this week I have a lot to do. Most challenging is probably going to be the AI for the enemy medic. The medic will move fast and avoid the player just as the ranged enemies do, but instead of firing at the player they heal wounded enemies or enemies immobilized by an environmental attack. Also I want to make destroying a medic directly an automatic level restart whereas the other two have a total number of direct assaults before the level will restart.

I feel like the environmental damages and effects will help breathe some life into the game and make it unique. Right now the environment doesn't work properly. I found a tutorial to help me fix that though, so by next week it should be okay.

Monday, March 18, 2013

5 short weeks left!

I had spring break this week so naturally I worked night and day tirelessly on my game and all my other school work so I would be ahead of the ball by the time school started again..... except not. In retrospect I'm not behind terribly behind but I'm definitely not ahead of the game.
My project is due in just 5 weeks from now! That being said I have to kick it into high gear. No more wasting time doing distracting tasks. I need to have a schedule made up day to day so I can get everything done. As of right now I'm simply making edits to the game that I have so far. I need to go in and learn about time lines and making bigger environments in Game Maker. I am realizing that the AI I have right now is not quite right for my game. I need to fix this by looking at different AI setups for enemies. I am realizing that I need to improve upon my coding skills in Game Maker greatly  (and other languages). This is probably going to take a couple years before I have true mastery over GML, but definitely worth the effort.

Tuesday, March 5, 2013

Update 3/5

Thank you everybody that downloaded the game and played my demo last week. I know I have not gotten to a lot of the core elements of the game yet, but I'm hoping that I will soon so I can get more feedback from everyone. Also once I do I can set up a time where I can actually watch testers play the game so I can see what they are doing versus what I expected them to do.  Next week is SPRING BREAK! I'm pretty excited about that, hopefully I'll get lots of work done for all my projects
So this last week I did get a lot of work done on my game. I enabled melee combat by right clicking when you get close enough to the enemy. I limited the number of direct assaults per level to 4. Once that is reached the game will restart. Finally I began to work on the area of effect damage from environmental enemies.
This week I have to continue working on the environment objects so they can all work properly. I still need to figure out how to detect the enemies within range of area of effect and only apply the damage to instances of the enemies within that area. Once the environment is done I want to control the number of enemies with a timeline. I need to look into timelines and figure out how they work. Game Maker has a tutorial on timelines when they teach how to make the scrolling shooter 1942.
In addition to my figuring out the area of effect I also need to figure out arrays for my other game that I am working on for my internship. Also I still have not figured out how to change the screen size without affecting the mouse_x and mouse_y location on the board.

Monday, February 25, 2013

first demo

So I am having some set backs with the size of my room. I want to increase the room size but this affects the mouse_x and mouse_y reading and thus affects the location of the player projectile. For the time being I have the game being played in the default room size until I can remedy this. I made the AI a lot smarter. It now has the ability to take the character the player wants to defend off screen and this can only be stopped by a direct attack. Also when the character the player is defending gets captured it moved to a random instance of the object that captured her. I thought that the instance that captured her would carry her off the screen the same way shooting an instance destroys only that instance of the object. To remedy this I found a function called instance_nearest. I set a variable called nearest to instance_nearest(x, y, obj_entank); x is her x position (horizontal), y is her y position (vertical).
Next week I hope to have the screen situation fixed. It's too small to really create any type of environmental objects to attack so I need to fix this problem. Until then I am going to continue working on enemy AI and getting everything in my code organized because right now it isn't commented very well. To see what I have done so far follow this link and download the game: https://www.dropbox.com/s/hjybycw3svnrh84/War%2B3.exe

W- UP
A- LEFT
S- DOWN
D- RIGHT
SPACE- moves green dot towards your character
R- Reloads
let me know if the link doesn't work!

Monday, February 11, 2013

coming along nicely

So this week I got a lot done.... but I could have gotten a lot more done unfortunately. I had a great time yesterday (Sunday) hanging out with Michele! We got to spend the whole day together since I had off of work. This week's Valentine's Day and I'm really excited. I'm cooking dinner and it's gonna be a surprise!
My game is going along nicely, but like I said I could be further along. I have the AI working pretty well for the Tank enemy. When you get close to the enemy it will start chasing and shooting at the player, taking down 10 out of 100 health as it hits you. Also the enemy starts walking around until the player is within range making hitting them a little harder and giving the enemy a lifelike aspect. All that needs to be added is the code for the enemy to take the character the player protects away.
This week I am going to finish up that part of the AI and add in environmental elements that will help destroy the enemy. I would also like to add in an ammo system so the player has to reload after a certain number of shots. Once that is done I am going to upload the game for everyone who wants to play it. Feedback is highly encouraged when it finally is uploaded.
I keep getting sucked into this game and I love it, but I have other classes that get  neglected when I become consumed with this task. I need to start focusing on studying spanish and biology as well as my internship. Of course Valentine's Day is also an obstacle because I'm going to be spending a lot of time with Michele, but I don't mind that at all

Monday, February 4, 2013

I can save it now!

So this was a great week... how bout them Ravens! Yeah Michele knows Joe Flacco that's pretty cool I thought. She had dinner at his house before. Anyway back to the topic at hand. This week I did a lot of tutorials and I learned a lot about coding in GML. I wanted to learn syntax but unfortunately the guy going through this tutorial is doing it as if the person is actually learning code. Which isn't a terrible thing, but still it's kind've annoying. Anyway I got through fifteen tutorials this week and I did learn a few things that I wouldn't have been able to figure out on my own. For example I learned about controller objects, saving the game for later use, and using the mouse as a way to fire.
This week I'm going to be working on the enemy AI. I am looking into Finite State Machines. FSM's are objects that have 2 different functions. For example a turnstile that you see going into a concert or some sort of stadium. The turnstile is either locked or turning. The only time it is changed is when there are certain conditions are met. For the turnstile it needs some sort of input like the entry ticket or a monetary deposit to unlock it. Then it is able to turn and let you into the event. The enemy will work similarly. They will be walking around aimlessly until the player is within a certain range and is detected by the enemy. At which point the enemy will engage in combat. This will create a basic AI that I can improve upon as soon as I learn more about GML.
I have a lot to do this week for both school and my internship. Other than that I will be able to get everything I need done!

Monday, January 28, 2013

just keep coding

I'm starting to get into my internship and I wish that there were more of me so I could get more done at once, but that's a completely different story. This week I got the player to move around the room, he can shoot a laser, and the user can have a dot follow them (this is going to be the girl in the game). When I got to school today I was told I'd be using a project management system this semester called Trello. I'm feel like it will help me be a lot more organized so that's always a good thing.
This week I am focusing on enemy AI. I am going to be looking at tutorials on YouTube to figure out convincing enemy movement and attack patterns. Once I'm done scouring the internet for help on the matter I'm going to create the AI based on what I learned and hopefully in about 2 weeks I will have a decent enough enemy AI so I can move on to personalizing it for each type of enemy.
Like I said I have an internship this semester which seems more like freelance work than an internship but that's a whole other story. I need to meet up with one of my clients tomorrow at 3 and get started on the project as soon as I'm done the meeting. These two projects are going to be battling for my attention in addition to my other classes (Spanish and human form and function).

Monday, January 21, 2013

deCoded

SO as I said. This is going to be a very busy semester. I'm looking at 2 different coding languages and I haven't even been to a class yet. Hopefully I pick up on the syntax quickly so I can focus on the logic and debugging process. As of right now I have found a comprehensive tutorial for GML and I may have found one for another language that I'm going to be working with for my internship. Right now I am going over GML. I listened to a keynote done by David Jaffe (lead designer on God of War, Twisted Metal, and Calling All Cars, among other games) where he talked about a voice that he's had that tells him he is going to do what he loves and it doesn't matter if he's the best at it or not, so long as he keeps true to the love he has for game design. I like listening to stuff like that every so often because it inspires me to continue doing what I love to do.
Tomorrow I have work and I'm hanging out with Brandon, but on Wednesday I'm spending the whole day until I have to go to class working on one of these languages. One thing I've found in my previous ventures in programming is that arrays are confusing at times for me so I am going to be paying close attention to them as I learn and develop my game.
This is going to be a hard semester for me so like I said before I need to keep on trucking through, not getting distracted, and I'll be okay.

Friday, January 18, 2013

Early Update

Hey everybody, here's an early update cause I know you're all anxious to hear if I got my act together this week or not. The short answer to that is yes and no. I'm definitely working a lot harder this week than I have been, I delved into using tiles to create backgrounds, I am looking at GML and I went through some of the assets I will need (I'm always forgetting some section in the GDD).
To be a little more specific Game Maker has several tutorials that I used to get acquainted with the drag and drop system. However drag 'n drop will only get me so far so I am trying to find as many hands on tutorials of the GML (that's Game Maker Language) that I can. The language is very similar to C which I've never used but it seems pretty easy. I am going to mostly stick with the drag and drop system for basic commands like walking, and the like. More complex things like enemy AI will be done in GML. That being said I've also looked into the tile system Game Maker uses. It is a lot more straight forward than I originally thought.

Monday is the start of the new semester and I am going to be working hard on getting a prototype set up using place holder art from the other tutorials and quickly composed sprites using the GM editor. By the end of the weekend I hope to have the player able to walk and shoot. Monday I will work on the melee attack. Once the player is taken care of I will work on the enemies for the rest of the week. By next week I will have a rough prototype of an ordinary arcade shooter/beat 'em up game.

I am extremely apprehensive about this semester. I took on a lot, but I don't think it's more than I can handle. I just can't be caught up giving myself time to just relax mostly because if I do getting back into work mode is harder for me. I am waiting to hear about my internship, I'm excited about that as well. Corona and Lua look like they are very user friendly so hopefully I can quickly pick it up so it seems like I know what I'm doing. Overall I think the only thing that will be a real distraction this week is myself. Like I said I cannot come home from work and just relax or come home from school and just relax. Even when I hang out with Michele I will probably have to be doing work, luckily she knows what it's like to be in college and have a lot to do so she'll understand.

Monday, January 14, 2013

Crunch time

I'm a little disappointed with myself this week. I always seem to be lacking motivation for this project until it's too late to start working on it so nothing gets done. Despite that I have gotten a little further into the GDD I missed an important section of it that I've been working on for a while. I think my solution is to take my laptop with me and do homework wherever I am. That way I can't have an excuse.
I am going to work on Game Maker 8 a lot this week. I'm starting with remaking the game 1984, the scrolling shooter. Then I'm going to make a platform game, and finally a tutorial about adding depth to my environment since that will be an important part of game play for this game. I wish I didn't have work in 30 minutes otherwise I'd get started right away.
My biggest distraction has been Pokemon lately. I'm going to set it aside and put it somewhere where I won't see it. Out of sight out of mind right? Tonight is a new How I Met Your Mother and I'm going to Michele's after work to watch it. Instead of playing games while we wait for the show to start I'm going to be doing work while she plays with her iPad. My new year's resolution this year is to be more self motivated and positive than I have been. That is a big part of why I don't get as much as I should done.

Thursday, January 10, 2013

GDD pretty much done

I feel like it's been a long week. I've been working a lot so I haven't had too much time to do work. However I got a lot of what I wanted done. I finished most of the GDD I just have to do the walkthrough for the game and balance the combat a little more. After that I just have to create concept art and make the GDD more aesthetically pleasing.
I still need to work on the GDD but I'm going to be focused on Game Maker this week I plan to get through at least 2 tutorials this week then 2 more next week. 
I've been slacking I'm not gonna lie. I have been distracted with playing games and working and hanging out with Michele. But I need to buckle down and get serious about my projects. Last semester lets go!