Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (522)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (590)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  KudoGDX: 2D LibGDX wrapper  (Read 1763 times)
0 Members and 1 Guest are viewing this topic.
Offline KudoDEV

Junior Devvie

« Posted 2013-06-08 15:50:19 »

Hey guys, my name is Ike. I love to make 2D games so I started working on this library I call KudoGDX. It's really simple to use and I need some help on expanding it.

I created it as a template for my multiplayer game, and a realized that it simplifed LibGDX so much that it could be useful for others as well.

Quick example on how to start a game project:

public class GameTemplate extends GameContainer {

    public GameTemplate(int w, int h) {
        super(w, h);

    public void init() {
        //initialize game        

    public void update(float delta) {
        //update game logic

    public void draw(Graphics g) {
        //render game

    public static void main(String[] args) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "Template";
        cfg.useGL20 = true;
        cfg.width = 800;
        cfg.height = 600;
        cfg.resizable = false;
        cfg.vSyncEnabled = true;
        GameTemplate game = new GameTemplate(cfg.width, cfg.height);
        new LwjglApplication(game, cfg);

Check out the BitBucket page for more info. 

Input from the pros and newbies alike is appreciated.

If this becomes active I will keep up with tutorials and wiki pages to help people, as I view well documented works the best.

Home page:

Offline Riven
« League of Dukes »

« JGO Overlord »

Medals: 835
Projects: 4
Exp: 16 years

Hand over your head.

« Reply #1 - Posted 2013-06-08 15:56:24 »

I'm sorry to break it to you, but if you're a novice, the odds are incredibly slim that you can write a library that is usable to anybody than yourself. If anything, keep tinkering, discovering, but don't attempt to write libraries aimed at the outside world.

Write a game instead, that'll result in much more experience, including knowledge on how to actually write a library for others to use.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline Jimmt
« League of Dukes »

JGO Kernel

Medals: 138
Projects: 4
Exp: 3 years

« Reply #2 - Posted 2013-06-08 15:57:57 »

What is the purpose of this library? What additional functions does it provide? You don't want to require users to register for BitBucket just to figure out what it does.
And, yeah, like Riven said, novices shouldn't really be making libraries.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline KudoDEV

Junior Devvie

« Reply #3 - Posted 2013-06-08 16:02:43 »

I'm not a complete novice, I just have a lot to learn. And I didn't realize you nee a BitBucket account to see it.

The library is and easier version of LibGDX. It resembles Slick2D API and includes a very simple but responsive GUI implementation.

And I've written many games. I shouldn't have said novice. More like intermediate coder.
Offline Jimmt
« League of Dukes »

JGO Kernel

Medals: 138
Projects: 4
Exp: 3 years

« Reply #4 - Posted 2013-06-08 16:11:16 »

Isn't libGDX easy enough for you already? What advantages over TableLayout/TWL?
Offline KudoDEV

Junior Devvie

« Reply #5 - Posted 2013-06-08 16:44:00 »

Well I found scene2d.ui complicated for simple games and TWL is powerful but its not the easiest. This library is just a simpler implementation of LibGDX for 2D. I will post some screenies and such soon. Try it out, give it a chance.
Offline Jimmt
« League of Dukes »

JGO Kernel

Medals: 138
Projects: 4
Exp: 3 years

« Reply #6 - Posted 2013-06-08 19:32:50 »

How is scene2d complicated with anything? Shocked
Offline KudoDEV

Junior Devvie

« Reply #7 - Posted 2013-06-08 20:02:06 »

I never felt like it was what I was looking for. I just like the slick SUI feel. This library is for beginners. Try it out and tell me what you think?
Offline badlogicgames

« JGO Bitwise Duke »

Medals: 71
Projects: 2

« Reply #8 - Posted 2013-06-08 22:26:19 »

The wiki is not accessible, even when logged in. Review the permissions.

A bit of feedback
  • Don't put the jar in the Git repo. Your repo will grow and grow. Host it somewhere else
  • You copy libgdx classes directly into your source tree. Make sure to comply with the copyright.
  • You should choose a license and apply it to your code. Apache 2 is pretty good, New BSD is more permissive
  • Clean up the source files, e.g. remove template comments generated by Netbeans
  • Add Javadocs, at least for stable classes
  • GameContainer should be an abstract class, update/draw should be abstract methods. Think about how the app can react to a quit event
  • remove system.outs
  • glClear in game container shouldn't be in there. the user should do that.
  • make constants final, i.e. Colors. careful though, one can still modify those globals
  • Use standard Java naming conventions for classes, methods, args and constants
  • Graphics is very suboptimal. Drawstring doesn't check if the batch is active. you begin/end for each geometric shape, very costly. There's a reason we don't expose a class like Graphics: you can't anticipate what the user wants to draw in what order, and hence can't batch. Let the user decide. (well, you kinda can, but it's a huge can of worms, especially if you allow to mix gl calls in)
  • your ui classes use polling, you will miss events. especially nasty for keypresses and mouse clicks
  • your ui classes will get more and more complex, and eventually you'll end up with something like twl or scene2d just not as battle tested
  • your ui classes are full of hardcoded numbers. they use skin, but don't let the user skin the ui.
  • use interfaces where possible, e.g. listener, keylistener etc. refresh your knowledge on classes, abstract classes and interfaces, and when to use them
  • FilePrinter is bad. Don't reopen the file on every print, keep the streams around and flush

i'm not sure yet what the benefit of kudosgdx is for users, but i'd say continue the journey and improve your skills. - musings on Android and Java game development
Offline KudoDEV

Junior Devvie

« Reply #9 - Posted 2013-06-08 23:37:53 »

Woo. Input appreciated. XP
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline KudoDEV

Junior Devvie

« Reply #10 - Posted 2013-06-10 00:38:19 »

Don't mean to double but I have updates.

I really liked badlogic's input and I am still on my journey, and have learned a bit from his comments.

I started to add more optimizing options to graphics. Allowing users to batch shapes and such.

However, I could not find a way around drawing a shape when you need it while still using a SpriteBatch, or even how to render different shapes using the same shaperenderer without pushing it to the gfx card. So I left that as an option with a warning for performance decrease.

As for the UI it still needs work and Skin has just started. It will be simple to use once complete.

My journey continues, and input is much appreciated. I am enjoying myself.

Fixed my mistake with the Listener, KeyListener and MouseListener. Can't beleive I did that.

Offline wessles

JGO Wizard

Medals: 74
Projects: 4
Exp: 4 years

Radirius Software

« Reply #11 - Posted 2013-06-18 19:36:06 »

I like your idea, but just wait a bit. Making a few games as far as I know seems to make people happier. Take slick2d for example; kevglass worked on it after he made a few games, and it was a masterpiece! Like previously said, tinker, then start. But keep this idea somewhere. I really want this.

Offline KudoDEV

Junior Devvie

« Reply #12 - Posted 2013-06-20 20:43:01 »

Thanks for showing interest [: the library is getting more refined as I continue to work on my game. I just need people to test and share some opinions.
I have a few java newbie friends that tested it and they said its working marvels for them. They aren't skilled enough to understand LibGDX but they understand this library.
So I will continue to tinker on.
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.


Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

trollwarrior1 (28 views)
2014-11-22 12:13:56

xFryIx (70 views)
2014-11-13 12:34:49

digdugdiggy (49 views)
2014-11-12 21:11:50

digdugdiggy (43 views)
2014-11-12 21:10:15

digdugdiggy (37 views)
2014-11-12 21:09:33

kovacsa (61 views)
2014-11-07 19:57:14

TehJavaDev (65 views)
2014-11-03 22:04:50

BurntPizza (63 views)
2014-11-03 18:54:52

moogie (79 views)
2014-11-03 06:22:04

CopyableCougar4 (78 views)
2014-11-01 23:36:41
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!