About Marek A. Krzeminski, MASc



Marek A. Krzeminski, MASc download resume LinkedIn Profile email Marek Marek A. Krzeminski, MASc

Marek has over 15 years of software development experience with medical, military, and consumer applications specializing in human-to-machine interfaces. He possesses diverse technical knowledge, strong problem solving skills and an excellent track record for completing tasks quickly.

Marek was born in Poland and raised in Canada. He went to school at the University of Waterloo where he earned two Engineering degrees: a Bachelor of Applied Science in Electrical Engineering and a Master of Applied Science in Electrical and Computer Engineering, specialized in Robotics and Control.

Marek enjoys making instructional video tutorials for game developers because it allows him to combine his three strong passions together: computer programming, the visual arts, and teaching. On this website, you will find over 300 training videos to download.

For a sampling of projects that Marek has worked on, visit the other sections by using the left arrow at the top of the screen or by selecting one of the other categories found below the navigation bar.

Technical Skills

  • Visual C++ Object Oriented Programming
  • Win32, MFC Graphical User Interface(GUI) programming
  • OpenGL 3D graphics coding
  • Multi-threaded software design
  • Real-Time control
  • TCP/IP & UDP network programming
  • PHP, AJAX, JavaScript & HTML coding
  • mySQL, SQL Server and Microsoft Access database development
  • Engineering Analysis
  • Matlab/Simulink/Real-Time Workshop
  • LabView development
  • Physics Engine design
  • Haptic application development
  • 2D Illustration using Adobe Illustrator and Photoshop
  • 3D Modeling using Autodesk Maya, AutoCAD, Caligari trueSpace

Released Games

September 2013 Card War (BlackBerry)
July 2013 Jewel Thief (BlackBerry)
July 2012, April 2013 Zing (PC, BlackBerry)
March 2009 Ghost Toast (PC)

Publications, Scholarships and Awards

2015 Co-Inventor of Patent #9,077,769: Communications system providing enhanced trusted service manager (TSM) verification features and related methods
2009 Co-Inventor of Patent #7,477,250: Method and System for Hapto-Visual Scene Development and Deployment
2006 Application of Haptic, Visual and Audio Integration in Astronomy Education, IEEE International Workshop on Haptic Audio Visual Environments and their Applications ( HAVE2006)
2005 IRAP Youth Employment Strategy Award
2004 Absorption Spectroscopy Based Oxygen Sensor for Diving Applications, Final Report for Defence Research Development Canada - Toronto, Experimental Diving Unit
2003 da Vinci X-Prize Space Project - Mission Analysis, Proceedings of 3rd International Symposium on Atmospheric Re-entry Vehicles and Systems
2002 Modeling Friction through the use of a Genetic Algorithm, Master's Thesis
2002 Intelligent Friction Compensation in a Harmonic Drive, IEEE Newfoundland Electrical and Computer Engineering Conference (NECEC)
2002 Co-Inventor of Patent for Intelligent Friction Compensation Patent #60/423,986
2001 - 2002 NSERC Industrial Postgraduate Scholarship
2000 - 2001 NSERC Undergraduate Student Research Award


Listed below are some of the software projects that Marek designed and implemented for various clients.

For more software projects, visit the other sections by using the left arrow at the top of the screen or by selecting one of the other categories found below the navigation bar.

Christie Digital Systems

Auto calibration

Marek working for the AutoCal™ team while at Christie, he developed a software algorithm that would automatically calibrate multiple Christie digital projectors when used to project images onto curved surfaces. The algorithm was novel because it used multiple camera sources for to generate reference images rather than the standard setup that uses only one camera and a fixed field of view.

Marek also developed the Advanced Color™ calibration system which uses a precision light meter to capture multiple measurements of each projector from a multi projector system. The algorithm calculates the optimal color mapping information for each projector so that the projected colors are equal and independent of image warping or projector lamp age.

Defence Research and Development Canada (DRDC)

Using the LabView visual development environment, Marek designed a system to capture real-time binocular eye tracking data from an El-Mar head mounted eye tracking system. The captured data was then fed into a software program that Marek wrote within Matlab to do extensive analysis on the captured data.

Using the Matlab program one can analyze both left and right eyes independently or as a comparison for eye tracking accuracy, eye motion velocity vs stimulus velocity, gain vs frequency, phase vs frequency, measure the saccades, eye vergence angle, and eye motion vs time.

The da Vinci Project

Marek developed a software application used to analyze the path that the daVinci rocket would follow under different flight test scenarios such as changes in weather, launch angle, internal fuel slosh, mechanical asymmetry etc.

Marek also developed a software program used to simulate the rocket's flight in real time for training usage by the pilot to help him learn to control and fly the rocket.

University of Waterloo

Marek's Master thesis topic at the University of Waterloo was modeling friction through the use of a genetic algorithm(GA). Marek developed a GA that can identify and parameterize friction in a motor. This video shows the final results achieved after designing a friction compensator controller using the GA identified friction model for a harmonic drive.

You can read the technical details of the thesis by downloading it here.



Haptic technology allows users to sense and control computer applications through the sense of touch. By using special input/output devices (3D robotic mouse), users can receive feedback from computer applications in the form of felt sensations in the hand or other parts of the body. In combination with a rich visual environment, haptic technology can be used to train people for tasks requiring hand-eye coordination, such as assembling parts or performing dental surgery. It can also be used in computer games in which you feel as well as see your interactions on the screen. For example, you might play a fishing game where a haptic device acts as your fishing pole. Fish nibbling on your lure can be felt through the haptic device and pulling a fish out of the water requires you to apply the right amount of force on the fishing pole.

Marek has created a haptic collision detection and response engine which can be used to create haptic enabled software application as shown below. Marek has worked with many haptic devices including the Novint Falcon, SensAble's Omni & Desktop devices, Force Dimension's Omega 3, and MPB's Freedom 6S.

To see more projects, visit the other sections by using the left or right arrows at the top of the screen or by selecting one of the other categories found below the navigation bar.

Novint Technologies Inc.

This video gives a brief introduction to haptic technology and demonstrates some of the force effects that can be created using the Novint Falcon haptic device.

When you use a haptic device you can actually feel if objects are heavy or light. Through the sense of touch you can feel the contours of an object, feel its surface texture (smooth/rough) and differentiate between an object that is stiff/hard and an object made out of a soft/spongy material.

Following the haptic introduction at the beginning of the video, Marek demonstrates a car engine haptic assembly program that he wrote.

The interactive forces created by friction, inertia, and the mass of objects are all important properties that need to be modeled and simulated accurately when creating a haptic application.

In this demonstration video, a ball is controlled using the Novint Falcon haptic device. When the ball makes contact with the box you can feel the interaction with your hand through the sense of touch. Notice that you can interact with the box through friction alone as is the case when the ball slides around the top of the box causing the box to stop spinning.

This demonstration video shows the virtual injection haptic simulation that Marek created. Novint supplied the 2D images seen on the screen and instructed how the simulation should haptically feel when a user attempts to inject fluid into the knee or shoulder.

Marek created the 3D model of the syringe and the neccessary haptic models to be used in the simulation to create the force feedback. The final program delivers the sensation of puncturing a needle through human skin, and simulates the tissue resistance forces one would feel when moving a needle through muscle and cartilage. If the needle tip hits bones then the motion is restricted by the haptic device.

The graphical user interface was developed using OpenGL and the haptic engine is written in C++.

Handshake VR Inc.

In this haptic dental simulator, the user controls a dental pick and uses it to poke around inside a patient's mouth. Since this is a haptic application, you can feel the surface texture of each tooth with the pick and even the fleshy parts of the mouth. The virtual patient will periodically speaks which causes the jaw to move up and down making the task of cleaning their teeth more difficult.

The graphics and haptics were programmed by Marek using OpenGL and C++, and the 3D models were created using Poser and Maya.

In this haptic fishing game, the player holds a haptic device which acts like a fishing rod. The fishing rod's motion is tracked in the full 6 degrees of freedom (position x,y,z and orientation alpha,beta,gamma). When a fish takes a bite at the lure, the bobber sitting on the water goes under briefly and at the same time, the player feels a tug downward from the haptic device. The player must quickly react to the tug by pulling forcefully upward on the fishing pole. If this happens fast enough, they will catch a fish!

This game was developed using the Handshake proSENSE development environment with a SensAable Omni haptic device.

This haptic medical simulation was used to train doctors to perform the lumbar puncture (spinal tap) procedure. A needle is controlled in 6 degrees of freedom (position x,y,z and orientation alpha,beta,gamma) using a SensAble Omni haptic device. A medical 3D scan of a patient's skeleton was used to generate the graphical and haptic 3D model used in this program.

When the needle punctures the skin, you begin to feel resistive forces as the needle interacts with the tissue and muscle in the patient's body. The tissues and muscle are shown visually on the screen but you can still feel them haptically. If the needle tip hits bone or other hard material, then its motion is constrained and it can't be pushed in any further.

In this game, the player controls a drum stick using a haptic device to hit the virtual xylophone. Depending on which key is struck, a different musical note (A to G) is played back. All collisions can be felt through the haptic device. You can select between four different musical instruments using the icons at the bottom of the screen.

A haptic device is used to control a cone in 3D space. When the point of the cone touches the surface of the penny, you can feel the surface roughness and contours of the penny through the haptic device.



Sometimes when you are building a new system you can't find off the shelf hardware to do exactly what you need, or the hardware system that you need is just too expensive to purchase. In these cases you can always try to build it yourself!

Listed below are some of the hardware projects that Marek designed and built himself. To see more projects, visit the other sections by using the left or right arrows at the top of the screen or by selecting one of the other categories found below the navigation bar.

Defence Research and Development Canada (DRDC)

While working for DRDC, Marek created a full sized helicopter flight simulator system as shown in this demonstration video. A human safe, stable LabView real-time controller was designed to control the 6 degree of freedom motion platform using flight controls. Foot pedals are used to yaw the MOOG 6DOF platform. The collective raises and lowers the platform and the control stick allows the pilot to pitch and roll. A monitor mounted in front of the pilot acts as the dashboard and window out to the virtual world.

Visit the network section to see details how this system was connected together.

While working for the diving unit at DRDC, Marek created an absorption spectroscopy based sensor to measure oxygen content in a rebreather system. A miniature laser was used to send a varying frequency signal though a sample of gas. By analyzing the reflected laser signal, you can measure the amount of oxygen content present in the gas sample.

The most difficult part about this project was creating a sensor with enough mechanical stability so that it would not implode when exposed to the high pressures found under water.

Xerox Research Centre of Canada

This was one of Marek's very first hardware projects. Using a laptop computer's parallel port, a communication interface was created between the PC and two stepper motors used to adjust the position of an XY table. A DOS program was written to automatically move the XY table to create different patterns like a rectangle, circle, star etc. All the while a pneumatically activated syringe dispensed glue onto microscope slides mounted on the table.



With the ever increasing demand to connect people together, more software applications now require a 'network' component to allow them to communicate with other applications across a network. The communication between a client and a server may either be connection-oriented (such as an established TCP virtual circuit or session), or connectionless (based on UDP datagrams).

Listed below are just a few of the network focused projects that Marek has developed. To see more projects, visit the other sections by using the left or right arrows at the top of the screen or by selecting one of the other categories found below the navigation bar.

Impressive Software Solutions (ISS)

Marek developed one of ISS's flagship products called the Lifecycle Procedure Management System. This application works in conjunction with a local Microsoft Access database and a remote SQL server database to manage procedure data created by users in a large corporation or a vocational institute. Multiple users can be creating or editing procedure data simultaneously and the software keeps track of everything on the local user's PC as well as across the network to ensure that all the data is secure and synchronized.

For details and videos showing how the software works, visit the ISS website.

Handshake VR Inc.

Designed in the Matlab & Simulink development environment, Marek help to create a patented method and system for hapto-visual scene development and deployment.

One master computer is used to design a 3D haptic scene using the Simulink visual development environment. One or more target computers located on the same network or over the internet can monitor the 3D haptic scene while the application is running. The target computers can even interact with the master in real-time as well. For further information see the Haptic section.

Defence Research and Development Canada (DRDC)

Using a combination of USB, Ethernet and Serial communication technologies, Marek designed the flight simulator system shown in this figure. The LabView development environment was used to connect and control all the pieces together in real-time.

For a video of the system in action visit the hardware section.

University of Waterloo

In collaboration with 3 other students, Marek helped to create a home security system for his undergraduate engineering final project. Marek's role was to create the communication protocol between the custom developed hardware and a personal computer. Marek also wrote the windows based software application that ran on the PC. This application could be used to arm or disarm the home security system remotely, and it displayed all sensor activity monitored by the hardware. A screen shot of the running software application is shown here.

Visual Arts

Visual Arts

Marek has always been passionate about painting, sculpting, and drawing. After having discovered Jasc's Paint Shop Pro v3.0 in the early 90's, he became hooked on the digital medium. Since then, Marek has created countless 2D graphics and illustrations for many projects ranging from technical manual illustrations, holiday cards, event brochures, websites, 3D model textures, and sprites for computer games. Marek's software of choice is Adobe Photoshop to do image editing work, and Adobe Illustrator to create vector based graphics.

In early 2000, Marek started working with virtual objects and 3D modeling using trueSpace. Today he exclusively uses Autodesk Maya for all his 3D modeling, rigging, animating, and rendering needs.

Marek enjoys making instructional video tutorials for game developers because it allows him to combine his three strong passions together: the visual arts, computer programming, and teaching. On this website, you will find over 300 training videos to download. Shown below is a small sampling of some of the sprites and graphics that were developed for the video tutorials.

To see more projects that Marek has worked on, visit the other sections by using the right arrow at the top of the screen or by selecting one of the other categories found below the navigation bar.