Beam Me Up, Scotty

Hey guys, its Nemo. Hope you guys are awesome as always and healthy both physically and mentally. Can you believe it! It’s already the 3rd month of 2016, 9 more and its happy new years all over again. Okay enough, let us not dwell on the future. Let us focus on the present, the current, the now.

Quick brief up on what’s been happening

  • Re-organised my weekly schedule
  • Re-design my blog site
  • Re-designed my website layout (itsdaum.com)
  • Re-designed my resume (Finishing uni this year )
  • Explored Blue Mountains and places around Sydney
  • Got back into running and staying fit
  • Finally Cleaned Car (for those who don’t know my car was quite messed up from road trips)
  • Photography (Timelapse of Sydney night life)
  • Started being part of social media – Tig Source and Twitter.
  • That’s about all I can think of.
  • Wait also new project – Beam Me – mobile game.

So let’s being todays topic. What is “Beam Me”? Well first we need to look into the most recent failures of 2015.

2015-12-12-17_53_59-Unity-Prototype.unity-KnobStudSurface-PC-Mac-Linux-Standalone_-_DX11_-550x341

Knob&Stud – This was a solo attempt game for ludum dare about a farmer called Knob and a pig named Stud. The game was a puzzle game in which Knob and Stud had their own individual set of rules such as Knob couldn’t swim whereas Stud could swim, Knob could chuck Stud, etc. You controlled Knob and Stud to solve puzzles which involved using each other’s pros and cons to over come obstacles. The best part was being able to chuck the pig. I had a ton of enjoyment chucking Stud. But the verdict was the game never finished due to a few reasons.

  • Since this was a game for ludum dare, I had to work with a few constraints. The theme was two button system. I originally had it focused on using the left and right mouse button to do everything, from chucking/ jumping/ walking. The game had to many mechanics/gimmicks for two buttons.
  • Hardware/Software constraints. I had a few hiccups at the start of this particular jam, unfortunately my main computer decided to catch a virus which took up all of the ram. I couldn’t use any software. So I was stuck to using my Surface, which wasn’t bad at first. But I soon ran into problems of having to draw art on Gimp. I could not stand drawing with a mouse, especially a heavy wireless one.
  • Time constraint – Tutorial and Gameplay. The game jam was 48 hrs long. Art was coming out at a slow rate, so I made it real simple. The programming side was smooth without many hiccups. The main problem was getting content into the game. Teaching the players each mechanics wasn’t too hard but when it came to building harder levels I came to brick wall. I couldn’t make complex puzzles because that required more mechanics, which meant more tutorials, which meant more art. I did not have time for it.

ss+(2016-03-08+at+03.05.36)

The game ended up being simple tutorials of the mechanics of Knob and Stud which wasn’t too fun. I decided not to upload it to the competition as I wasn’t confident with the game.

I learned a valuable lesson from making this game

  • Don’t catch a computer virus just before a competition.
  • Get a better wireless mouse.
  • Design to the theme. I should have known that with 2 buttons I couldn’t do a game which involved a lot of game mechanics. I over complicated the game. I should have focused on what was fun and ditch the part which wasn’t necessary. Should have focused the game around chucking the pig.
  • Spend more time on designing/ quick prototypes.

I took these lessons and applied it to my new project “Beam Me”. Beam Me is a reflection of all the failures that happened in 2015.

I re-attempted at a game using the theme – two button system.

ScreenShot1ScreenShot2

ss+(2016-02-25+at+06.14.27)

Beam me is a mobile arcade game. The control scheme utilizes two buttons. The goal of Beam me is to control an alien spaceship which revolves around a planet while beaming up fallen alien soldiers and avoiding contact with any incoming hazards. The game has different planets to explore, each planet having their own unique objectives, hazards, and challenges.

I started this project at the start of this year to get myself familiar with the processes required to get a game onto the mobile market. I thought a simple game like Beam Me would help me achieve that. The game is relatively small scoped but with possibilities to build upon if needed. The current build is just a prototype and I still have a few more features ahead of me.

For more about Beam Me I started a tigsource blog for more awareness.

Next post will be about how Delirium influenced in designing Beam Me. Till then Ciao and Stay Awesome. Nemo Out!

 

 

Advertisements

Learn from the past

2014-12-31 19.01.46

Sunrise of Jan 1st 2015

In the blink of an eye 2015 has ended.

Hey guys Nemo here, Happy New Years 2016!! A bit of a late Happy New Years post but better late than never.  So another year has finished, and I guess it’s a good time to have a brief recount of 2015 and where I’ve been since my last post which was published on July 12, 2015 at 1:44pm. So let’s begin.

I set out 2015 to become more active, by doing more with my time, discovering what’s around me, taking more photos, and developing more games. And for the most part I’ve managed to become that active person. I’ve discovered numerous hidden gems around Australia by travelling up and down of Sydney. I’ll just show you a few of the images taken throughout the trips.

2015

Apart from becoming an outgoing person, I’ve also spent a good amount time being a hermit crab working and developing games. In 2015 I’ve made an attempt at developing 9 games of which only 5 managed to get fully polished and complete. Out of the 5 complete games, 2 of the games won 1st place and 1 game made an appearance at Sydney’s Supernova to promote Vengador a comic book. I have uploaded all these games on my online portofolio if you guys haven’t tried it yet!

ss+(2016-01-16+at+05.12.09)ss+(2016-01-16+at+05.11.28)ss+(2016-01-16+at+05.11.51) ss+(2016-01-16+at+05.11.16)ss+(2016-01-16+at+05.14.57)

Although these 5 complete games has helped me become a better game developer, what really taught me to design better and understand games development were through the failed attempts. In the upcoming weeks I shall go into detail as to why the 4 games remained uncomplete. I’ll go through the issues I’ve faced and what I’ve learnt from dealing with these situations.

Untitled-Disconnec2t2015-12-12-17_53_59-Unity-Prototype.unity-KnobStudSurface-PC-Mac-Linux-Standalone_-_DX11_-550x341

Anyhow that’s a brief update of what has been happening on my side of life in 2015. Let us make another memorable year! This year I aim to post more regularly, and keep up with what i’ve started in 2015 which is to develop more games, and travel more!

Remember

The days are long, but the years are short.

 

 

OLYMPUS DIGITAL CAMERASunrise of Jan 1st 2016

ciao for now. Nemo out~

Let’s Talk Basics

Hey guys Nemo is back from finishing UNI! So I’ve been planning out what content Game related topics to talk to with you guys, and decided to start from the ground up on game programming algorithms and techniques!

The topics that I’ll be covering over time:
1. The basics – Game Loops, Objects
2. 2D Graphics – Sprites, Tiles
3. Algebra – Vectors, Matrices
4. 3D Graphics
5. Input
6. Sound
7. Physics
8. Camera
9. AI
10. UI
11. Languages
12. Networking Games

Yes, I have a lot of content to cover with you guys!

Note: I am not a qualified tutor nor am I trying to be one. I am still a learning and pursuing in the field of game development. Content that I put up are purely on my understanding and experience from game development. I am just a fellow blogger that wishes to spread the joy of game development. So then with that said. Shall we


Let’s Talk Basics!

Loops

Basically, a game program is one big loop, a loop repeats a series of actions until the player has terminated the game. We call this term as the Game Loop, which can also be referred to as a frame. Yup that’s the same frame when hear gamers talk about their fps “Oh man I have 300 FPS (frames per second) my computer is so badass”. 300 FPS would mean that the Game Loop is completing 300 loops per second. The Game Loop contains everything that occurs in the game, such as processing the input, updating the game world and also generating outputs (2D or 3D graphics, audio, music and dialogue). Whatever is in the game is in the Game Loop.

The Game Loop put into Pseudo-code:

while game active
process input
update game world
generate output
loop

Note: This is the very basics of a game loop architecture for simple games. Not all games use this game loop, instead they would use Multithreaded Game Loops.

Multithreaded Game Loops are programmed to harness the full potential of the computers CPU and it’s available cores. So that it can execute multiple lines of code at the same time thus reducing the heavy load, and giving the players a steady 60 FPS on their game. However there are some drawbacks to using multithreaded game loops in some occasions, due to its split processing there can be delays, which could cause input lag. Input lag refers to when a player inputs and the game displays the character moving a fraction slower. This tiny lag can be detrimental for games that relies on precision, timing and relexes such as Fighting Games. Other than that, multithreaded is the way to go for any game that requires heavy load of processing.

Time and Space

“Time waits for no one”

Games rely on time, without time there wouldn’t be any motion or action in the game. Before we get into talking about time, we need to understand the clear difference between Game time & Real Time. This might sound obvious but Game time is the time elapsed in the game’s world, whereas real time is the time elapsed in the real world. What I mean by this is, Game time can be programmed to fit the need of the game, time can run slower or faster. Whereas Real time is constant, runs at the same pace all day everyday of our lives.

Now then, lets rewind the time a bit, when games first game out, they were programmed to be played specific processor speeds. However as time and technology grew, more variations and faster processors came in the market. Which meant that games designed to be played on specific processors weren’t playable on newer processors as the game would run 10 times faster than usual because the game is being processed at a faster rate. We’ve probably have seen this once in our lives, when we put in an old dos games into our new computers with intel i7 processor and when we ran it, it would run super fast making it impossible to play, causing us to download a program to lower our processing speed to match the game.

This problem has been solved by the use of Delta Time!
Delta Time
– The time in seconds it took to complete the last frame.
So what does delta time actually mean?, well instead of thinking movement in terms of pixels per frame, we put it in terms of pixels per second. Regardless of the frame rate, any object using delta time will move exactly the same over the same period of time.

The Delta Time put into Pseudo-code:

object.position.x += 120 * deltaTime

The object will move 4 pixels per frame when the game is running at 30 FPS, whereas it will move 2 pixels per frame at 60 FPS. They would both be moving the same amount however the higher FPS would have a smoother transition.

Note: Any transformation, rotation and scaling should be done using the function of Delta Time.

So how is delta Time calculated exactly?
Delta Time is dependent on the elapsed time of real time since the previous frame.

while game active
realDeltaTime = time since last frame
gameDeltaTime = realDeltaTime * gameTimeFactor
process input (done using gameDeltaTime)
update game world
generate output
loop

Game Objects

Games consist of Game Objects. Game Objects by definition are everything that are required in the game. They can categorized into three types of Game Objects:

Non-Static Objects
These objects can be your main protagonist/antagonist or any moving objects in the game that are required to be updated each frame. These occur in the “generate output” in the main Game Loop.

Static Objects
These objects are your background, UI frames that don’t move and do not require to be updated. They only have to be drawn once.

Trigger Objects
Triggers are updated every frame however do not require to be drawn. A clear example of this is the camera within the game. Triggers also control the flow of the game, it determines when it spawns other objects into the game.

Well that concludes the first content chuck. I hope you guys got the basics of a game program. Ciao for now!

Let’s talk Procrastination and Productivity

Procrastination

pro·crasti·nation n.

To put off doing something, especially out of habitual carelessness or laziness.

1

The clock is ticking. Your probably reading this article in an effort to avoid mundane tasks, or you just like Nemo’s Let’s talk :D. If you think about it your procrastinating to learn how to stop procrastinating. A moment of INCEPTION (Vvvooooommm). Even though we acknowledge that we are procrastinating and have the urge to stop. Why can’t we?

Well, I’m no master in psychology but I’ve done some research into this topic whilst I was procrastinating. Although the psychological causes are still being debated, we believe it is our Human tendency to over or under estimate the value of the reward based on its temporal proximity. This is referred to as temporal discounting.

For example if I were to offer you 50 dollars today, or 100 dollars in a month most of you would take the 50 and run off. But instead if I were to offer you 50 dollars in a year and 100 dollars in a year and 1 month. Suddenly you might think to yourself, if I can wait a year I can wait the extra 1 month. But the time and value difference are the same as the first offer.

It turns out that human motivation is highly influenced by how imminent the reward is perceived to be. Meaning the more further away it is you discount its value. This is often referred to as present bias and hyperbolic discounting. Being on sites like facebook, 9gag and youtube is more rewarding than a perfect score on a test until temporal proximity increases the value of a good mark of your test and you cram, all night. On top of this every time you do something enjoyable such as playing game, you get a dose of dopa-mine that modifies the neurons in your brains, making you more likely to repeat the behavior. The problem is games and internet browsing provide many small and quick continuous rewards unlike your tests and study which is a one time future reward.

So how do we overcome this urge to put off these tasks. Well frankly speaking there isn’t a straight up solution. One solution is to try the Pomodoro Technique. A time management method by using a timer to break down periods of work into 25 minute intervals and rewarding yourself with some sort of treat and a 5 min breaks, which will improve your mental agility. It can be used for any kind of task and enables you to view time as a valuable ally in accomplishing what you want to do.

But the most important thing to overcome procrastination is to have a proper mind set, rather than thinking of it as 25 min of torture, think of it as only 25min but “I want more time”. Give yourself reason, motivate yourself on why you should study or finish a task. After several repetition with the proper mind set, your mind will start creating dopa-mine making you want to repeat the behavior. So Hang in there guys :).

Remember procrastination is a symptom not a cause.

2

the clock is ticking.

Working towards the Future

Ladies and Gentlemen, I’d like to present you – 


download

Its been a busy few days, I have finally took my time to buy myself a domain and create an online portfolio! I hear its the new THING that people do in the IT industry to get a job. It was interesting to see all of the procedures required to put up one little website. First of all I had to research whether if the domain name existed, unfortunately I was a tad bit late on buying the domain name ItsNemo.com, it got bought  by some company on the April 2013 :/, so I decided to go with ItsDaum.com which made more sense cause it was a portfolio about myself and not Nemo.  Secondly there needed to be a hosting server to host my website, I went with Inmotionhosting.com which was inexpensive and seemed to do what I required. Thirdly the site needed an Admin that could access the server, and also a new database to keep information about the site. After all that Wallaaa, my site was born. After a bit of php and some researching, the site was ready to be looked at.

I will be constantly updating/uploading up my work on this site to show future employers.

Have a look at it : D

http://www.ItsDaum.com/

Who Am I? Its Nemo!

Hello, I’m Daum Park (Born 1993)  a Korean with a range of skills in game programming and also in arts. Sticking to my national sport “Starcraft”, I have been playing games longer than I can remember. Not only maintaining a high APM in Stacraft, I spent my free time sketching and bringing my designs to life on Photoshop with my Wacom  Intuos tablet. My interest in programming awoke during High School when making my first text based game in my IT class and due to influences from friends. Due to my passion towards working in the video game industry I have decided to make a digital profile online, whilst pursuing a degree in Games Development.

: D