Redwood leverages multiple technologies to enable a flexible and powerful multiplayer infrastructure:
- Unreal Engine 5
- Built-in cross-platform multiplayer communication (aka network replication)
- An ecosystem with tons of documentation, tutorials, support resources, and free content
- Free to use for the first $1 million USD for each product/title (5% gross revenue royalty due to Epic Games afterwards; check the FAQ for exemptions)
- Easy to learn and powerful visual scripting language great for non-coders or those not ready to learn C++ quite yet
- So, so much more!
- AngelScript gameplay scripting language
- Hazelight, creators of It Takes Two, maintains this powerful integration of AngelScript with Unreal Engine
- Used in several shipped games across several studios with cross platform support
- Easy to learn language that feels somewhere in between C++ and the visual scripting language “Blueprints”
- MongoDB database
- Document-based databases make a lot of sense for games
- Easy to create integrations with other types of databases if desired
- NodeJS servers (written in TypeScript)
- Containerized using Docker for development (using Docker Compose) and production (using Kubernetes)
- Not everything you need to do can live in a game server; these extra servers help with extra tasks like global chat, extra server creation/destruction, instanced content, database integration, and more
- SocketIO network communication
- Connections between the game servers/clients and the NodeJS servers use reliable SocketIO, bidirectional connections
- Easy to add new messages between the NodeJS servers and the game servers
- Kubernetes orchestration leveraging Agones framework
- SendGrid transactional emails
- New account email verification
- Password reset emails
- Easily send players game-related emails (i.e. “your in-game house has finished construction!” or “your premium currency balance is low, here's a sale to grab some more!”)
- Visual Studio Code IDE development workflow (optional)
- Working with all of these tools and services can be difficult during development; we have developed a workflow that we use to help manage everything under a single Visual Studio Code workspace
- NodeJS server debugging
- AngelScript debugging
- While not required, you can still use Visual Studio or Rider for your C++ code if preferred