Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (753)
Games in Android Showcase (228)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1]
1  Games Center / Archived Projects / Re: SVG-based tower defense engine on: 2011-01-26 10:52:25
I'm wrestling with Batik and inkscape at the moment
Just an advice then, in Inkscape, always use "Save as", and select "SVG (Plain)" as format and not the inkscape svg. Inkscape will complain about loss of information, but these information would not be readable by Batik.

An interesting thing i saw KevGlass do in Slick2D is use java's default XML reader to read the SVG files as Strings.
Well, I used Batik because I don't want to parse SVG myself and call the drawing primitives accordingly. I'm way too lazy.

But I guess that because you're rendering the SVG files to images on-the-fly you need batik's rasteriser and therefore all of the jars.
Indeed, but why the hell do I have to include "pdf-transcoder.jar" to my classpath for rasterization Huh??  Angry

Caching the images would imply to select a set of available resolutions, and I want to be as system-agnostic as possible. Wanna play fullscreen on a 768*1024 screen ? possible. Wanna play on a 2K*2K ? possible. I use a fixed set of resolutions for Windowed mode (only 16:9 resolutions), but for fullscreen, I get the available modes directly from the system.
However, downloading the sources of Batik and importing it as an eclipse project would enable me to use the Fatjar addon that will crawl in the code, and create a single jar with all used classes. If batik uses Class.forName(), then I'm doomed. Shocked
2  Games Center / Archived Projects / Re: SVG-based tower defense engine on: 2011-01-26 08:31:44
How did you do the inkscape integration?
Using batik indeed. However, the batik jars' hell made the download go from 3MB to 17MB.... Maybe I'll try using fatjar one day to shrink batik (if there's no legal issues with that too).
There's a .properties file containing for each sprite the svg file path, and a fixed width (or height) that is the sprite size in full HD (1920*1080). Depending on the chosen resolution, they are rendered in-memory by batik to the right size.

It actually doesn't look too bad. Are gradients supported? If you throw in some radial gradients it will look a lot nicer. Bezier curves will also spruce it up, they'll make it less square looking and modern.
Thanks, with time I came to like those sprites too, but I guess seeing them so often helped (oh, and the fact that I drew them myself too ^^ ). Everything in SVG that is supported by both Inkscape and Batik can be used for sprites, alpha channel included. I noticed that inkscape bitmap textures (like camouflage) do not work for example (inkscape extension). As said, I'm just a coder, and have no talent/wish/time to do "pretty" graphics.

Personally i'd have picked Slick2D over GTGE but still if its working for you it should be good enough..
GTGE's development seems stalled ATM, but one or two coders are still working on it, and they are planning an interesting release feature-wise.
What I really liked in GTGE was a very simple integration of OpenGL : they implemented a Graphics2D subclass that implements the usual 2D functions with LWJGL or JOGL calls. I extended the LWJGL one to add additive alpha blending, and a little optimisation when the same sprite is to be rendered a lot of times at different places (particles !)

I'll look at GameJolt and Games4j for JWS version, but I'll keep the .zip release as it lets the user modify everything. Seeing the current game content, if some artist/game designer/level designer want to add stuff, I'll be more than happy.
I don't know if I'll have time to add loads of code to it (working on another game, a much more ambitious project), but if anyone has ideas to turn the engine into a game, I can help.
3  Games Center / Archived Projects / Re: SVG-based tower defense engine on: 2011-01-25 22:58:20
A pair of screenshots

Concerning JWS, I have to google it a little, and find hosting for my files I guess.
For the applet, I don't know how native libs would integrate though.
4  Games Center / Archived Projects / SVG-based tower defense engine on: 2011-01-25 17:17:56
Hi all,

I've written a tower defense engine in Java 6 using the GTGE library as game engine, and LWJGL as rendering engine.
Below are the specs of the engine :

- LWJGL rendering
- Tested on windows XP and various flavours of Linux (might even try solaris/x86 soon. LWJGL does not work with Solaris/SPARC.. too bad)
- Windowed or fullscreen modes
- Screen resolution & ratio independence
- Little JFC/Swing window at game startup to select resolution and windowed/fullscreen mode
- Full SVG graphics EVEN FONTS (SVG files are rendered in-memory at game startup depending on resolution)
- Black bars are added to top/bottom or left/right when playing fullscreen on non-16:9 screens
- .properties files based game-content (no need to recompile to add/modify levels and tweak towers and enemies; possibility to easily create an add-on system)
- Particles systems (flamethrower and laser beam)

- One level featuring 10 waves of enemies
- A clone level to test the multi-level capabilities
- A third level to try out the multi-spawn-points capabilities
- A main menu with level selection and start/quit buttons
- An incredible amount of different enemies (two of them !)
- 4 different towers : Plasma tower (shoots fast and straight); Missile tower (shoots homing missiles); Laser tower (Laser beam with nice VFX); Flame tower (flamethrower)
- Each tower can be upgraded 2 times
- The player starts manually each wave of enemies
- If one of the enemies reaches the end of the level, it's "game over folks" and return to main menu

- I drew the sprites myself in Inkscape very quickly, and I suck as CG artist (meh is teh coderz), so they look ugly artistically speaking.
- The game as-is is cheated as the two most powerful towers cost 1$ to build and upgrade (testing purposes) while the weakest one is 50$ to build, 100$ for lv2, and 200$ for lv3. Can be changed in .properties text files.

Basically, anyone able to draw pretty sprites with inkscape, and able to use a text editor, could "skin" the game to their likings, create new enemies, and use those in their own levels.

You can download it as a .zip file here :

Once unzipped, click TDV.bat or depending on your OS (Windows, or Linux. Mac users can modify the .sh to have it work on their systems).
If it doesn't work, it probably means that java is not in your PATH. Edit TDV.bat to replace the word java by (for example) "C:\Program Files\Java\jre6\bin\java.exe", keeping the quotes.
Pages: [1]
nelsongames (19 views)
2018-04-24 18:15:36

nelsongames (17 views)
2018-04-24 18:14:32

ivj94 (608 views)
2018-03-24 14:47:39

ivj94 (53 views)
2018-03-24 14:46:31

ivj94 (401 views)
2018-03-24 14:43:53

Solater (66 views)
2018-03-17 05:04:08

nelsongames (111 views)
2018-03-05 17:56:34

Gornova (176 views)
2018-03-02 22:15:33

buddyBro (747 views)
2018-02-28 16:59:18

buddyBro (94 views)
2018-02-28 16:45:17
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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!