add particle_engine.cpp