Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
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  
  JCOD - Java port of roguelike library libTCOD  (Read 4292 times)
0 Members and 1 Guest are viewing this topic.
Offline sproingie

JGO Kernel


Medals: 202



« Posted 2013-01-22 06:29:03 »

I'm starting a port of libtcod, the library for roguelikes to LibGDX.  

Source: https://bitbucket.org/chuck/jcod



It might strike you as a bit of a odd notion to port a low-fi character display to an advanced graphical engine like GDX, but there's two reasons: one, the library actually does support fully graphical tiles (not seen in the demo screenshot), and I do plan on supporting more sophisticated graphical effects like animation in the future without sacrificing the simplicity of a character console interface.

The other upshot is is the ability to easily port a number of roguelike projects currently using libtcod to java and gdx, and thus have the ability to run them on android, html5, and iOS as well as desktop.  I'm concentrating on desktop at the moment (JCOD is far from optimized) but I'm definitely keeping other platforms in mind for the future.
Offline Roquen
« Reply #1 - Posted 2013-01-22 08:09:37 »

Awesome....because roguelikes are awesome.
Offline ReBirth
« Reply #2 - Posted 2013-01-22 12:33:41 »

Before I fork it, is the test runnable?

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline sproingie

JGO Kernel


Medals: 202



« Reply #3 - Posted 2013-01-22 16:19:51 »

The demo app should be runnable with maven.  It only has the color and offscreen console blit demo at the moment, since JCOD at this point lacks the functionality for most of the other demos.

mvn compile exec:java -Dexec.mainClass=net.fishbulb.jcod.demo.DemoDesktop

If you create an IDE project, you'll need to install the Lombok plugin for your IDE (http://projectlombok.org).  After that, you can import the maven pom and run that class too, though you might have to run a maven build once first. 
Offline jonjava
« Reply #4 - Posted 2013-01-24 00:17:40 »

Nice.

Offline sproingie

JGO Kernel


Medals: 202



« Reply #5 - Posted 2013-01-25 18:43:37 »

I now have the line demo running, which forced me to fix some broken blend modes.  Smoking out bugs is why I'm porting those demos after all.  Though I probably should skip it and go back to it last, I'm just going through the TCOD demos in order, and the next one is noise, and that's where I have a question:

I'm not keen on porting TCOD's C implementation of noise to java, even though it seems fairly decent, so I'm looking for an open source pure java implementation of a variety of noise functions (perlin, simplex, fbm, that sort of thing).  Low memory footprint would be a bonus since it'll eventually have to run on android too.  Anyone have suggestions?
Offline Roquen
« Reply #6 - Posted 2013-01-25 19:51:48 »

There should be links in the wiki page.
Offline Roquen
« Reply #7 - Posted 2013-01-25 20:00:08 »

Follow up: probably just as interesting is wang tiles. (food for thought)
Offline sproingie

JGO Kernel


Medals: 202



« Reply #8 - Posted 2013-01-25 20:08:34 »

Wang tiles look nothing to do with noise, but that is some crazy wild stuff that I should totally look into.  I had a thought on doing a roguelike RTS sort of thing using aperiodic tiles (specifically to give one "faction" a unique look and feel), but all I knew was Penrose tiles, which would have been a terrible fit on a regular grid.  Wang tiles look like just the ticket.  I'm doing my best to make the Tile class more polymorphic (while staying unfortunately stateful), so I have a good idea how I'd implement this trick.  Thanks for the link Smiley


Offline ClickerMonkey

JGO Coder


Medals: 20


Game Engineer


« Reply #9 - Posted 2013-01-25 20:14:25 »

I now have the line demo running, which forced me to fix some broken blend modes.  Smoking out bugs is why I'm porting those demos after all.  Though I probably should skip it and go back to it last, I'm just going through the TCOD demos in order, and the next one is noise, and that's where I have a question:

I'm not keen on porting TCOD's C implementation of noise to java, even though it seems fairly decent, so I'm looking for an open source pure java implementation of a variety of noise functions (perlin, simplex, fbm, that sort of thing).  Low memory footprint would be a bonus since it'll eventually have to run on android too.  Anyone have suggestions?


http://www.java-gaming.org/index.php?topic=22796.0
http://mrl.nyu.edu/~perlin/noise/
http://code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/src.core/toxi/math/noise/SimplexNoise.java
http://code.google.com/p/mycraft/source/browse/trunk/mycraft/src/org/noise/FBM.java?spec=svn10&r=10

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Roquen
« Reply #10 - Posted 2013-01-25 21:02:59 »

Wang tiling is full of goodness...most of the references will be for textures but you can build 2d-dungeons, geometry..create fast version of noise (via texture lookup) feature point generation...all kinds of stuff.  Humm..needs a wiki page.
Offline Best Username Ever

Junior Member





« Reply #11 - Posted 2013-01-25 22:41:19 »

Humm..needs a wiki page.

Perhaps someone should create one.
Offline sproingie

JGO Kernel


Medals: 202



« Reply #12 - Posted 2013-01-25 23:50:19 »

Oho, this is nice, and shows some relation to of Wang tiles to noise.  A bit over my head to implement though Tongue

<a href="http://www.youtube.com/v/ykACzjtR6rc?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/ykACzjtR6rc?version=3&amp;hl=en_US&amp;start=</a>
Offline sproingie

JGO Kernel


Medals: 202



« Reply #13 - Posted 2013-02-16 21:15:17 »

I now support TCOD's image tools (using gdx Pixmap) including scaled and rotated blits.  Alpha is used instead of key colors for normal blits; subpixel blits don't do alpha because they're too much of a hack.  I'm not sure how useful it all is, given how easy it is to draw a real image anywhere, but it made the noise demo a lot smoother looking anyway.

I started working on FOV support, then decided I really hated TCOD's implementations, so I'm adapting the algorithms from the awesome SquidLib instead.  Stuff like LOS and FOVare making a pretty extreme departure from TCOD as it is, so I suspect I'll be ditching TCOD API compatibility everywhere else sooner rather than later.  

Still TODO: Finish FOV and LOS, then start on pathfinding and BSP.  At that point I'm pretty much feature-complete as TCOD functionality goes.
Online Sickan

Senior Member


Medals: 8



« Reply #14 - Posted 2013-02-16 22:46:31 »

Still TODO: Finish FOV and LOS, then start on pathfinding and BSP.  At that point I'm pretty much feature-complete as TCOD functionality goes.
I really need to write this down and use it when somebody asks me what exactly game programming is about.
Offline sproingie

JGO Kernel


Medals: 202



« Reply #15 - Posted 2013-02-16 23:24:52 »

What, too many TLAs?  Eat your alphabet soup, it's good for you Wink
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.

CogWheelz (15 views)
2014-07-30 21:08:39

Riven (21 views)
2014-07-29 18:09:19

Riven (14 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (32 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (30 views)
2014-07-23 21:07:15

Riven (31 views)
2014-07-23 20:56:16
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org 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‑gaming.org
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!