20 STEEM bounty offered | Python programmers wanted | initialize the groundwork for a game using pygame | a task request for the open-source project The Amanuensis: Automated Songwriting and Recording

in utopian-io •  5 months ago



The Amanuensis is an automated songwriting and recording system aimed at ridding the process of anything left-brained, so one need never leave a creative, spontaneous and improvisational state of mind, from the inception of the song until its final master. The program will construct a cohesive song structure, using the best of what you give it, looping around you and growing in real-time as you play. All you have to do is jam and fully written songs will flow out behind you wherever you go.

If you want to try it out, please get a hold of me! Playtesters wanted!


I'm offering a 20 STEEM bounty for the completion of the following task. That is of course in addition to the payout you would be able to get from utopian.io for writing up a New Feature post in the "development" category according to their guidelines (which would almost certainly be worth even more).


I am requesting the help of a programmer who knows python, particularly the pygamepackage. I have already outlined my vision for turning The Amanuensis into a full-fledged videogame and the task requested here is simply to take the very most preliminary step in that direction. You would be creating a proper game UI window, where all the (future) gaming action would take place.

The idea would simply be to lay the groundwork for a game and should not be very difficult at all for someone familiar with pygame, or willing to look into it. So that would mean creating a screen in a new window that would update at a steady number of frames per second, say 30, and creating the "game engine" loop where future code could be placed if it is to be executed every frame.

In addition, I am requesting that the very most basic functionality for the game be implemented, simply to demonstrate that the game is working and the screen is updating properly. This would include drawing a line on the screen, drawing a triangle on the screen and placing a text box.

The line and the triangle would react to the most basic of user input; for now this can be simply when the user hits any key on the computer keyboard. When the user hits any key, the triangle should flash in some way. All this would need to entail is changing the triangle from a bare outline to filled-in black for a moment, and then back. When the user hits any key, the line should go from being transparent to black for a moment, and then back (meaning that most of the time it will be invisible). To clarify, these objects should only flash on the downpress of the key, not stay lit the entire time the user holds the key down.

The text box should simply stay updated each frame with the value of stats['likelihood'] (found in consciousness.py), which will be either a zero or one.

See the following mockups for an idea of what it should look like and the placement of each of the objects. They should be placed at the bottom of the new window, in order to leave plenty of room for future game elements above.

no user input

upon key downpress

If you have a better idea than using pygame, please let me know and we can discuss!


Ideally I would like to have this functionality embodied in a new file/module, as the main Python script, consciousness.py, is getting a bit cumbersome. It will need to be done in such a way as it can reference variables from consciousness.py, such as the statsdictionary and others. If this means implementing the game as a new class, then that might be best. This new game window will need to start up when consciousness.py is launched. (Personally, I am not particularly familiar with using classes in Python, so perhaps we can discuss this strategy.)


I believe two weeks should be adequate time to complete this task.


Reply to this post or contact me through Github for more details. I can also be found on discord @to_the_sun.

Proof of Work Done


Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thanks for the task request, @to-the-sun! I have actually been writing some unit tests for pygame recently, so I've gotten to know the package a little bit - I could probably take a look into this myself. I will not be able to work on it from next Monday to Friday, but I could maybe work on it in the upcoming weekend and try to complete it before then, but I'll have to see. I think I'll message you on Discord either tomorrow or the day after!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.


Hell yeah, sounds great!


Thank you for your review, @amosbastian!

So far this week you've reviewed 4 contributions. Keep up the good work!

Hey, @to-the-sun!

Thanks for contributing on Utopian.
We’re already looking forward to your next task request!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!