🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

ainpcengine

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ainpcengine

Node.js SDK for AINPCEngine - AI-powered NPC engine for games

npmnpm
Version
1.0.0
Version published
Weekly downloads
9
350%
Maintainers
1
Weekly downloads
 
Created
Source

AINPCEngine Node.js SDK

Official Node.js SDK for AINPCEngine - AI-powered NPC engine for games.

Create NPCs with real personalities, memories, and dynamic dialogue. Every NPC remembers, gossips, and reacts.

Install

npm install @ainpcengine/nodejs-sdk

Quick Start

const AINPCEngine = require('@ainpcengine/nodejs-sdk');

const client = new AINPCEngine({
  baseUrl: 'https://ainpcengine.com',
  apiKey: 'YOUR_API_KEY',       // Get one at https://ainpcengine.com
  gameId: 'your-game-id',
});

// Talk to an NPC
const result = await client.say(npcId, 'player_1', 'I need a sword', {
  location: 'blacksmith_shop',
  timeOfDay: 'evening',
});

console.log(result.response.dialogue);

NPC CRUD

// Create
const npc = await client.createNPC({
  name: 'Grok the Blacksmith',
  personality: {
    traits: ['gruff', 'honest'],
    speechStyle: 'direct, no-nonsense',
    backstory: 'Former soldier turned smith...',
    values: ['family', 'hard work'],
  },
  role: 'merchant',
  faction: 'ironforge',
});

// List all NPCs for your game
const npcs = await client.listNPCs();

// Get single NPC
const grok = await client.getNPC(npcId);

// Update
await client.updateNPC(npcId, {
  location: 'market_square',
  mood: { emotion: 'happy', intensity: 0.8 },
});

// Delete
await client.deleteNPC(npcId);

Generate NPCs

// Generate single NPC with full persona (OCEAN, schedule, psychology)
const npc = await client.generateNPC({ role: 'merchant' });

// Generate batch with social relationships
const { npcs, socialLinks } = await client.generateBatch({ count: 5 });

Events

// Player dialogue
const result = await client.say(npcId, playerId, message, context);

// Player approaches NPC
const result = await client.approach(npcId, playerId, context);

// Player leaves NPC
const result = await client.leave(npcId, playerId, context);

// Trade request
const result = await client.requestTrade(npcId, playerId, context);

// NPC autonomy tick (hourly world simulation)
const result = await client.ambientTick(npcId, context);

// NPC gossip
const result = await client.gossip(npcId, context);

// Generic event (21 event types supported)
const result = await client.sendEvent(npcId, {
  type: 'combat_started',
  playerId,
  context,
});

Game Context

const context = {
  location: 'blacksmith_shop',
  timeOfDay: 'evening',
  weather: 'rain',
  nearbyNPCs: ['merchant_1'],
  playerReputation: 75,
  playerLevel: 5,
  activeQuests: ['find_sword'],
  recentEvents: ['helped_village'],
};

Also Available

Get an API Key

Sign up at ainpcengine.com to get your API key.

License

MIT - Copyright (c) 2026 Joe Wee / Tyga.Cloud Ltd.

Keywords

ainpcengine

FAQs

Package last updated on 04 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts