Automation needed to save & upload screenshot of PC game when user uploads file to website form
Budget: $15 – $25 USD
Hello! Thanks for your interest in our listing. We are looking to automate a process to take and upload screenshots of a PC video game that’s triggered whenever a texture/skin file is sent to a Windows server via a form on the web.
## Proposed Process:
1. A user uploads an item texture file for the PC game to a website form. This upload will contain an image file as well as data to which model/game item the texture file belongs.
- Example: logged-in user `12345` uploads file `image.png`, which is given id `1000` with the category `sword` to our website.
2. A server running Windows with the PC game software installed is alerted of the new user upload and downloads the file.
- Example: `image.png`, a category `sword` with upload id `1000` has been uploaded by user `12345`, so we need to download the texture file to the Windows server.
3. The user-submitted texture file needs to be renamed and placed into the relevant folder on the server so that the PC game software can read it.
- Example: `image.png` is renamed to `sword_file.png` and placed in `Documents\game\textures\sword`.
4. The server opens the PC game software and navigates to the relevant game menu, matching the model/game item contained in the data submitted.
- Example: When the user-submitted texture file is successfully renamed and placed in the correct directory, the Windows server opens game.exe and navigates to Inventory - Sword.
5. With the relevant game menu opened, the server takes a screenshot of a specified screen area and saves the file.
- Example: With the Inventory - Sword menu opened and in focus on the PC game software, Windows takes an 800x600 screenshot of the screen and saves the file as `1000.png`.
6. Once the screenshot is successfully taken and the file is saved on the Windows server, it’s uploaded to the web (S3 bucket or similar).
- Example: `1000.png` was created successfully, so it’s uploaded to a “screenshots” S3 bucket where it can be used and referenced by our web application.
7. The PC game software on the computer is either closed or it navigates back to the main menu to await the next queued item to screenshot.
## Considerations
- We’ll need your help building the initial upload form in the first step for this proof-of-concept, but we plan to eventually replace it with our own PHP-based upload form on our servers so that all the proper information we need is stored in our database. But, for our exercise here, we’ll need you to build a simple form demo (any language and hosted anywhere, just for demo purposes) with fields for the uploaded file, user id, item category, and unique upload ID.
- The Windows server referenced does not exist currently, so we’ll look to your recommendation for how to handle this.
- We’ll need a process to queue submissions; several dozen concurrent users could be uploading their files for their textures/skins at the same time.
- The PC game software (and surely the Windows machine) will require updates on occasion, so we’ll need a way to ensure we can perform those without much interruption, and also build a queue for when the Windows machine is down for maintenance.
About us: we are a two-person hobbyist team of gaming enthusiasts with a background in web design and development. We don’t have much experience with automation in Windows, which is why we’re looking for an expert’s help on this project.
Thanks for reading our listing. If you’re an automation expert and you think you can help us with this project, we’ll be happy to provide some more specifics!
## Proposed Process:
1. A user uploads an item texture file for the PC game to a website form. This upload will contain an image file as well as data to which model/game item the texture file belongs.
- Example: logged-in user `12345` uploads file `image.png`, which is given id `1000` with the category `sword` to our website.
2. A server running Windows with the PC game software installed is alerted of the new user upload and downloads the file.
- Example: `image.png`, a category `sword` with upload id `1000` has been uploaded by user `12345`, so we need to download the texture file to the Windows server.
3. The user-submitted texture file needs to be renamed and placed into the relevant folder on the server so that the PC game software can read it.
- Example: `image.png` is renamed to `sword_file.png` and placed in `Documents\game\textures\sword`.
4. The server opens the PC game software and navigates to the relevant game menu, matching the model/game item contained in the data submitted.
- Example: When the user-submitted texture file is successfully renamed and placed in the correct directory, the Windows server opens game.exe and navigates to Inventory - Sword.
5. With the relevant game menu opened, the server takes a screenshot of a specified screen area and saves the file.
- Example: With the Inventory - Sword menu opened and in focus on the PC game software, Windows takes an 800x600 screenshot of the screen and saves the file as `1000.png`.
6. Once the screenshot is successfully taken and the file is saved on the Windows server, it’s uploaded to the web (S3 bucket or similar).
- Example: `1000.png` was created successfully, so it’s uploaded to a “screenshots” S3 bucket where it can be used and referenced by our web application.
7. The PC game software on the computer is either closed or it navigates back to the main menu to await the next queued item to screenshot.
## Considerations
- We’ll need your help building the initial upload form in the first step for this proof-of-concept, but we plan to eventually replace it with our own PHP-based upload form on our servers so that all the proper information we need is stored in our database. But, for our exercise here, we’ll need you to build a simple form demo (any language and hosted anywhere, just for demo purposes) with fields for the uploaded file, user id, item category, and unique upload ID.
- The Windows server referenced does not exist currently, so we’ll look to your recommendation for how to handle this.
- We’ll need a process to queue submissions; several dozen concurrent users could be uploading their files for their textures/skins at the same time.
- The PC game software (and surely the Windows machine) will require updates on occasion, so we’ll need a way to ensure we can perform those without much interruption, and also build a queue for when the Windows machine is down for maintenance.
About us: we are a two-person hobbyist team of gaming enthusiasts with a background in web design and development. We don’t have much experience with automation in Windows, which is why we’re looking for an expert’s help on this project.
Thanks for reading our listing. If you’re an automation expert and you think you can help us with this project, we’ll be happy to provide some more specifics!