Open Terminal on Mac/Linux (For Windows use git bash )
Execute this command
java -jar Tandoori.jar
Java Swing Game
This Game is a simple Bird Game designed by me and Utsav Trivedi.
We looked to implement a relaxed MVC and try to incorporate aspects of the State Action Model and Actor Action Model for our GamePlay.
Things I learnt about using Java Swing for implementing a GUI based system:
It is best not to mix Swing and AWT components as AWT components are heavyweight (but if you have a good reason and know what you want to do with it) Note- If you are a beginner and want to make your own game start with using JFrame and JPanel. We have done otherwise in this game to trial the SAM and AAM designs. This can be done with using just Swing Components though so just stick to JFrames and JPanels!
Tools such as Eclipse IDE can generate core design from a UML diagram.
Differences between Operating Systems can cause problems like screen flicker, file pathing issues to locate resources so we need to be wary of these. However these are not too difficult to fix, although I reccomend you sort that stuff out early on in the process of making your game.
Great Resources to Check Out
Java Game Programming by David Brackeen is an excellent resource to learn about Game Making. You should however learn the basics of Java Swing first. I mostly used the Java Swing Docs in the offical Java website but there should be a lot of places that you can go to.
Swing vs FX:
Graphics wise FX does a better job but we had to use Swing as this was our Project Requirement. Do Note that FX is deprecated.
Where to get Game Assets (Sounds /Player Sprites/Menus) opengameart.org soundbible.com Make your own via piskelapp.com (this is also a great tool to edit sprites)
Final Comments: Coming from a background in C/C++ and some experience in OOP , some things that did irk me intitally about Java was the garbage collector (I felt robbbed of the control I had over my system in C++) but eventually it grows on you. If you are coming from a C++ background some things like Multiple Inheritance dont work.
Hope this helps anyone who wants to make their own game/swing project.