I ' d say stay with C #, because the language probably isn ' t the one thing stopping you . Of the two programs you have already done get the one you remember more , put yourself in front of a piece of paper and , without referencing the code or tutorial , try to remember what are the parts that compose it . Print to the screen ? What , how often ? How to input the movement ? State machine ? . You should be aiming for pseudocode and diagramans showing the different parts of the code , it ' s objects and how they interact . you don ' t need low level pseudocode , i . e . a simple iterate through all the objects with visible tag true and print them to the buffer should suffice . After doing it the best you can refer to the code and tutorial and complete and correct the diagram and pseudocode . Then do the same for the second program . Now you have had a working experience about how to build a program conceptually . Time to bring it to practice . Get another simple game and try to replicate it in the simplest way possible . But , just as you just did , write the pseudocode and diagrams beforehand , as to have a guide for you . With these steps you should be able to do something simple in not much time .