Auction and Market Trading System Update: After Action Report
Hello Alacrity Players,
We are excited to share the details of the recent overhaul of the auction and market trading system. This update is aimed at modernizing our infrastructure, improving usability, and enhancing the overall experience for our community. Below, you will find an overview of the previous issues, the solutions we implemented, and the benefits these changes bring to the game.
Background
The original auction system on Alacrity was not developed in-house and was initially designed for a different purpose, possibly related to horse auctions. As a result, the system required extensive modifications to fit our game, which introduced inefficiencies and technical challenges. The existing database suffered from inconsistent naming conventions and lacked a standard structure, while the outdated PHP version made maintenance challenging and introduced reliability issues.
Problems Addressed
Previously, the auction and market systems were fragmented into three different sections:
- Auctions: Handled in-game items, currencies, and dogs. This system was essential for new players but was difficult to maintain due to extensive modifications.
- User Shops: Allowed players to list items at fixed prices, functioning as "For Sale By Owner" (FSBO) shops without any auction capabilities.
- Dog Sales: Functioned similarly to user shops but was a separate system specifically for buying and selling dogs.
These systems were tightly integrated with other parts of the game, which made scalability and maintenance extremely challenging. The large, monolithic PHP codebase further compounded these issues, making even minor updates risky.
Solutions Implemented
To address these problems, we conducted a comprehensive redesign of the auction and market trading system. The key improvements are as follows:
- Decoupled Systems: We separated the auction system from the item and dog modules, allowing them to evolve independently. This ensures better scalability and maintainability.
- Modern Architecture: We adopted an MVC (Model-View-Controller) design pattern, which helped organize the codebase and allowed us to create a clean separation between the back-end logic and front-end user experience.
- Enhanced Features: The auction tools were updated with new capabilities, and the system was integrated into a broader market framework, including support for buy and sell limit orders.
- Player-Owned Marketplaces: We introduced the concept of player-owned marketplaces in new game towns, encouraging a dynamic and player-driven economy.
New Features of the System
The redesigned system introduces several new features designed to enhance the in-game economy and trading experience:
- Auctions: Players can now use the updated auction system to list items for bidding. This allows for a competitive environment where players can bid on items, enhancing the market activity and excitement.
- Binding Bids and Offers: All bids and offers are binding, ensuring that currency is locked until the auction ends or an offer expires. This prevents market manipulation and ensures transaction integrity.
- Player-Owned Stores: Players can establish their own stores, listing items for direct sale or auction, thus promoting a healthy in-game economy.
Upcoming Features
While the groundwork has been laid for further improvements, here are some upcoming features that will be integrated soon:
- User Shops Integration: The FSBO (For Sale By Owner) system, which previously allowed players to list items at a fixed price, will be integrated into the modern auction system. This will create a more cohesive marketplace experience where auctions and fixed-price listings coexist seamlessly.
- Negotiation on Sales: Sellers will soon be able to receive offers on their sales, with each offer having a set validity period. This feature will encourage negotiation and add a dynamic element to pricing.
- Dynamic Market Trends: Auction and sale outcomes will influence market prices, simulating real-world economic trends and creating a more immersive experience.
Benefits for Players
The new auction and market system is designed to improve gameplay for all of you in the following ways:
- Scalability: By making each component modular, we have laid the foundation for adding more features and supporting a growing player base.
- Maintainability: The new system is easier to update and modify, reducing downtime and allowing us to be more responsive to your needs.
- Enhanced Trading Experience: The improved user interface and new trading features mean a smoother, more engaging experience when buying, selling, and bidding in the game.
Glossary
- Loose Coupling: A design principle aimed at reducing interdependencies between components, making them more modular and easier to modify independently.
- MVC (Model-View-Controller): A software design pattern that separates an application into three interconnected components: Model (data), View (UI), and Controller (logic), to improve code organization and maintainability.
We hope you enjoy the improvements and welcome your feedback as we continue to evolve Alacrity's game features. Thank you for your continued support!
- The Development Team