Welcome to the world of game development! If you’re reading this, chances are you’ve got a great idea for a game and you’re eager to start bringing it to life. But where do you begin? With so many different aspects to consider, it can be overwhelming to know where to start. Fear not, intrepid game developer! In this guide, we’ll take you through the steps you need to take to turn your idea into a reality. From concept to execution, we’ll cover everything you need to know to get started on your game development journey. So grab a pen and paper, and let’s get started!
Navigating the Idea Phase
=============================
The idea phase is the initial stage of game development, where you conceptualize and brainstorm ideas for your game. It is a crucial stage, as it lays the foundation for the entire development process. Here are some steps to help you navigate the idea phase effectively:
Define Your Game Concept
The first step in the idea phase is to define your game concept. This involves determining the genre, target audience, gameplay mechanics, and overall theme of your game. It is essential to have a clear understanding of what your game is about and what makes it unique.
Conduct Market Research
Once you have a basic idea of your game concept, it is essential to conduct market research. This involves analyzing the current market trends, identifying your target audience, and studying the competition. This research will help you understand the potential demand for your game and identify areas where you can differentiate yourself from the competition.
Create a Prototype
After defining your game concept and conducting market research, the next step is to create a prototype. A prototype is a basic version of your game that allows you to test your gameplay mechanics and overall design. It is essential to create a prototype as early as possible, as it will help you identify potential issues and make necessary adjustments before proceeding to the development phase.
Seek Feedback
Once you have created a prototype, it is crucial to seek feedback from others. This can include friends, family, or industry professionals. Feedback will help you identify areas of improvement and refine your game concept. It is essential to keep an open mind and be willing to make changes based on the feedback you receive.
Refine Your Game Concept
Finally, it is essential to refine your game concept based on the feedback you have received. This may involve making changes to the gameplay mechanics, overall design, or target audience. It is crucial to continue refining your game concept until you have a solid foundation for the development phase.
In summary, navigating the idea phase involves defining your game concept, conducting market research, creating a prototype, seeking feedback, and refining your game concept. By following these steps, you can effectively navigate the idea phase and set the foundation for a successful game development journey.
Identifying Your Inspiration
- Personal passions and hobbies
- Engaging in activities that bring you joy and excitement can provide a wealth of inspiration for your game development journey. For example, if you are an avid hiker, you could create a game that simulates the thrill of exploring different terrains and landscapes.
- By incorporating your personal passions and hobbies into your game, you can add a unique and authentic touch that sets your game apart from others in the market.
- Favorite games and genres
- Analyzing your favorite games and genres can help you identify what aspects of gameplay and design you enjoy the most. This can give you a better understanding of the types of games you want to create and the style you want to adopt.
- By studying the mechanics and design choices of your favorite games, you can learn from their successes and failures, and apply these lessons to your own game development process.
- Industry trends and innovations
- Keeping up with industry trends and innovations can help you stay ahead of the curve and identify new opportunities for game development. For example, the rise of mobile gaming has opened up new avenues for indie developers to reach a wider audience.
- By staying informed about industry trends, you can ensure that your game is relevant and appealing to players, and avoid falling into the trap of creating a game that is outdated or uninteresting.
Refining Your Concept
Defining the target audience is a crucial step in refining your game concept. This involves identifying the demographics and psychographics of the players you want to attract. Understanding their preferences, interests, and needs will help you tailor your game to their expectations. Market research, surveys, and player testing can provide valuable insights into your target audience.
Creating a storyline or premise is another essential aspect of refining your game concept. This involves developing a compelling narrative that captures the player’s imagination and keeps them engaged throughout the game. A well-crafted story can provide a sense of purpose and direction for the player, making the game more enjoyable and memorable. It is essential to consider the game’s genre, theme, and setting when creating a storyline or premise.
Outlining game mechanics and features is also critical in refining your game concept. This involves designing the gameplay mechanics, level structure, and user interface that will make the game enjoyable and engaging. It is essential to balance the difficulty level, provide challenges, and offer rewards to keep the player motivated. Playtesting and feedback from players can help refine the game mechanics and features, ensuring that they are well-designed and enjoyable.
Gathering Feedback and Iterating
Sharing your idea with others
One of the first steps in the game development process is sharing your idea with others. This can be done by joining game development communities, attending game jams, or reaching out to industry professionals. By sharing your idea with others, you can gain valuable feedback and learn from the experiences of others.
Identifying potential challenges and opportunities
Once you have shared your idea with others, it is important to identify potential challenges and opportunities. This can help you to refine your idea and make revisions and improvements. For example, you may discover that your game concept is too complex or difficult to understand, or that the market is already saturated with similar games. By identifying these challenges and opportunities, you can make informed decisions about how to move forward with your game development journey.
Making revisions and improvements
Based on the feedback you receive and the challenges and opportunities you identify, you can make revisions and improvements to your game concept. This may involve simplifying the game mechanics, adding new features, or changing the game’s overall direction. It is important to remain open to feedback and to be willing to make changes to your game concept in order to improve it.
By gathering feedback and iterating on your game concept, you can refine and improve it until it is ready for the next stage of the game development process. This will help you to create a game that is engaging, innovative, and enjoyable for players.
Setting Up Your Development Environment
Introduction
Before you can start developing your game, you need to set up your development environment. This includes the software, tools, and hardware you’ll need to create and test your game. In this section, we’ll go over the essential components of a game development environment and how to set them up.
Choosing Your Game Engine
The first step in setting up your development environment is choosing a game engine. A game engine is a collection of tools and libraries that simplify the process of creating games. Some popular game engines include Unity, Unreal Engine, and Godot. Each engine has its own strengths and weaknesses, so it’s important to choose one that fits your needs.
Unity is a popular game engine for 2D and 3D games. It’s widely used by indie developers and is known for its ease of use and versatility. Unity also has a large community and a vast asset store, making it easy to find resources and assets for your game.
Unreal Engine is a powerful game engine that’s often used for first-person shooters and open-world games. It has a steeper learning curve than Unity, but it offers more advanced features and graphics capabilities. Unreal Engine also has a large community and asset store, making it easy to find resources and assets for your game.
Godot is a free and open-source game engine that’s popular among indie developers. It’s known for its flexibility and ease of use, and it supports both 2D and 3D games. Godot also has a large community and asset store, making it easy to find resources and assets for your game.
Installing Your Game Engine
Once you’ve chosen your game engine, you’ll need to install it on your computer. The process for installing your game engine will vary depending on the engine you choose. Unity and Unreal Engine both have official websites where you can download the latest version of the engine. Godot can be downloaded from the official website or installed via package managers like apt or yum.
Setting Up Your Development Environment
Once you’ve installed your game engine, you’ll need to set up your development environment. This includes installing any additional software or tools you’ll need, such as a code editor or a graphics program. You’ll also need to configure your development environment to work with your game engine.
Choosing Your Tools and Platforms
Game engines and frameworks
- Unreal Engine
- Unity
- Godot
- Construct
- RPG Maker
Game engines and frameworks are the backbone of any game development project. They provide a variety of tools and features that simplify the development process and enable developers to create high-quality games more efficiently.
When choosing a game engine or framework, consider the following factors:
- The type of game you want to create
- Your programming experience and skill level
- The platform you want to target (e.g., PC, console, mobile)
- The engine’s documentation, community support, and ease of use
Programming languages and libraries
- C++
- C#
- Java
- Python
- JavaScript
In addition to the game engine or framework, you will also need to choose a programming language and libraries for your project. Different programming languages have their strengths and weaknesses, so it’s essential to choose one that suits your needs and experience.
When selecting a programming language, consider the following factors:
- Your experience and familiarity with the language
- The language’s performance and scalability
- The availability of libraries and resources for game development
- The platform you want to target
Art and sound software
- Adobe Photoshop
- Adobe Illustrator
- Blender
- Audacity
- FL Studio
To create high-quality visuals and sound for your game, you will need specialized software for art and sound design. These tools enable artists and sound designers to create assets and audio tracks that enhance the player experience.
When choosing art and sound software, consider the following factors:
- The quality and functionality of the software
- The compatibility with your game engine or framework
- The availability of tutorials and resources for learning the software
- The cost and licensing options of the software
Building Your Team
- Identifying necessary roles and skills
- Recruiting team members
- Establishing communication and collaboration processes
Building a team is an essential step in the game development process. A well-rounded team with a variety of skills can help bring your game idea to life. Here are some key considerations when building your team:
- Identifying necessary roles and skills: Before you start recruiting, it’s important to identify the roles and skills that are necessary for your game development project. Some common roles include:
- Game designer: responsible for designing the game mechanics and overall gameplay experience
- Artist: responsible for creating visual assets such as characters, environments, and user interfaces
- Programmer: responsible for writing code and implementing game mechanics
- Sound designer: responsible for creating sound effects and music for the game
- Producer: responsible for managing the project and ensuring it stays on schedule and within budget
- Quality assurance tester: responsible for testing the game to ensure it is bug-free and polished
- Recruiting team members: Once you have identified the necessary roles and skills, you can start recruiting team members. There are several ways to find talented individuals, including:
- Posting job listings on websites such as LinkedIn or Indeed
- Reaching out to local game development communities or schools with game design programs
- Recruiting from your personal network or contacts
- Establishing communication and collaboration processes: It’s important to establish clear communication and collaboration processes within your team to ensure everyone is on the same page and working towards the same goals. This can include regular meetings, shared project management tools, and clear communication channels.
Planning and Prototyping Your Game
Planning and prototyping are crucial steps in the game development process. These initial stages set the foundation for the entire project, laying out the vision, gameplay mechanics, and technical requirements. Here’s a breakdown of the key elements to consider when planning and prototyping your game:
- Game Concept
Start by developing a high-level concept for your game. This should include the genre, target audience, and core gameplay mechanics. It’s essential to have a clear understanding of what makes your game unique and appealing to players. Consider factors such as the story, setting, and characters, as well as the game’s technical requirements and potential challenges.
- Game Design Document (GDD)
A Game Design Document (GDD) is a comprehensive document that outlines the details of your game. It serves as a blueprint for the development process, describing the game’s mechanics, systems, and overall design. A well-crafted GDD will help keep your project on track and provide a reference for your team throughout the development process.
- Prototyping
Prototyping is the process of creating a basic version of your game to test its core mechanics and validate your design ideas. A prototype can be a simple sketch or a more elaborate proof-of-concept, depending on the complexity of your game. The goal of prototyping is to quickly test and iterate on your ideas, identifying potential issues and refining the gameplay experience.
- Feedback and Iteration
Share your prototype with others to gather feedback and identify areas for improvement. This could include playtesting with potential players, as well as receiving feedback from developers, designers, and other industry professionals. Use this feedback to refine your game mechanics, systems, and overall design, iterating until you have a solid foundation for your game.
- Technical Considerations
During the planning and prototyping stages, it’s important to consider the technical requirements of your game. This includes the platforms you plan to support (e.g., PC, consoles, mobile), the programming languages and tools you’ll use, and any specific hardware or software requirements. You should also think about the scalability of your game, considering potential future updates and expansions.
By carefully planning and prototyping your game, you’ll set the stage for a successful development journey. With a solid foundation in place, you’ll be better equipped to navigate the challenges and opportunities that lie ahead.
Defining Your Game Design Document
When it comes to game development, having a well-defined game design document is crucial. This document will serve as a blueprint for your game, outlining its objectives, mechanics, setting, characters, and story. It will also help you establish technical requirements and constraints that will guide your development process.
To define your game design document, follow these steps:
- Outline the game’s objectives and mechanics:
Start by identifying the core gameplay mechanics that will drive your game forward. This could include elements such as puzzle-solving, exploration, combat, or resource management. Next, outline the objectives of your game, such as completing levels, collecting items, or defeating enemies. This will help you create a clear vision for your game’s core experience. - Describe the setting, characters, and story:
Once you have a clear understanding of your game’s mechanics and objectives, it’s time to flesh out the world in which it takes place. Describe the setting, including the time period, location, and any key landmarks or environments. Introduce the characters that will inhabit this world, including their personalities, motivations, and relationships with one another. Finally, outline the story that will drive your game forward, including key plot points, conflicts, and resolutions. - Establish technical requirements and constraints:
Before you start developing your game, it’s important to establish the technical requirements and constraints that will guide your process. This could include the platforms you plan to develop for, the hardware and software you’ll need to create your game, and any technical limitations that may impact your design choices. This will help you ensure that your game is feasible to develop within your desired scope and budget.
By following these steps, you can create a comprehensive game design document that will serve as a roadmap for your game development journey.
Creating a Prototype
- Rapidly developing a playable version
- Testing gameplay and mechanics
- Gathering feedback and iterating
Creating a prototype is a crucial step in the game development process. It involves rapidly developing a playable version of your game, testing its gameplay and mechanics, and gathering feedback to iterate and improve it.
Here are some key points to consider when creating a prototype:
- Focus on the core gameplay mechanics: When creating a prototype, it’s important to focus on the core gameplay mechanics that make your game unique and fun. This will help you test and refine these mechanics before investing too much time and resources into the full game.
- Keep it simple: A prototype should be a simple, minimalistic version of your game. This will help you quickly test your ideas and get feedback from players, without getting bogged down in details or complex features.
- Use readily available tools: There are many tools available that can help you quickly create a prototype, such as game engines like Unity or Unreal Engine, or tools like Construct or Stencyl. These tools can help you quickly create a playable version of your game, without needing to invest in expensive software or hardware.
- Test and iterate: Once you have a prototype, it’s important to test it thoroughly and gather feedback from players. This will help you identify any issues or problems with the gameplay, and make adjustments and improvements as needed. Be prepared to iterate and refine your prototype multiple times, as this is an essential part of the game development process.
Overall, creating a prototype is a critical step in the game development process. It allows you to quickly test and refine your gameplay mechanics, gather feedback from players, and make improvements before investing too much time and resources into the full game. By following these key points, you can create a solid foundation for your game development journey.
Funding and Marketing Your Game
===================================
Securing funding and effectively marketing your game are crucial steps in ensuring the success of your project. In this section, we will discuss various funding options available to indie game developers and strategies for marketing your game to reach your target audience.
Funding Options
As an indie game developer, there are several funding options available to help you bring your game to life. Some of the most common funding options include:
- Crowdfunding: Platforms like Kickstarter and Indiegogo allow you to raise funds from backers who are interested in your project. To run a successful crowdfunding campaign, it’s important to create a compelling pitch, set realistic funding goals, and offer rewards that incentivize backers to support your project.
- Grants: There are several organizations and programs that offer grants to indie game developers. Researching and applying for grants can be a great way to secure funding for your project without taking on debt or giving up equity in your company.
- Investors: If you have a solid business plan and a compelling pitch, you may be able to secure funding from investors. However, it’s important to be prepared to give up equity in your company in exchange for funding.
Marketing Strategies
Once your game is developed and ready to launch, it’s time to start marketing it to your target audience. Here are some strategies for effectively marketing your game:
- Social media: Social media platforms like Twitter, Facebook, and Instagram are great places to connect with your target audience and build buzz around your game. Consider creating a social media plan that includes regular updates, behind-the-scenes content, and engaging with your followers.
- Press releases: Reaching out to game journalists and bloggers to secure coverage for your game can be a great way to reach a wider audience. Draft a compelling press release that highlights the unique features and benefits of your game and includes relevant images and videos.
- Demo or beta testing: Offering demos or beta tests of your game to a select group of players can help generate buzz and gather feedback that can be used to improve the game. Consider reaching out to influencers or community leaders in your target audience to help spread the word about your game.
By carefully considering your funding options and developing a solid marketing strategy, you can set your indie game development project up for success.
Crowdfunding and Investment
Kickstarter and other crowdfunding platforms
Crowdfunding has become a popular method for game developers to raise funds for their projects. Kickstarter is one of the most well-known crowdfunding platforms, and it has been instrumental in launching many successful game development campaigns. To get started with Kickstarter, developers should create a compelling campaign page that includes a detailed description of the game, a trailer or demo, and rewards for backers. Developers should also set a realistic funding goal and deadline, and promote their campaign through social media, press releases, and other marketing channels.
Approaching investors and partners
Another way to secure funding for a game development project is to approach investors and partners. This can include venture capital firms, angel investors, and game publishers. Developers should create a pitch deck that includes a detailed business plan, game design documents, and a prototype or demo. They should also be prepared to answer questions about the project’s potential for success and the team’s experience and qualifications.
Utilizing revenue-sharing platforms
Revenue-sharing platforms like IndieCade and Fig allow developers to raise funds by offering backers a share of the game’s future revenue. This can be a good option for developers who have a solid game design and are confident in their ability to deliver a successful game, but may not have the upfront capital to fund development on their own. Developers should carefully review the terms and conditions of these platforms and be prepared to market their game to a wider audience in order to attract backers.
Promoting Your Game
- Developing a marketing strategy
- Identifying your target audience
- Creating a unique selling proposition
- Setting marketing goals and KPIs
- Leveraging social media and influencers
- Choosing the right platforms
- Building a community
- Partnering with influencers
- Participating in industry events and showcases
- Game conventions and expos
- Online showcases and events
- Networking with industry professionals
To successfully promote your game, it’s important to have a solid marketing strategy in place. This starts with identifying your target audience and creating a unique selling proposition that sets your game apart from others in the market. Setting clear marketing goals and key performance indicators (KPIs) will help you measure the success of your efforts and adjust your strategy as needed.
Social media is a powerful tool for promoting your game, and it’s important to choose the right platforms to reach your target audience. Building a community around your game on social media can help generate buzz and interest, and partnering with influencers can help expand your reach.
Participating in industry events and showcases is another effective way to promote your game. Game conventions and expos provide opportunities to showcase your game to a large audience, while online showcases and events can help you reach a wider audience. Networking with industry professionals at these events can also provide valuable connections and opportunities for collaboration.
Monetizing Your Game
Monetizing your game is a crucial aspect of the game development process, as it can determine the financial success of your project. There are several ways to monetize your game, including in-game purchases and DLCs, advertising and sponsorships, and subscription models and memberships.
- In-game purchases and DLCs
In-game purchases, also known as microtransactions, allow players to purchase virtual items or currency within the game. These items can range from cosmetic upgrades, such as character skins or weapons, to more significant advantages, such as extra lives or power-ups. DLCs, or downloadable content, are additional game content that can be purchased separately from the main game. DLCs can include new levels, characters, or storylines that expand on the main game. - Advertising and sponsorships
Advertising and sponsorships can be a great way to generate revenue from your game. You can sell advertising space within the game to companies looking to reach your audience. You can also partner with companies to create sponsored content, such as in-game events or challenges that promote a specific product or brand. - Subscription models and memberships
Subscription models and memberships are another way to monetize your game. This model involves charging players a recurring fee in exchange for access to exclusive content or features. This can include access to new levels or characters, as well as bonuses such as extra lives or increased power. Memberships can also provide players with discounts on in-game purchases or early access to new content.
When deciding on a monetization strategy for your game, it’s important to consider your target audience and the type of game you‘re developing. Some monetization strategies may work better for certain types of games or audiences than others. It’s also important to be transparent with your players about your monetization strategy and to ensure that it doesn’t negatively impact the overall gameplay experience.
Launching and Maintaining Your Game
=======================================
Once you have successfully developed your game, it’s time to launch it and maintain it for your players. Here are some steps to consider:
Testing and Quality Assurance
Before launching your game, it’s important to test it thoroughly to ensure that it’s free of bugs and glitches. You can do this by inviting a group of beta testers to play your game and provide feedback. This feedback can help you identify and fix any issues before the game is released to the public.
Marketing and Promotion
To ensure that your game reaches a wide audience, you’ll need to market and promote it effectively. This can include creating a website or landing page for your game, building a social media presence, and reaching out to gaming influencers and reviewers. You may also want to consider attending gaming events and conferences to showcase your game and network with industry professionals.
Launching the Game
Once you’ve tested your game and marketed it effectively, it’s time to launch it. You can do this by releasing it on your chosen platform, such as Steam, the App Store, or Google Play. You may also want to consider offering a free demo or trial version of the game to attract new players.
Updating and Supporting the Game
After launching your game, it’s important to continue supporting and updating it to keep players engaged. This can include releasing new content, fixing bugs, and addressing player feedback. You may also want to consider creating a community around your game, such as a forum or Discord server, to connect with players and build a loyal fan base.
Overall, launching and maintaining your game requires careful planning and attention to detail. By following these steps, you can ensure that your game is successful and enjoyed by players for years to come.
Launching Your Game
Launching your game is an exciting moment, but it can also be overwhelming. To ensure a smooth launch, it’s important to have a plan in place. Here are some key steps to consider when launching your game:
- Choosing a release date and platform: The release date is a crucial factor in the success of your game. It’s important to choose a date that will maximize exposure and generate buzz. Consider factors such as the time of year, the competition, and the audience’s availability when choosing a release date. Additionally, decide on the platforms you want to launch your game on, such as PC, console, or mobile.
- Developing a launch plan and checklist: A launch plan will help you stay organized and ensure that all the necessary tasks are completed before the launch. Create a checklist of all the tasks that need to be done, such as finalizing the game’s code, testing, and marketing. Assign responsibilities to team members and set deadlines to keep the launch on track.
- Building anticipation and excitement: Building anticipation and excitement for your game is essential to its success. Start by creating a trailer that showcases the game’s features and highlights its unique selling points. Use social media and other online platforms to promote the game and generate buzz. Reach out to influencers and reviewers to get coverage and feedback.
By following these steps, you can ensure a successful launch for your game. Remember to stay organized, communicate effectively with your team, and keep the audience engaged to build a strong foundation for your game’s success.
Post-Launch Support and Updates
Once your game is launched, it’s important to continue supporting and updating it to keep players engaged and invested in your game. Here are some key steps to consider when providing post-launch support and updates:
- Addressing player feedback and bugs: It’s crucial to actively listen to player feedback and address any bugs or issues that arise. This can help improve the overall gameplay experience and show players that you value their input. Regular bug fixes and performance improvements can also help keep your game running smoothly and prevent player frustration.
- Releasing additional content and updates: To keep players engaged and interested in your game, it’s important to continue releasing new content and updates. This can include new levels, characters, items, or gameplay mechanics. By providing a steady stream of fresh content, you can keep players coming back for more and encourage them to continue playing your game.
- Engaging with the community and building a loyal player base: Building a strong community around your game is key to long-term success. Engage with your players through social media, forums, and other channels to get feedback, answer questions, and build relationships. Consider hosting events or tournaments to encourage community participation and foster a sense of belonging among your players. By building a loyal player base, you can create a dedicated group of fans who will help promote your game and provide valuable feedback to help it grow and evolve over time.
Monitoring Analytics and Metrics
Once your game is launched, it’s important to monitor analytics and metrics to gauge its success and identify areas for improvement. Here are some key areas to focus on:
- Tracking player engagement and retention: This includes metrics such as session length, drop-off rates, and repeat play sessions. By monitoring these metrics, you can get a sense of how engaged your players are and where they might be dropping off in the game.
- Identifying areas for improvement: Based on your analytics, you may identify areas where the game could be improved, such as level design, user interface, or overall game balance. Use this feedback to make iterative improvements to the game.
- Adapting to market trends and player preferences: As the game industry evolves, it’s important to stay on top of market trends and player preferences. This might involve adding new features or game modes, updating the visual style, or incorporating new technologies. Staying nimble and responsive to player feedback and market trends can help keep your game relevant and successful over time.
FAQs
1. What are the first steps to starting a game development project?
The first steps to starting a game development project are to come up with an idea for your game and then create a prototype to test that idea. This prototype can be a simple game concept or a rough draft of your game’s mechanics. Once you have a prototype, you can start testing and iterating on your game until you have a fully developed product.
2. How do I come up with a game idea?
Coming up with a game idea can be a challenging task, but there are a few things you can do to get started. One option is to brainstorm ideas with friends or other game developers. Another option is to look at existing games and think about how you can make your game different or better. You can also try to come up with a game that combines elements from different genres or that explores a unique theme or concept.
3. What tools do I need to start making a game?
The tools you need to start making a game will depend on the type of game you want to make and your level of experience. Some common tools used in game development include game engines like Unity or Unreal Engine, which provide a framework for creating and developing games, and software for creating art and animation, such as Adobe Photoshop or Blender. You may also need hardware like a computer or console to run the tools and test your game.
4. How long does it take to make a game?
The amount of time it takes to make a game can vary widely depending on the complexity of the game and the experience of the developer. Simple games can be completed in a matter of weeks or months, while more complex games can take years to develop. It’s important to set realistic goals for your project and be prepared to spend a significant amount of time and effort on the development process.
5. How do I know if my game is good enough?
Determining whether your game is good enough can be subjective and depends on a variety of factors, including the audience you are targeting and the goals you have for your game. However, there are a few things you can do to improve your game and make it more appealing to players. These include getting feedback from playtesters, refining your game mechanics and art, and ensuring that your game is fun and engaging to play. Additionally, you can consider submitting your game to game development contests or events to get feedback from industry professionals and players.