Ladies and Gentlemen,
May I introduce you to my latest piece of work, JUMG:
What is JUMG? (https://github.com/TheBrenny/JUMG/#what-is-jumg)
JUMG (pronounced ‘Jum-Gee’, acronymed ‘Java Utilities for Making Games’) is a library that contains multiple utilities to make Java Games the most efficient way. JUMG utilises the concepts of separating certain portions of code from the rest, to allow one main class to bring them altogether.
As JUMG is in development, it is necessary for a checklist to be made of what needs to be added, and what is added. This can be found over on the JUMG GitHub page: https://github.com/TheBrenny/JUMG/.
Who is BrennyTizer? (https://github.com/TheBrenny/JUMG/#who-is-brennytizer)
BrennyTizer is not a person, it is merely a blog/portfolio of one’s work. That person who’s work is being collected is Jarod Brennfleck. He is the guy who is constantly working hard to develop programs while achieving good grades at school. Currently a Year 11 student, Jarod has completed a few programs for some classes which he will be releasing soon online! For all the news and updates, check out his website at: http://brennytizer.com.au/
Why do I need JUMG? (https://github.com/TheBrenny/JUMG/#why-do-i-need-jumg)
You don’t * NEED * JUMG, it’s simply a tool to speed up the process of creating games with Java. JUMG just simplifies the process by extinguishing the boring bits of code from your main class. Consider the following:
// Without JUMG
public static void main(String[] args) {
Dimension size = new Dimension(600, 500);
JFrame jf = new JFrame("Title");
jf.setPreferredSize(size);
jf.setMinimumSize(size);
jf.setMaximumSize(size);
jf.setSize(size);
jf.setLocationRelativeTo(null);
jf.setFocusTraversalKeysEnabled(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new BorderLayout());
jf.add(new OverridenPanelWithAwesomeRender(), BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
}
This clump of code (plus extra, woo!) can be condensed down into just a few lines such as the following:
// Using JUMG
public static void main(String[] args) {
Dimension size = new Dimension(600, 500);
Frame f = new Frame("Title", size);
f.addDisplay(new Display(size, new MyRenderer(), null));
f.show(true);
}
Now how much of a clamp-down is that?! JUMG just removes the boring code that we all dread to write repeatedly, and plonks it in nice little classes that allow you to have full control of. Yes, that’s right. Nothing in JUMG has a private modifier - although it’s bad practice - but as far as this library is concerned, there is no need to privatize anything. That frame that just got created in the JUMG example has a public JFrame in it’s class. If you don’t like it how you can’t resize the frame, you can call the JFrame.setMinimumSize(Dimension) and JFrame.setMaximumSize(Dimension) by using Frame.frame.set*Size. Or you can set it to your own customized frame - provided it extends JFrame in some way!
How to use JUMG (https://github.com/TheBrenny/JUMG/#how-to-use-jumg)
Due to JUMG’s unique style of a multi-library mode, you can select which libraries you want to implement. This allows for a slim development of your game - if that’s what you’re after. There a not many necessities that come when it’s time to implement, but one of these is the utils package is a must, no matter what package you’re after. The utils package is an all round package which implements the most important tools into the library. The utils package contains methods such as logging, images, and certain units of measurement (which are annoying to implement with java - cough angles). But then again, that’s what JUMG aims to do. Cut down your boring code so you can work faster.
So if the previous paragraph was a tl;dr for you, you can find the instructions over on GitHub: https://github.com/TheBrenny/JUMG/#how-to-use-jumg
Do note that editing these packages are NOT against the license that is held on JUMG. IT’s encouraged that you edit the library, but also don’t forget to send a pull request to the main GitHub repo! You work will be credited, so help out!
Get it now from GitHub: https://github.com/TheBrenny/JUMG
Now that that is out of the way, I can get down to more of a 1-1 developer style. I look forward to working with many of you game creators on developing this library to get it up to a very high standard of work!
A really good way to help out is to email me at my email which you can find on my profile (I don’t want to express it here because robots and crawlers can nab it…). On top of that, get yourself a copy of Saros for Eclipse and install it. That will allow us to work collaboratively.
I understand that this library doesn’t compare to LWGJL, jMonkey, or any other Game engine, but this library is to provide support for the guys who don’t like all the aesthetic carp such as frame building when all they really want to do is code a wildly great engine.
Here’s a screenshot of all the packages:
~TheBrenny