Skip to main content

Posts

Showing posts with the label technical

Unity Game Developer

Been a long time since I've blogged...life tends to do this thing of getting in the way, haha. Anyways, I've been recently taking a Unity game developer class . Here are some GIFs of what I've been learning-- Day 1 - Learning to move a ball with arrow keys Day 2 - Using sprites and learning about physics Day 3 - Flappy Bird clone complete! Day 4 - Learning how to make a top down space shooter Day 5 - Adding meteors Day 6 - Using mouse to turn Day 7 - Shooting nukes and adding menus Day 8 - 3D Terrain building and character controllers Day 9 - Playing with built-in 3D models Day 10 - Learning about animations and 3D physics Day 11 - Starting my final project (4orner 3D) On a side note, if you notice, that last GIF is a 3D version of my hit  game from 2 years ago-- 4orner !

New Unity Game Project

I wanted to update a bit on the game development front as I haven't posted anything regarding that in a while. I recently just finished my second foray into learning Unity  having finished their 2D Roguelike tutorial . Definitely a lot easier for me to understand having tinkered with Unity3D and having developed 4orner . So I am trying to create another game using Unity as my technology of choice. Nothing as strict as my thirty day challenge as last time, but I plan on utilizing some of the mistakes and lessons learned from my previous experiences. Here are the two simple goals to my endeavor: Create a mobile game with Unity Publish to Google Play and iOS App Store As far as what kind of game I want to create, the pictures below are the initial whiteboard mock-ups I quickly put together. What the game will look like (hopefully) How the game will play (possibly) On a site note, I wonder what I should name it?

dotaplays Changelog - v0.02

Haven't blogged in a while...not good. So here's what I've been working on in changelog format. Tag system now works Multiple tags can be entered (separated by space or commas) Submission now detects duplicate GFYs Pending the GFY name at the end of the URL returns the same GFY each time Back and forward GFYs buttons work (same functionality as back/forward browser buttons) UI changes Removed title, author, and date Search moved outside of menu bar and in header Moved control tools to outside of the menu bar and under the GFY Changed icons Video sizing now a fixed percentage of view-width and view-height Flavor text now changes with every refresh On a side note, still a lot more work to do before this project is ready!

dotaplays Changelog - v0.01

This is an apology post. An apology for not posting when I promised to post every other day in my recent post . So here's an update to what I've been working on this week. It's pretty difficult to stay on track of these blog posts when I have a full-time job and can only dedicate a few hours each day in the evenings to code. So please forgive me for preferring to code a little bit more rather than blog about what I've been developing. So now I will promise to update weekly on the status of this project. And since it's still not ready for release just yet, I will start the changelog version at 0.01. Here's the latest changelog for dotaplays (v0.01): Submission now works Can submit either the entire GFYCAT link or just the unique identifier of the gfycat URL Detects NSFW content using the GFYCAT "nsfw" flag Detects empty strings However, there is simply no way for me to know whether or not a submitted GFY is related to Dota or not, unless I wan...

4orner Changelog v1.02 - Colorblind Mode

Hurray for increased motivation (even if it's temporary). Added colorblind mode (toggle by going to the about section) Each color is now associated with a shape Red - triangle Yellow - hexagon Blue - square Green - star All corners, all enemy balls, the inventory, and the player now have a shape that appears in the center when color blind mode is enabled Fixed the way selecting a menu option interacts with the player Previously, the player would "reset" and be centered on the screen to avoid infinite loops that jump between states of the game Now, when the player leaves the corner, they will reset to black--thus allowing them to select another menu option (even the same one) Fixed player rotation (now player ball cannot be rotated--was obvious with colorblind mode enabled) Changed about text to be more helpful instead of melodramatic Help text changes depending on whether or not the player is on a desktop or mobile On a side note, play the game...

4orner Changelog v1.01 - More Multipliers

Now that my #30daydeveloper challenge is over, what's next for me? I am not quite sure but I am incredibly overjoyed at the response my game has gotten so far. It's amazing to hear how my little game has made a positive and inspirational impact on total strangers across the internet. What a world we live in. I strongly believe that a great game developer is one who listens to the community and continuously strives for that perfection--no matter how far away that may be. So it is my duty to keep updating 4orner as feedback is received. Today's changelog is titled - More Multipliers Added several new multiplier effects "Two-by-two" - get alternating colors in pairs (red, red, blue, blue, green, green, etc.) "Three-by-three" - same as above but in threes "Four-by-four" - same as above but in fours "Half-by-half" - evenly divided half inventory (five of one color, five of another) Half inventory now reduces the total multipli...

#30daydeveloper Review

Below is what I wrote for this Reddit post. Introduction Hello, my name is Wonmin (1min) Lee and a long time lurker, first time poster at /r/gamedev . For the past thirty days I have been working on a game called 4orner. Here are some quick and dirty facts about me: I work a full time job I took two computer science classes in college (web and Java) and since then have self-learned everything I challenged myself to work on my game every day starting January 5th for thirty consecutive days Each day I challenged myself to be a “non-zero” day (shout out to /r/NonZeroDay ) I am extremely proud of the final result and excited for what this means for my future The purpose of this post is to document my findings and epiphanies from my thirty day challenge of making 4orner. It is my hope that my experiences can help motivate you to achieve your goals—whatever they may be. (And also motivate myself for any future projects). My post will be broken down into the following categorie...

#30daydeveloper - Day 30 - Done

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! I am done! The final product in it's finished glory Implemented PhoneGap, 4orner is now available as a standalone Android app No iPhone version because I didn't have enough time or an iPhone to test with Changed the font size to be dynamic based on window size Changed player size to be dynamic based on window size Still takes ten hits to die / lose i.e. it's marginally harder to grow bigger if the screen is larger Changed ball sizes to be dynamic based on window size Fixed ball body size bug not being accurate leading to incorrect collisions On a side note, look out for a complete review of my thirty day challenge tomorrow!

#30daydeveloper - Day 29 - About Multi-Touch

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Today I decided to finish up how the game plays on mobile browsers. Perhaps tomorrow as my last day I can learn PhoneGap and create a standalone application. About 4orner, which you should know all about if you've been reading my blog posts, right? Changed the hole sizes to 35% of either the window width or height (whichever is smaller) Removed remaining legacy code from old features (flick to move) Streamlined code to run faster a bit Added about page describing the project Removed settings page--wasn't sure what I would put under settings anyway Added support for multi-touch on mobile devices--two finger tap stops time On a side note, just one more day left! I can do this!

#30daydeveloper - Day 27 & 28 - Levels

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Only two days left. I can almost taste the finish line (two idioms mixed here). Today, I implemented levels. Every hundred points, the level goes up by one. With each level, enemies move faster. Every two levels, enemies spawn quicker. And finally, every ten levels, enemies spawn in greater numbers at a time. The highest level I managed to get to myself was thirty-one with a final score of 3190. Do you think you can beat my high score? If you're finding the beginning too slow or boring, here's a tip: since enemies move relatively slowly in the beginning, it's really easy to collect the highest combination of balls to maximize your score with a single submit (alternating, full inventory, and two color). Doing this brings you up to level seven or so immediately, drastically increasing the pace of the game. The game gets harder with every level every ...

#30daydeveloper - Day 26 - Tutorials and Love

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! With only four days remaining, I realized I should probably start writing a bit more. This challenge wasn't just done to create a cool game (in fact I had low expectations of being able to complete a game) but more to figure out about myself and my work habits. The full write-up will be delivered at the end of the thirty days, but as you can see from my blog and my almost complete game, things are going pretty well. I love this message. On with the changelog! Quit corner now works, prompting users for confirmation before navigating away to my personal webpage Tutorial corner now works Six levels in the tutorial outlining the basic concepts of the game Repeatable but you can close out by pressing R at any time Added message for restarting the game Fixed a bug with creating enemy balls that wouldn't allow me to properly create multiple balls at ...

#30daydeveloper - Day 25 - Small Bug Fixes

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Just a small update today.  Pressing a key is now the same as clicking the player ball at the beginning (i.e. removes the "drag me" text) Fixed several small bugs and reorganized code On a side note, only five days left in my challenge!

#30daydeveloper - Day 24 - Menus and Fonts

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Menus! Changed the font of the game Added a new favicon for the game Favicon Added game menus Settings - not functional yet Help - not functional yet (may be renamed to tutorial) Start - starts the game Quit - not functional yet Removed HTML button and added a loading gif Phaser canvas automatically starts upon finishing loading On a side note, what do you think of the font? Should I keep it?

#30daydeveloper - Day 23 - Restart

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Today was a bit of a slower day. Game over, try to beat my score? Fixed centering of game over text Added restart game when pressing R after game over Existing balls continue to move randomly after game over Removed ability for balls to change player color Player now can be hit a maximum of ten times of the opposite color before losing Collecting a matching ball increases the player's life count by one Player's size corresponds to the player ball's size (with growing and shrinking animation) Added keyboard support WASD / arrow keys for movement 1234 to teleport to a corner On a side note, only one week left! How much further can I get?

#30daydeveloper - Day 21 & 22 - Game Over

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post !  Hurray, more changelogs! Enemy balls now change the color of the player upon collision This is kind of an annoying new feature, I might take this out Multiplier texts are now in place to inform the player of the score multiplier The player's size grows smaller when hit by an enemy of a different color Game is over when the player is reduced to nothing Game over text appears properly and the game stops running Player's size grows back when collecting a ball of the same color Perhaps the player's size should also increase depending on the multiplier On a side note, do you think the multipliers are fair? Or are some of them too many points for too easy of a task?

#30daydeveloper - Day 20 - Multipliers Multiplying

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Today's change will be in changelog format because I realized that I love writing changelogs and these posts should've been like this from the very beginning. Stopping time now changes the colors of the enemies to white to better visually represent that you can collect them Multipliers are now in place! Currently there is a bonus to your score when: Full inventory (ten) Half inventory (five or more) Three colors only Two colors only All same color Alternating colors You are limited to ten free kills when time is stopped Added particles for each ball color Increased opacity of enemy balls Stopping time no longer resets the color of the player On a side note, still need some way of letting the player know which multiplier was activated.

#30daydeveloper - Day 19 - Cut the Fat

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Oh my god, I think it's actually fun now. I've been playing my own game and it's quite entertaining. Of course it's nothing like what I first envisioned at all. From sound design down to the core gameplay mechanic, this game is nothing like what I had mocked up on the first day. See the inventory on top? Those are the balls I am currently holding. On with today's changes (in bullet format because I am lazy): Removed click to flick mechanic of enemy balls Not necessary anymore given the new gameplay mechanics Removed ball worth Didn't make sense to create an arbitrary incentive to have enemy balls collide with each other Added a ton of new sounds and background music Everything sounds so soothing now. Much different from the upbeat techno trance music I had in earlier versions Added an "inventory" system for ho...

#30daydeveloper - Day 18 - Player Colors

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first post ! So today I added a limit to the time stop ability. You can now only stop time for 200 milliseconds before it goes on cooldown. However, the game still isn't all too fun to play. It was very cumbersome to stop time and to alter the direction of each and every enemy ball to send them to the correct corner. And given the new time limit, it was pretty difficult. So I changed it that once an enemy ball touches the player, it disappears. This solved the problem of a million enemy balls cornering the player and a negative score in the tens of thousands. I also changed the spawn pattern to a random location a set distance away from the center of the screen. But yet, it was still relatively boring to play. The player is now pink, therefore able to collect the pink enemy balls Here's where I created the player color mechanic. Now you can drag the player ball w...

#30daydeveloper - Day 17 - Spawn Animations

Hello! If this is your first time reading about my thirty day developer challenge, click here to go to the first  post ! Wow turn rates were really difficult. Who would've thought that I should've paid more attention in high school trigonometry class? But I managed to get turn rates working after a good amount of whiteboarding. The problem essentially was the way angles were being calculated. The ball may be facing -175 degrees, but if the player was 175 degrees, then the logical way to turn was counter-clockwise, but due to the way I was calculating the angle differences, the ball would turn almost a complete 360 degree turn towards the player. My whiteboard scribbling Therefore, I had to calculate out each specific scenario of ball versus player angles. What quadrant are they in? Are they negative or positive? Which direction should I turn towards to get the correct angle fastest? In addition to turn rates, I also implemented spawn animations. Now the balls grow ...