Never Be Game Over

What’s it been, a year since I last posted here? I haven’t posted anything in a while because a lot of shit has happened. Currently, no one reads this except for myself, no one is working with me on any of my projects, and anyone I went to school with for Game Programming all gave up on making games. So where does this leave us?

One of the most interesting things about our Military is the way they train their Employees/Solders. One of the roles you can apply for (after being in the Navy for a few years) is a Navy Seal. They do some amazing work but what I found most interesting was the training they go through. The first step is to go through Basic Underwater Demolition School where for the first 3 weeks, they are forced to stay up for a whole week straight, soak in the ocean for hours, surf torture, grueling exercises, and freezing cold ocean. But why? Why do they do this to their students?
To teach the most important lesson of all, to never ever give up. Sometimes you just need to crawl through the forest for 15 miles before you can get home and its the only way. It’s this philosophy I try to remind myself of and apply it to all my work.

With that in mind, let me tell you about some of the stuff I’ve been working on:

I made a Binary Search Tree in C++, this is not only a Binary Search Tree but one that has balancing implemented. If a Binary Search Tree is not balanced, then it can be just as inefficient as a linked list or an array. This code can be translated into any other language since its in C++ and can work with any data type. I just finished this so I’ll be uploading it shortly (links to come).

The second project I’m working on is a Virtual Reality (Oculus Rift) project. It takes any panoramic/photosphere image and maps it to the inside of a sphere. This allows the user to take any picture and “look around” it like it is around you. This works really well but I’m still working on it because this is only the first phase, the second phase is to implement google dream into it ;).

The third and biggest project I’m working on is The Ether. I mentioned earlier that someone named Owen was helping with designing the game and we did. We have the initial design and it’s documented but unfortunately, he no longer wants to work on the project. I’m currently implementing different parts of the game starting with the GUI. I’m creating a GUI system written in Slate UI which gives much more precision but takes more time. This project will take a while but its being worked on I promise, here is a demo of the current GUI. Next will be implementing equipping and weapons most likely. https://www.youtube.com/watch?v=q7Yoe_Olc6E

Working on Unreal Engine 4

Owen and I started working on our game “The Ether” and Owen finished almost all of the design for the game thus far. I’m starting the coding process and one of the first things I’m doing is making a UI. Currently I’m working on making a drag and drop window and once I get that done I will write up a tutorial on making an inventory from scratch using Slate.

I worked on making a tutorial for getting started with slate called “Hello Slate”, It is a simple “Hello World” text display using slate. The example also starts to dive into custom buttons (since that tutorial was next on the page). Here is a link to the tutorial and the full project can be downloaded at the bottom of the tutorial (or here).

Modern OpenGL Programming

When I started learning about OpenGL, It was still using immediate mode and did not use shaders. Over time shaders were starting to be introduced but were still extensions and not built in so there was a lot of mixing of the two with immediate mode and all that shit, not to mention you still needed to use old Win32 code to set up the window. More recently OpenGL has built in their shader stuff and also the GLFW library now exists for making the window and handling keyboard and resizing callbacks from the window as well.

So for the past week, I’ve been working on an Modern OpenGL project that uses GLFW, GLEW and modern shader code. Here is a screen shot of the project, it contains a Floor and a rotating cube on two axis.

Cube rotating above a floor

In the code, The Cube and the floor could both inherit from a parent class since they share some things but I decided not to do this for clarity reasons. GLFW currently has some issues when clicking the X to close, so to close the project properly hit ESC.

Here is a link to the project and if there are any questions feel free to email me (eddieohagan@optonline.net)!

C

I made a few implementations of useful/interesting things in C to illustrate different algorithms such as hashing, use of data structures, multi-threading, etc. Here are some of the examples:

Binary Search of an Array.
Breadth First and Depth First search on a tree.
Counting the number of occurrences in an array. (Example of hashing).
Finding the longest “run” of consecutive numbers in an array.
Merge Sort.
Multi-threaded programing in C.
Reversing a linked list.

AwayReply

I just released a program for Android phones on the Google Play store. It’s called AwayReply, It allows you to set a custom message and when enabled, it automatically will send that message to anyone that texts you. The app is free and its still in early beta so if you have any problems feel free to email me (eddieohagan@optonline.net).


Here is the app

Who is that Actor Program

So It was a Friday night and I was like “What do people do for fun on Friday nights?” so I decided to make a program of-course. I wanted to be able to ask the question “Who was that guy/gal that was in (movie A) and (movie B)?” so for example you want to know all the people that were in both The Matrix and Burn Notice, it would return the list of all the actors that were in both movies/shows. Here is a link to the application.

Essentially what the program does is it sends HTTP get requests to IMDb pages. Then I get the IMDb pages for both movies and parse out all the actors/actresses in both movies. Then I compare all those actors/actresses and display only the ones in both. The source code is available on the Source Code page under Who is that Actor.

Ray Tracer

So I found a tutorial on scratchapixel.com about how to make a simple ray tracer. Using the tutorial I cleaned up a lot of the code and made it so the user can enter custom parameters for screen dimensions and field of view. You can set the resolution (the screen dimensions) very high but at like 11,000 x 11,000 it will take up to 5 hours to generate the image (but it will look amazing). On top of that, you can also modify the items.txt file to add/remove spheres, specify their colors and other parameters.

The Ray Tracer can be found in the applications page and the source code to the ray tracer is also posted in the source code page. If you want to see what came out of the ray tracer after I specified 11000×11000 with fov 60 and a high ray depth, click here.

Video Tutorials

So I decided to make more video tutorials for computer science stuff. I posted the YouTube embeds on the videos page or look up Katianie9 on YouTube.

I just discovered a small glitch with the prefix name and the tile height. The changes are up and feel free to download the latest version.

New Applications

Ive been keeping myself busy learning linux and how to write code for it / write code for the kernal. That was tough but now I have some time to add some of my new projects to the site. I created a program that can convert roman numerals to numbers and numbers to roman numerals which can be downloaded here. Another program I created is an image splitter that will take an image and break it up into user specified tiles, this can be downloaded here.

I also uploaded the source code for all the new applications and re-organized some of the other code on here.

Stony Brook Zombie Apocalypse

I’m releasing Zombie Apocalypse v1.0 tonight. There are still some glitches with saving but hopefully I can fix them in the next update. Have fun! Any questions feel free to email me.

I’ve been working on polishing alot of my work lately and I was able to fix movement and jumping problems with Zero in Snow Samurai. I’m about to release Katianie Stratego soon that uses a left for dead theme for the pieces and the game board. Katianie Stratego will also be able to load and save replays along with having both an easy and difficult AI.

I will be uploading one of my biggest projects yet “Stony Brook Zombie Apocalypse”. Me and two of my friends worked on this game together during the spring semester and used a game engine provided to us by our instructor. I will leave the game open source. Ive been polishing this game for the past month or so by adding new graphics and fixing some glitches. I’ll try to release the game soon.

Snow Samurai v1.0 is out!

I just got done putting together the .exe for the Snow Samurai game. Its still a work in progress but Here it is anyway!

3D Cubez!

So I was reading up on XNA 3D Programming and I created a class that makes making 3D cubes much easier (I’ll post it in source code in a bit). I’ll also put up the main class along with it so you can see how its used (Note: if you look at the source code to Riemer’s XNA book you’ll see i got most of it from there).

The Tank game isn’t going to happen :(. I was able to make it so the tanks would lie flush on the curve along with correct(or as close as i could possibly make it) positioning of the cannon. The problem is with the explosions, there’s a lot of back and fourth with the set and get data methods which makes the game very slow and unfortunately theirs no real work around this.

Summer

I have some things in the works atm. I’m reading up on 3D game programing and working on a 2D tank game similar to gunbound. So hopefully I can get the tank game up and running soon but it still needs a lot of work. As for the 3D programing, I hope to get a small 3D game up soon as well.

WordPress got messed up >_<

I have to redo the whole site because the wordpress data got messed up….O well it shouldn’t take long….be back soon