Finding Jervis Bay

Jervis Bay Trip – Part 1

Team

February 18th 2015, not long after the horrifying incidents of Wattamolla cliff jump we set off on a spontaneous  hold on let me tell you how this all began.

February 16th 2015, it all started at the gym(everything starts at the gym ( ͡° ͜ʖ ͡°) ) with my friend. He asked me a question “so, what’s happening with Jervis Bay, are we still going?” which I answered with “sure why not”. That night I brought up the question to the group to see their thoughts on it. They seemed interested in the idea however there wasn’t much drive on pursuing the idea. Out of the blue one of the member started posting links of accommodations at Jervis Bay. This was when shit things got real. Next minute we were looking for accommodations on airbnb. And moments later she was writing up cover letters requesting for a 3 day trip to a bungalow near Jervis Bay.

February 17th 2015, the next during the afternoon we got confirmation on the 3 day trip. The trip was a go!. Gulp. Time was not on our side. The trip was tomorrow.

February 18th 2015, the four of us met up around 11am. Packed the trunk with luggage, set the destination on the GPS updating us with a 214km road trip. Step foot on the pedal and off we were to the land down under. The excitement in the car was out off the roof. We were pumping music, talking loud. Driving Fast(under the speed limit). We were pumped.

Map

A good hour and half passed and decided to make a quick detour to the nearest maccas. Seriously, nothing beats a maccas pit stop. After having a good meal, we set off again. Turned the GPS back on and followed its directions. The directions seemed alright until it started directing us away from the main roads and kept pushing us towards the country side. The country side roads were narrow and bumpy, and the view outside wasn’t too pleasing either. Long stretches of farm land and the occasional herd of cows. We had no choice but to trust the dinky ass looking GPS. There was no going back.

After escaping the country side we reached a Valley. It was spectacular. We were situated on top of a steep mountain where we could see all sorts of mountains, and vast open green land in the distance. Surrounded by lush green forest. It felt like a scene from a top gear episode. The best part of this valley was the road ahead of us. The roads were perfectly smooth as though no other car had driven on it. Not only that the roads had a lot of turns. Each turn down the mountain got sharper and sharper. We sped down(20km/hr) the roads like a bunch of rally racers. One curve had the car tires screeching for a good 20 seconds and all of us screaming our heads off for a good minute or two thinking that a tire might pop and cause us to roll down the steep mountain. Good times. I got to admit thanks to my GPS we got to experience this wonderful valley.

After all the quirky roads, we made it to our destination. Our home for the next 3 days.

 The death lagoon, and its secret.

After getting everything settled in the bungalow we set foot outside to discover the beach in front of us. From our vantage point the beach was heavily fortified by a lagoon. With not a lot of time before the sun fell down, we decided to cross the lagoon. According to the local it was shallow and easily walk able. So we step foot into the lagoon. The lagoon was calm.

TheWalk

Oh gawd.

The Smell.

The smell was awful at the start. The smell of sewage water and salt. The smell of death. The smell of fear.

The Feeling.

The first few steps were alright, solid the way I like it. A bit deeper into the lagoon I started to feel the mush crawling up between my toes. This wasn’t the usual mushy mud feeling, this was the feeling of stepping onto a dead sea creature that had just started decomposing. My body quickly sank into the gunk of dark brown goo and I was slowly falling deeper into the lagoon. It was as though the dead were coming alive to pull me down into the lagoon of death. We kept moving, there was no stopping us. The water was already up to my waist and we were only 3 meters in. Ahead of us the lagoon seemed to be getting deeper and deeper. I looked around to see how the others were coping with the situation and the expressions on the other guys were priceless. We kept going. We were determined to see the secret that the lagoon was guarding.

After making it through the death lagoon, we had made it onto the beach. The beach was speechless. Covered in soft white sand that made a speaking noise every time our foot rubbed against it. The waves were perfect, not too strong and not too calm. Above us was a clear blue serene sky. Nothing mattered to us at that moment, we were living in the moment, enjoying our time swimming, tripping on our skim boards and getting a nice tan on the beach. It felt as though it was our own beach.

Beach

The pictures a bit pixelated sorry don’t have a picture of the beach. I didn’t take my phone cause of the intimidating looking lagoon.

After seeing the secret guarded by the lagoon we made our way back. The walk back wasn’t too bad. The lagoon didn’t seem as a threat anymore. Jokes it was still pretty bad. The smell and feeling was still there. On a side note, surprisingly walking in that lagoon gunk it made my foot sparkling clean. Ahaha

Well that concludes part 1 of my Spontaneous Jervis Trip! Keep in touch for the next part of this journey!

TheWalkBack

Finding Nemo

Hey guys Nemo here : ). Sorry I’ve been away for the past few months. The first two months of 2015 has been a busy one for me. I decided to spend less time on social media. This gave me a lot of extra time, which I was able to spend on self discovery. It’s been a hectic 2 months of spontaneous journeys which I will share with you guys over the weeks to come.

“If you love life, don’t waste time, for time is what life is made up of.” – Bruce Lee

Wattamolla Beach, Royal National Park

February 12th 2015, a spontaneous trip with a few close friends to Wattamolla Beach located in Royal National Park. Now for those who haven’t been or heard of Wattamolla Beach, its a beach famous for its cliff jump onto the lagoon and its cliff side hike. The cliffs are around 7-8m high. Sure you may say that doesn’t sound too high but once you get there you’ll be like hell no. Also 5m is when you start to feel the fear of height.

Oh boy was I excited for this trip at the start, I was talking with my friends on the way how awesome its going to feel when we jump off the cliff. When we arrived at Wattamolla and saw the cliff from a far, it didn’t look too bad, until we step foot onto the cliff and looked down onto the lagoon. Now for those who don’t know me, I’m not a big fan of heights.

Now there were three of us on top of the cliff. The first friend fell off the cliff with ease, he didn’t give it much of a thought, just walked off the cliff and into the lagoon. It was somewhat inspirational? So, now there was two of us left on top of the cliff both still pretty scared, deciding whether to fall or not. Both convincing each other to jump together or jump first. Out of no where, she ran off the cliff, with a loud battle cry following a light scream and a big splash. It happened so quickly my mind could not comprehend it all. I was left alone on top of  the cliff.

Fear – an unpleasant emotion caused by the threat of danger, pain, or harm.

Fear struck me hard when I stepped foot onto the cliff edge. Each time I looked below, more of my non existent confidence drained out of me. I sat there looking down on my friends trying to get encouraged. It’s a funny thing fear, it grows stronger the longer you wait. All I had to do is take one more step and let gravity do its thing. I kept telling myself it was equivalent to me tapping a simple A button to preform an action in a video game.

In the end, fear had took over my body and mind. There was no point of return. It’s a shame I couldn’t make the jump and by the time I had gained confidence my time was up and had to leave, otherwise I would have been consumed by the thunderstorm rain. I learnt a valuable lesson on this journey. First of all, be the first one to jump off, it’s always the worst being the last one standing on top of the cliff with no support behind you ahaha. Second, don’t think, feel. Don’t let your mind take the chance to think about all the danger, the pain that it might bring on your body. Just let it happen. Tap the A button.

“The pain of discipline is nothing like the pain of disappointment.” – Nemo

WattamollaAlso on the side note

Try out the game that I’ve made with a friend which took 1st place for the Hectic Game Jam #4

MAGIC BENNY VERSE THE WOOD CUTTERS

42120_attfq5e2

Screenshot.420162.1000001 Screenshot.420162.1000002

Henry Saal and I present to you Magic Benny Vs The Woodcutters our Hectic Game Jam #4(make a game in 48 hours) game. You play as Magic Benny, a wizard trying to prove himself to the great wizards by whacking animals to stop the woodcutters from chopping down the tree. We had a great time developing this game and an even greater time showing it around and sharing the fun and laughter with others at the jam.

This Game Jam was particularly special for us as the theme were requested by children in hospitals and orphanages. We were able to make their dream games come true just in time for Christmas. Thanks to Hugo Santos and theHectic Games Jam team for making this all possible! The game is dedicated to John Taylor, Sloan Cross, Thomas White.

You can try Magic Benny vs The Woodcutters a number of ways.
Game Jolt
Windows 8
Android App

Well Ciao for now 🙂

I will be uploading a new post on Let’s talk Basics and more of these Finding Nemo talks. Keep in touch!

Ludum Dare 31: MACHO KNIGHT!

Hey guys Nemo here! I haven’t updated you guys on this but over the weekend I was busy  soloing the Ludum Dare 31! The theme for this Ludum Dare 31 was “Entire game on one screen” For those who are unaware of what a Ludum Dare is, well Ludum Dares are a global online competition for game developers to create a game according to a set theme within a certain time frame, in this case 48hrs(compo) and 72hrs(jam) (I made a post about this previously if you want to learn more on Ludum Dare). So here’s the exciting part, my game. I present to you the mighty “MACHO KNIGHT”.  You play as the mighty Macho Knight. Fling off the hooligans from kidnapping your Lover using your mighty Macho Shield! Theme: I interpreted the word screen as protection, shield hence you have to protect your lover with one screen. And that is the entire game. ahaha

Controls Right Mouse Click To Move Right Left Mouse Click To Move Left Techniques 1. Enemies will fly further if they are hit whilst airborne 2. Boost off by facing in the opposite direction of your incoming enemies 3. Macho Knight’s shield can wear off enemies stamina, making them fall down to the ground (note: point not awarded)

Click here to Play

Click here to my Ludum Dare Page

wordPress3wordPress2wordPress


POST MORTEM

What Went Right?

1. Soloing

Unfortunately my friend that I did the last Ludum Dare with was unable to attend the jam due to unfortunate exam times. So this time around I decided to solo the jam game which meant I had to work all three aspects of the game (programming, art, design). However with all that work to do, I managed to be able to complete the game with spare time on my hands. It was oddly satisfying on what I can achieve within such a short amount of time.

Hard work does pay off.

2. Fundamental Ideas

This time around I had two core ideas when designing the game. These were: 1. Easy to learn, Hard to Master I personally like games that have a simple learning curve but wields  a deeper mechanic behind it. During the design phase of the game, I referred to games that had similar core beliefs such as dive kick, lethal league, flappy bird. All these games had on thing in common which was having a simple control scheme. This is where I decided to have my game just rely on purely two axis left and right. 10844733_10205323332273045_2059939595_o

(prototype of the game)

2. Fun to watch, Fun to play Physics games are always to watch and play, and that is why i wanted to use the inbuilt physics engine provided by unity. The physics engine created interesting outcomes, seeing boxes fly left and right were some what entertaining. I had a few giggles playing around with the numbers. At one point in the development I just spawned tons of boxes just so that I could fling them away. 10853711_10205329465346368_466539692_o

3. Art

This time around I had to really go simple with my art. So I went with the core three colors (R,G,B) for my character design. The characters came out quite nicely that were both visually pleasing and readable to the user. Overall satisfied Characters Background2

What Went Wrong?

1. Math

Ahaha not gonna lie, I’m not the brightest with math. I had myself a bit caught up having to back to hitting the math books more than I had to look up programming errors ahaha. So I’ve decided to solve some math problems over the holidays! woo

2. File Back Up

At one point in the development my Unity crashed and I had totally forgotten to back up my game so I lost a bit work. What I should have done was to back up different versions of the game onto github so that when something did go horribly wrong I can always reload a previously working version.

3. Fatal Error.

Fatal Error, I don’t know exactly why its occurs to people ahaha. The biggest main problem is I’ve never experienced the fatal error so its really hard to pin point out the cause of it. I need to learn how to find a way to recapture these fatal errors so that I can prevent it from happening.

What I can do better next time?

1. More sleep

Ahaha More sleep. Always More sleep. I was soo dead from not having enough sleep.

Images

Untitled-121 Untitled-12 10834318_10205335113007556_87875909_o menu Anyhow Nemo signing off! Till next time ciao.

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!

Ludum Dare Results!

Hey Nemo signing in, It’s been a while since I’ve gotten the results for ‘Link’ the game that my friend and I created for Ludum Dare 30! however i was unable to make a post in time. Back to the news! One word ‘Wow’. So my friend and I were both surprised and humbled at the results that we got back. Here is the run down!

Ratings

Coolness 69%
#9 Fun(Jam) 4.18
#33 Innovation(Jam) 4.03
#45 Overall(Jam) 3.95
#72 Humor(Jam) 3.52
#75 Audio(Jam) 3.81
#124 Mood(Jam) 3.65
#270 Graphics(Jam) 3.63
#413 Theme(Jam) 3.11

Okay, so the table might not make a lot of sense to those who are new to Ludum Dare. Well, the #no. next to the category is a rank. Which means ‘Link’ made it into the top 100 list! tied at 45th place out of a total of 1045 other game entries. The highest rank obtained was for the fun category which came at 9th place, which meant the game was entertaining (wooo). And the lowest rank was theme (aww) ahaha, I guess my metaphorical interpretation of connected worlds was too vague and nonexistent. Something that I’ll work on for the next Ludum Dare 31+! : )

I’d like to thank everyone who voted and commented! For all the helpful feedbacks and kind comments. I look forward to the next Ludum Dare to achieve better results :D.

For those who have not yet tried the game here is a link to ‘Link’

http://www.kongregate.com/games/hundredhundred/link

So what’s next Nemo?

What to do, what to do with the game now. Well, I do want to work on adding a few new features such as a tutorial, an online high score board and enhance graphics (some feedback said the cop lights were giving them seizure ahaha). Apart from those small features, I am not sure if my friend and I will be making ‘Link’ into a full game (a proper story, progressive level, more gameplay). I have no definite plans at the moment. As for now the game itself is what it is ‘a short Ludum Dare Game’ and I sorta like it the way it is. I’ll keep you guys updated if there happens to be any new plans to game.

Overall, taking part in this competition was a very positive experience, it helped me grow into a better game developer,  a better version of myself.

Nemo out.

Ludum Dare Post Mortem

Hey guys Nemo here, so here is my post mortem after finishing Ludum Dare 30. LD30 was my first game jam, aswell as my friend who attended with me. It was truly an insightful experience for both of us. For this post mortem I’ll be focusing on what went well, what didn’t go as well and what I can do better next time I attend Ludum Dare or any other game Jams.  Okay so lets begin the break down!

What Went Right?

1. Project Management/Communication

Asana and Skype saved us! Project Management and Communication determines whether the project is going to fail or not. As many of you may not know I live in Australia whereas my friend lives all the way in Singapore. We had a 2 hour time difference, which would have caused a lot of issues. However we able to over come this by having video skype calls whenever we were working on the game. We were also able to split the tasks required for this game and assign it to each other if we weren’t able to complete it.

2. Core Mechanics

Fortunately we were able to come up with a fun core mechanic within the first 2 hours of the game jam. Before the game jam had started we had initially planned to take up around 4-5 hours on just design of the game.

3. First prototype within first 6 hours

After all the design phase of the game we put a milestone to finish a playable prototype within the first 6 hours. We were able to achieve that milestone. Once we got a prototype working we could then properly see how the mechanics of the game could be enhanced or additional features to create more depth into the game.

4. Sound in a game

I always found implementing sound to be a hard one. We were able to find some nice musics by Kevin Mcleod and generated some interesting sounds from bfxr.net.  Sound was something that I didn’t really found that important until now. After including sound into the game it changed the whole atmosphere and feel of the game.

What Went Wrong?

1. Deciding on scope of the game

Whilst working on the game we kept thinking of new features to add into the game. We had atleast 10 different types of different blocks that we wanted to implement and also a rotating feature (which we managed to implement however didn’t really serve a purpose in the gameplay and was taken out) and a level system. We took away those unnecessary features in the end and only built on the core mechanics of the game.

2. Merge conflict

We encountered some issues with Bitbucket and Source Tree. We had some encounters with version control, some files had conflicted with others and we had to learn to resolve those issues. One time we lost a chunk of code that we spent for and 1hour which was disappointing. However I was able to learn on how to handle these sort of situations if it were to occur in the future.

3. Sleep

Sleep. Oh my god. For all those future ludum dare competitors make sure you get a good rest in between each day (except the last day go hard out :D). I realised how important sleep is during this ludum dare. On the second day of ludum dare I was up late trying to figure out a simple math problem which took more time than it should have. If I had taken the time to sleep earlier and work on the problem during the morning with a active brain I would of been able to save time.

What I can do better next time?

1. Set proper milestones

So yeah, I learnt to make proper milestones during any Ludum dare and game jams. Make sure you know how much time you have and be able to estimate how long it is going to take the following feature you require. If you don’t know how long it is going to estimate then break down the task into smaller tasks that you can estimate the time it will take. You should also make sure that feature is going to be worth to the total project.

It’s always good to plan ahead but don’t end up spending all of time planning, sometimes you have to just get into prototyping the game.

2. More sleep

Sleep. 72 hours seems like a short time but really it isn’t. Get atleast 6-7 hours of sleep each day and wake up early so you have an active day to be able solve problems that may arise throughout the day.

I also learnt you shouldn’t just fix your sleeping pattern for ludum dares and game jams but life in general. It really helps you to become a better version of yourself, because remember your body is your mind. Keeping a good healthy body will keep your mind focused. So yeah. Go get some sleep and I’ll talk to you guys next time! That’s all for today. Nemo signing off~!

Ludum Dare 30 – Finished!

Hey chaps, so Ludum dare has concluded! Ahhh 72 hours seemed like such a long time but it went by so quickly. But then again if it was longer i would have tired myself out. Oh and sorry for not posting on day 2 it was a rather busy day getting most of the features and the artwork implemented into the game in. Day 3 went pretty quickly as I was half occupied by Uni work, but I managed to lose some sleep time and work on polishing the game. I had an awesome blast doing this ludum dare 30 with my friends Zhiming Chen and Steven Kim, I can’t wait for the next ludum dare during december! I highly recommend to all the people out there interested in game development to give it ago. Well time to relax and check out everyone elses game wooot, excited to see all the submissions.

Oh and theres a link below about our game!

Link!

Presented by HundredHundred Games

LudumDare Site

WebBrowser

Download Here!

Send us your highscore to

HundredHundredGames@gmail.com

Link is a 2D 4×4 fast-paced block building game.

Controls:
Arrow keys to move

Guide:
1) Normal (First block you encounter): Gives you 1 point
2) Shooter (Red bandana): Shoots when adjacent spaces are empty.
3) Immune (Grey covered): Immune to cops.
4) Tall (Tall, slim): Irregular shape but gives you 4 points.
5) Fat (Fat, wide): Irregular shape but gives you 4 points.

Plot:
Sometime in the distant future, the world has become so overpopulated that all forms of interaction has been reduced to a virtual form. You play as a rebel who’s goal is to establish a more natural connection between people.

Watch out though, the cops are not going to let you congregate in such an overpopulated day and age.