There are two parts to an event in-game. The first part is the mechanics, which is basically everything you can see in map-making (pages, event commands, move routes, conditions, etc.). The second part is a sprite which shows the event. RPG::Event.new(x,y) only creates the first part, so of course you're not going to see it.
As I've mentioned previously, looking at how dependent events work is a good start to being able to spontaneously create events. Making an event follow the player will erase that event and spontaneously create a copy of it which follows the player.
Have a look in def createEvent. The first line in there creates the RPG::Event.new thing, while the rest of it creates Game_Event.new and puts the RPG::Event into it (it becomes one part of a Game_Event, which has a sprite and all that jazz). Basically, copy all this, remembering to put in some properties otherwise it'll be a blank event at 0,0 and you won't be able to tell if it worked.
Your task would be to keep track of your new events, and to create them using some hardcoded properties (e.g. make them move randomly) and some other properties (e.g. species, character_name); this is different to how dependent events do it, as they simply inherit all these properties (eventData) from their original event.