libGDX is a Java game development framework that provides a unified API that works across all supported platforms.

The framework provides an environment for rapid prototyping and fast iterations. Instead of deploying to Android/iOS/Javascript after each code change, you can run and debug your game on the desktop, natively. Desktop JVM features like code hotswapping reduce your iteration times considerably.

Libgdx tries not be the "end all, be all" solution. It does not force a specific design on you.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Related Articles

Hello everyone!

Two months have passed since the last update on DigiBall. But there is a very good reason for that. I had to basically rewrite all of the code from scratch in order for it to be easier to maintain in the future. At the end of the post there are technical details for those interested in LibGDX and Ashley Entity Component System.

With that out of the way, Are you ready to see what changed during these 2 months? Yes? Then let's go :D

As I said earlier this game needed more gameplay variety. That's how the "fancy rope" was born. It can temporarily lock some parts of the arena or connect enemies to walls. You can destroy it only by shooting the white ball at it. Entities can't pass trough it. But enough talking. Better see it in action:

25 03 17 enemyropeconnection com


I'm genuinely excited about all of these new design possibilities :D

Later I thought - "What about different enemy types?".

This game has to have various enemy types. After a short brainstorm I screamed: "Bigger, more bad ass enemy with his own gravity field around him. That's got to be it :D". I quickly got to work, and that's the result:

GravityField


I still have to figure out how to make him look better. I'll look for inspiration in Angry Birds: Space. Folks from Rovio have made pretty decent gravity fields :D.

After these two additions I had enough diverse gameplay mechanics. It was time to combine them into actual levels...

Example Level


Oh, and there are also buttons which open and close gates. Only the ball can trigger them.

Double Button


In total there are 20 levels in this game already. Soon there will be enough for a short demo :D

Now time for the Technical Side.

If you don't care about LibGDX, Programming Patterns and combining them together you can safely finish reading this devlog (Better yet you can tell all of your friends how cool DigiBall is going to be :D).

OK, If you're here it means that you have to be asking: "What is an Entity Component System and why would you spend three weeks on rewriting the whole game???".
Well, you see, DigiBall is the biggest game I ever created and it quickly became too big. Each entity type was stored in its own separate Array. Just look at this:

Digiball arrays


It's ugly, right? But that's where an Entity Component System comes in.

It's basically a pattern, different from Object Oriented Programming which is really useful, specifically in game development. It has a few benefits such as:

  • You don't have to store all of your entities in separate Arrays
  • All of entities in your game are created from smaller modules (called components). It makes it easy to add new, complex entities
  • It's easy to define new entities in data
  • It's more efficient

Even though it took me three weeks to rewrite the code, it was absolutely worth it. If you want to read more about Entity Component System:

  • Here is a blog explaining the concept of this pattern
  • And here is its implementation in LibGDX

That's all for now,
I hope that you are becoming as excited about DigiBall as I am... :D

Towerneer - First live project

Towerneer - First live project

Towerneer

Check out my first ever live project, Towerneer! A mobile game currently available on Android!

Digiball #1 Devlog, how it evolved during first 4 months

Digiball #1 Devlog, how it evolved during first 4 months

DigiBall

A 15 year old guy has spent last 4 months working on DigiBall. Interested in learning how a small game like this evolves? Look no further :D.

New combat/inventory windows and updated monster spawns

New combat/inventory windows and updated monster spawns

Mischieviots

This week I've added two new interfaces to the game that should help with combat and inventory maintenance along with some changes to monsters once they've...

Our friends have names!

Our friends have names!

Mischieviots

I’ve finally gotten around to giving our little friends the names and also came up with a short little biography for each one.

Add game Games
Plasmoid

Plasmoid

Adventure

Plasmoid is a 2D action adventure game. Play a floating orb on its odyssey through fantastical worlds.

DigiBall

DigiBall

Turn Based Tactics

A computer virus trained in playing digital football is on a mission to deliver white ball of data in order to defeat handsome AI. Pass the ball, plan...

Mischieviots

Mischieviots

Role Playing

Follow the adventures of our not-so-heroic band of misfits in their travels around the world as they get themselves into (and out of) various kinds of...

Rainbow Meteor

Rainbow Meteor

Arcade

Choose from a variety of characters and use their abilities to hit or dodge meteors based on their color.

Story Runner RPG

Story Runner RPG

Roguelike

In Story Runner you can create your own dungeons and insert characters that tell the story behind your quest. Easy to use editor to add entities,edit...

Happy Cells

Happy Cells

Puzzle

These small cells are very peculiar, when united they become very happy and have the special ability to spread that joy to all who have contact with them...

Agatha Knife

Agatha Knife

Point and Click

Agatha suffers from insomnia, enjoys eating meat, loves animals, and works in the slaughterhouse of her mother's butcher. Having to kill the animals you...

Rocket Duo

Rocket Duo

Arcade

Rocket Duo is a fun, addictive and challenging game. Carve your way through the obstacles with right co-ordination and control. Rules are simple: Just...

Big Guns n' Chickens

Big Guns n' Chickens

Arcade

An eggcellent Arcade game with Chickens(get it?)easy Gameplay + One Tap Controls

Cats Who Stare At Ghosts

Cats Who Stare At Ghosts

Role Playing

See what only cats can see. Be one of them and constantly improve yourself. Dozens of rooms await you in a mysterious mansion full of secrets, filled...

Comments
kbingh
kbingh

I just created a game called Chomp! using LibGdx. I found it a great library and I liked that it was a programmers platform since I am a Java programmer.

My game is now on the Google Play Store. It is about a crocodile that catches food. You control the crocodile with the accelerator.

Wally the Crocodile catches food from all directions and angles.

Three ways to play.

Play.google.com

Facebook page is Facebook.com

Reply Good karma Bad karma+2 votes
dud3z
dud3z

Why the developer is TOME studios and the license is Commercial?
It's being developed by the libgdx guys and the license should be Apache2.

Reply Good karma Bad karma+8 votes
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Company
Badlogic Games
Contact
Send Message
Licence
Commercial
Release date
Engine watch
Follow
Share
Community Rating

Average

9.3

16 votes submitted.

You Say

-

Ratings closed.

Twitter

Latest tweets from @badlogicgames

RT @Love2Code: ZetaVM, my new compiler project Pointersgonewild.com T.co

11hours ago

RT @mathiaslux: New Video from the #klujam ... summary of the first day! Youtu.be ... thanks to @GoPro with the awesome Quik App! #klujam17

18hours ago

UE4 compile times are too damn high

19hours ago

RT @geddski: I'm a 10x developer: everything takes 10x longer than I planned.

Apr 29 2017

Bought tickes for Alien: Covenant on the 18th of May. That's how dedicated I am to be thoroughly disappointed.

Apr 28 2017

Embed Buttons
Link to libGDX by selecting a button and using the embed code provided more...
libGDX
Statistics
Rank
18 of 419
Last Update
Watchers
36 members
Games
461
Files
83
Articles
320
Reviews
4
You may also like
cocos2d-x
cocos2d-x MIT
Wave Engine
Wave Engine Proprietary
Torque 2D
Torque 2D Commercial
Blitz MAX
Blitz MAX Commercial
GameSalad
GameSalad Commercial
Away3D
Away3D Proprietary