Wednesday, May 30, 2012

Summer Research Project

So it's been a while since I've updated this.  Currently I am working at the University of Calgary doing research for the Computer Science department in the Computer Graphics area under the supervision of 
PRZEMYSLAW PRUSINKIEWICZ


My area of research is in the correct and aesthetically pleasing modelling and texturing of tree buttresses.  This has also branched a bit to include the synthesizing of bark textures, both from an example texture and from procedurally generated bark textures.


So far things are going good, I am currently focused on the synthesis of bark since I have developed a few methods to create the buttresses and would now like to texture them.

Tuesday, January 3, 2012

Sol Streak 3D

Alright!  Arkanoid 3D has been renamed Sol Streak 3D.  The game is nearing completion! For which I am grateful. Programming the finishing touches and fine tuning the game seem to take just as much time as programming the guts of the program.  I am happy with the progress I have made and hopefully will be able to consider this game finished.

Since the last update I have decided to use the FMOD audio library for the background music and sound effects.  The music and effect where provided to me by my brother, aka Yukaflux.  I have created from scratch a simple particle engine, and fine tuned the collision detection and response.  I have also spent some time with blender to make some models that are a little more interesting that just cubes.  I added buttons to the main menu, that took some time to create using GIMP.

Like it's been said countless times, a picture is worth 1000 words. So here is a picture:


And if a picture is worth so many words, a video must be worth hundreds of thousands...


And to top it all off, here is a link to the page dedicated to the game, which contains a link to the download.

Sol Streak 3D

If you find any bugs, or have any suggestions, feel free to email them to me.

Sunday, December 4, 2011

Arkanoid 3D

My current personal side project is to create a simple 3D version of Arkanoid.  I will be using Direct3D 10 and C++.  Other than DirectX and a yet-to-be-determined audio library, I won't be using any third party libraries.  This project serves a few purposes, 1: to develop a game from start to finish, that is complete. (Eg, start-up screen, menu screen, loading screens, ....) and 2: To be used as a demo to show to different recruiters, to portray my ability level.

So far all of my personal projects have had a specific goal in mind, not one of them had the goal of being a complete game.  Most of the time the goal was to learn some new technology.  For instance I created a Pong game, with the goal to learn Allegro 5.  Although the game was fairly complete it wasn't very polished.  Later on I made another pong game: Paddledroid, with the intent of learning how to program for the Android OS.  Paddledroid again, was fairly complete, but it still lacked a bit of fine tuning, and features.   On another occasion I put my efforts towards developing a tower defence game that I titled RoadBlock.  The purpose of that was to learn a bit about graph traversal, and different algorithms like the A* path-search algorithm.  The list goes on...

So this time around my goal is to develop a complete game, that has all the features and refinement (as much as is feasible) of a game that is fit for distribution.   Bear in mind that when I say this I refer more to the gameplay quality, for when it comes to graphic design, and anything art related I have a relatively big handicap.

I am currently very happy with current status of the project. To handle the different states of the game, such as intro screen, menu, and gameplay states, I created a state manager.  The game currently has an introduction sequence, a main title/menu screen, and a game running state.  In the next day or two I will add a state for when the game ends.  The Main menu only consists of 2 options, start and exit, all that is left is to find an adequate font and a background image.  The game state is working and functional.  The only things that need tweaking are: the 3D models for the ball, paddle, and bricks, and the collision detection for ball-box collisions.  After that the game will be fully functioning and it will be time to add in some eye candy.  Things like fancier animations when bricks get hit, sound effects and background music, and other aesthetics.

So far I am happy with the progress.  Visit Arkanoid 3D - Adam Kromm for more info.

Friday, December 2, 2011

Milestone 1 nearing completion

The project that I am working on has been split up into six milestones.  Milestone one is nearing completion, major coding and small scale testing has been done.  Next up is to try it out on the intended servers in full scale.  This also comes after switching from using Java with SVNKit to using C# with SharpSVN.

The purpose for milestone one is: Determine code deltas for each branch.  The purpose of this milestone is to determine the code differences between different branches.  For example how much code has changed between team branch 1 and the integration branch and vice versa.  By discovering the differences, we can pre-emptively discover potential merge conflicts.

The purpose of the following milestones is to then take this data and discover where in the code merge conflicts are most likely to arise.  We can then notify developers a lot earlier in development where problems could arise, and thus speed up production time.

More to come...

Thursday, October 20, 2011

NDA delays.

After almost a month (possibly more), the NDA's between the University of Calgary - or more specifically, Jonathan Sillito, Shaun Phillips and I - and the Company we are going to be working with, are signed.  The company has requested via the NDA to remain anonymous.  So from here on they will be referred to as "The Company".  Hopefully now that the NDA's are signed and in place it won't be long until we have access to their source code repositories, and can start data mining.

On another note, school work is adding up fast.  In this next week I have 2 tests, a 3-5 page essay, and a glossary due.  So I'm a little short for time to say the least.  I will also be interviewing with a Chilean company on wednesday to see if I can work part time remotely doing software development.

At this point all personal projects have been put on hold to make time for school, and other obligations.

Adam Kromm.

Wednesday, August 24, 2011

University Work - Updated

Here is a short update with my current work at the University of Calgary Software Engineering Department:

My just finished sub-project that will contribute to the main tool mentioned in an earlier post, is to make a tool that will allow a user to enter in a revision number, to calculate analytical data.  The tool first uses the revision number to find out what changed during the commit that corresponds to the revision number.  It then scans the SVN repository and figures out what branches have received the changes from that commit, and when.  It also determines which files from the commit were merged and which weren't, this is to handle cases where there is a partial merge, and to calculate the percentage of the commit that was merged.

Once this data has been determined, it is printed out to the screen in an easy to interpret, human readable form.  At a later date this tool will be expanded upon to output data in a way that will allow it be utilized int a GUI.  The GUI will be used to visualize the timeline for changes in a commit being integrated into other branches in the repository, among many other things.

Adam Kromm

Saturday, August 6, 2011

University Work... Conflict resolution

On Wednesday I started my new temporary full time job as a research assistant at the University of Calgary. I will be working with Professor Jonathan Sillito and his masters student Shaun Phillips, to create a tool that will allow the visualization and analysis of a SVN repository tree. Better said I will be creating a tool that will allow a company with multiple teams and multiple development stages visualize them, most likely with a graph, and view potential merge conflicts before the actual merging needs to happen. This will allow companies and developers to locate and recognize potential conflicts and problems before they happen and will therefore allow developers be more aware of other developers and thus allow them to collaborate more intelligently and efficiently.

Current progress is pretty good. I'm going to split the tool into two parts: the repository analyser and the visualiser. This will allow the analyser to run in the background generating the files for the visualizer, then the teams can load up the visualiser and load the most recent data generated and display it. This will allow the visualization to be smooth so that there is no time wasted waiting for the repository to be analysed while in a meeting.

The tools that I have been using so far are Java and SVNKit.

Because I have been working at the University it has limited the time that I have to work on personal projects like DirectX. I still have managed to find some time to continue working on learning DirectX 10 and HLSL 4.0, it's just not as fast as I had hoped.