Post Job Free

Resume

Sign in

Project Software Developer

Location:
Merritt Island, FL
Posted:
December 21, 2015

Contact this candidate

Resume:

James Ni – Video Game Programmer

Cell: 321-***-**** <> Email: acsvfk@r.postjobfree.com

QUALIFICATIONS:

Two and a half years C++ programming experience. One year Java, JavaScript, HTML, and CSS programming experience

Proficient in creating system algorithms to solve any type of problem. Examples: AI, Puzzle Features, Rendering

Complete understanding of object oriented and structured programming. Quick at learning any programming language.

Easily assimilated into large projects with little to no prior knowledge of the project’s source code

Able to help, teach, learn, and complete my own work in an efficient and timely manner

Team player, prompt, problem Solver, sense of urgency, motivated

Strong in mathematics, statistics, calculus, and physics. Extensive knowledge of mechanical systems, motion laws, and states of equilibrium. Quick to program real life physics, which include: velocity, acceleration, impact, collisions, vibrations, oscillations, and gravitational forces. Full understanding of probabilities and random number generation.

Life time gamer. Years of experience due to hands-on testing. Unlimited ideas for improvement of existing franchises. Aspirations of new game creation.

Have experience programming games for a Gameboy Advanced.

EDUCATION:

Full Sail University Orlando, FL Graduated: November 2012

GPA: 3.1

Major: Bachelor Degree in Game Development

Merritt Island High Merritt Island, FL Graduated: May 2010

GPA: 4.1

Four Year Basketball Career (One Year Freshman, Two Years JV, One Year Varsity)

TECHNICAL EXPERINCE:

Programming Languages: C++ <> C# <> C <> Java <> JavaScript <> HTML <> CSS <> JQuery

API's: DirectX <> OpenGL <> Unity <> Wwise <> XML <> GWT <> AngularJS <> JasperReports <> Tomcat <> Glassfish <> ANT <> SQL <> Struts(minor)

Academics: Calculus <> Physics <> Mathematics

IDE’s: VisualStudio <> Eclipse <> iReports

Workflow Applications: Jira

WORK/PROJECT EXPERIENCE:

Project Vulcan : Point and Click Puzzler 2D

Tile editor for map creation, item placement, collision placement, and event placement

oItems, collisions, and events would save position and name data when placed onto any map and would be loaded in via that data in the actual game using XML files originally for testing but then changed to binary files for the final product.

Lead in story progression

oOut of our four man group, I had the most say in how the story progressed throughout the game.

Created a box type puzzle that required the player to move boxes to solve the puzzle:

oThe player was required to move boxes onto buttons, which would activate an event

ousing height data saved from the tile editor, boxes could be placed on top of each other or in pits to climb over

Goupe: 2.5-D Plat-former -Survival Game

Gameplay Programmer Screenshots and Download => http://www.indiedb.com/games/goupe

Gib creation and explosion of player death

oCreated as small sphere when Goupe dies and uses an algorithm to explode them into a semi-circle with the same angle in-between each one as well as dotting Goupe's opposite direction with the spikes direction to determine the way the semi-circle explosion should face.

oGibs themselves will explode into a smaller tier if they strike a spike as well

Spawn animation when player revives:

oSpawn pipe opens, large gibs are created and shot out of the spawn pipe to simulate goop and an animation of Goupe reviving as well as a 2D splashing animation are played at the same time, and the pipe closes.

Creation of fake shadows for dynamic objects (no lighting code):

oShadows are 2D images placed on the ground beneath dynamic objects to give the illusion of lighting with the use of ground clamping.

oShadows will grow and shrink depending on how high the object is

oWhen shadows go over ledges, an algorithm is used to determined how far off the edge they are and two new shadow images are created then projected as the correct size and on the correct surface

By using a recursive function this effect goes on indefinitely until the end of the shadow doesn't overlay a ledge.

All aspects of player movement including: jumping, moving, sliding, sticking, etc…

oUses a series of booleans to determine what state Goupe is in.

oConstant acceleration downwards to simulate gravity.

oDepending on what action is taken, certain specific values of velocity are given to Goupe in certain directions

Exception: While Goupe is in the air and the player wants to switch directions, deceleration is applied.

Wrote entire collision system:

oA list of dynamic objects and a list of static objects contained all visual objects in the level behind you, the level you are in and the level in front of you. Each dynamic object is looped through both lists checked for collision against all dynamic and static objects within its own level.

Creation of animated cards: flipping through multiple 2D images that are very similar

oGives the illusion that still images are animating. Examples in Goupe: Fire, Splashes, Smoke, Fan wind

Alt-Tab and full screen functionality during game play:

oTook all active index, vertex, and texture buffers along with all other DirectX objects(bitmap font, etc..) and saved them to an empty buffer. The D3D is reset and the buffers are refilled.

PIP Printing : Employer: April Balmer / 321-***-**** From-> May 2007 to October 2010

From->November 2012 to January 2015

Bindery Expert

Cut business cards, post cards, book guts, brochures, book edges, flyers

Manufactured soft and hard bound books, Spiral bound books, and comb bound books

Padding, Numbering, and Perforating NCR type paper

Operate folding, tabbing, stuffing and scoring machines

Laminating or mounting of normal, small, and large format prints

Shrink-wrapping, boxing, and delivering of finished products

Newscycle Solutions - AdManagerPro: Employer: Per-Ola Rydgren From-> January 2015 to Now

Software Developer

Participate in Agile/Scrum ceremonies for team AMP (AdManagerPro, the name of the product I develop for)

Grab user stories from the current sprint, complete them, and submit them in a timely manner

oMake sure my code is safe, and optimized to a certain point

oIf I can, apply my knowledge to shorten the time it will take for future stories

Was able to with one ticket save 12-15 days of development time with the completion of one ticket, templating the solution to that one into many.

Teach myself any new technologies or languages and apply them to AMP

oDuring my tenure here I had to learn: Java, JavaScript, HTML, CSS, AngularJS, GWT, Struts, Tomcat, Glassfish, JasperReports, iReports, and SQL. All of which was, for the most part, self-taught without formal training, along with little points in direction here and there.

Help and teach new hires after me how to navigate through our source code and, if I can, how to get their ticket done

oWas not actually given this responsibility, but one that I took on my own. After only 3 months with the product, I began teaching a new hire how to use technologies I myself just learned.

Review code that is submitted by other developers on the same team

Help and work with QA on tickets that are not passed or tickets they are having trouble testing

Participate in and give my input in design meetings for product change or future development

Report bugs that I find while coding for or testing AMP

Help customs team create custom reports for AMP

REFERENCES:

Amanda Jentz / Manager PIP Printing / 321-***-**** (work)

Mitchell Howell / Programmer, Teammate for Project Vulcan / 904-***-**** (cell)

Dennis Norton / Programmer, Teammate for Goupe / 321-***-**** (cell)

Ryan Newton / Artist, Teammate for Goupe / 540-***-**** (cell)

Jabari Hosey / QA, Teammate for AMP / 321-***-**** (cell)

Brian McDerment / Advanced Support, Teammate for AMP / 734-***-**** ext. 2183 (work)

John West / Developer, Teammate for AMP / 859-***-**** (cell)



Contact this candidate