Dark Past

I thought I would do a project section for my game here. The game will be an adventure rpg that hopefully will be more aimed at casual game players. I want the game to be small yet have a story, so there will be a lot of re-use of materials. I’ll eventually use a map to move around and then focus on planes that are either for fights or towns or special places. Right now it consists of a plane with two characters and two cloned monsters. There are stats now after an attack, which can get overlapped. I’ll probably use a health bar eventually. The monsters can die when their health goes to zero, but not the players as yet. The attack choices are white when they are permitted, but the other attacks aren’t screened out yet, so they work even if they are gray. The character can sometimes not be seen by a monster by being behind a tree. Also, the healing spell actually detracts points. I haven’t gotten that far so it’s one attack size for everything right now. The game is turn based for the characters.


http://img408.imageshack.us/img408/5286/screen1o.th.jpg

You can try the applet here:
http://fireside7games.com/labz/strat_test1.html

As a casual gamer, I can tell you that this is a bad idea. You should do more of an action RPG like Zelda. This would be fantastic like that, but as is, while it looks good, and it’s awesome that you made a 3D game, it’s not fun.

I disagree. I think he should do what he’s doing, as any idea will be just as fun as any other idea as long as it has been tweaked enough (in my opinion). And Zelda is certainly not a casual game.

I agree his game isn’t fun yet, but it seems like he’s really in the earlier stages so he’s just not there yet. Instead of telling him just that it isn’t fun, why not tell him why? Simply being negative isn’t going to help too much.

As for me, I think his concept could be cool and he’s got a good start. It seems much more like a WIP so I wouldn’t even think it makes sense to make the judgement call of it being fun or not.

[quote]As for me, I think his concept could be cool and he’s got a good start. It seems much more like a WIP so I wouldn’t even think it makes sense to make the judgement call of it being fun or not.
[/quote]
Thanks, I was going to say the same thing. If he’s saying turn based games aren’t fun, that’s more opinion. But the game is barely getting started. Normally, in a turn based game, strategy becomes more important so there has to be decisions to make, etc. Even if it was the first fight of the game, it would still be pretty simple and things would get added as time went on. The nice thing about a game like this is I can play it myself and get some idea of how things are going. It’s not fun, yet. I’ll agree with that, but I’m just happy things are starting to work right now. I didn’t even mean to imply it was playable. Anyway, it’s a programming experience that leads me on a learning path. I wrote the astar algorithm and have been learning a lot, so I’m happy with it.

The game needs to be muuuch more intuitive if you’re going for casual gamers.
Nice 3d graphics, nice animations, but it’s very hard to follow what’s happening.

There doesn’t seem to be any way of knowing how much health the units have left except to pay attention when they get hurt, and it’s a bit hard to tell which unit is the currently active one (it took me a while to notice that the character portait in the upper left corresponded to the active unit).

worked well for me for a bit but then crashed, heres my console output

Java Plug-in 1.6.0_14
Using JRE version 1.6.0_14-ea-b03 Java HotSpot(TM) Client VM

----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------

Java version is: 1.6.0_14-ea
-> support for BufferedImage
Version helper for 1.2+ initialized!
-> using BufferedImage
Software renderer (OpenGL mode) initialized
Loading Texture...from InputStream
Loading Texture...from InputStream
Loading Texture...from InputStream
Loading Texture...from InputStream
Loading Texture...from InputStream
[ Tue May 05 09:47:18 BST 2009 ] - WARNING: Unsupported Texture width...resizing to a width of 256 pixels!
Loading Texture...from InputStream
Loading Texture...from InputStream
Loading Texture...from InputStream
Loading Texture...from InputStream

....

Processing new material Material.001!
Processing new material Material.003!
Processing object from 3DS-file: Cube
Object 'Cube_jPCT108' created using 594 polygons and 303 vertices.
Loading file from InputStream
File from InputStream loaded...354 bytes
Processing new material Material!
Processing object from 3DS-file: Cube
Object 'Cube_jPCT121' created using 12 polygons and 8 vertices.
Exception in thread "AWT-EventQueue-2" java.lang.ArrayIndexOutOfBoundsException: -1
	at org.me.hello.Path.checkNearType(Path.java:214)
	at org.me.hello.WebPlayer.mousePressed(WebPlayer.java:569)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
hit =  8.140148729021151
Exception in thread "AWT-EventQueue-2" java.lang.ClassCastException: com.threed.jpct.Object3D cannot be cast to org.me.hello.Actor
	at org.me.hello.WebPlayer.mousePressed(WebPlayer.java:500)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
player moved up 1
leaving changeplayer
Exception in thread "AWT-EventQueue-2" java.lang.ArrayIndexOutOfBoundsException: -1
	at org.me.hello.Path.checkNearType(Path.java:214)
	at org.me.hello.WebPlayer.mousePressed(WebPlayer.java:569)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
hit =  6.259903455939561
enemies turn
leaving changeplayer
girl pos = 10,0map 3
eye pos = 10,10map 4
start 10,10
end 10,0
loop number 0   10,9
loop number 1   10,8
loop number 2   10,7
loop number 3   10,6
loop number 4   10,5
loop number 5   10,4
loop number 6   10,3
loop number 7   10,2
loop number 8   10,1
loop number 9   10,0
testPathShort is true
entering chooseEnemy
start 10,10
end 13,0
loop number 0   11,9
loop number 1   12,8
loop number 2   13,7
loop number 3   13,6
loop number 4   13,5
loop number 5   13,4
loop number 6   13,3
loop number 7   13,2
loop number 8   13,1
loop number 9   13,0
start 10,10
end 10,0
loop number 0   10,9
loop number 1   10,8
loop number 2   10,7
loop number 3   10,6
loop number 4   10,5
loop number 5   10,4
loop number 6   10,3
loop number 7   10,2
loop number 8   10,1
loop number 9   10,0
closest player = 0
girl pos = 10,0map 3
path size  11
leaving
path size = 10
oneEye   13,1--4ending move
leaving changeplayer
girl pos = 10,0map 3
eye pos = 20,10map 4
start 20,10
end 10,0
loop number 0   19,9
loop number 1   18,8
loop number 2   17,7
loop number 3   16,6
loop number 4   15,5
loop number 5   14,4
loop number 6   13,3
loop number 7   12,2
loop number 8   11,1
loop number 9   10,0
testPathShort is true
entering chooseEnemy
start 20,10
end 13,0
loop number 0   19,9
loop number 1   18,8
loop number 2   17,7
loop number 3   16,6
loop number 4   15,5
loop number 5   14,4
loop number 6   13,3
loop number 7   13,2
loop number 8   13,1
loop number 9   13,0
start 20,10
end 10,0
loop number 0   19,9
loop number 1   18,8
loop number 2   17,7
loop number 3   16,6
loop number 4   15,5
loop number 5   14,4
loop number 6   13,3
loop number 7   12,2
loop number 8   11,1
loop number 9   10,0
closest player = 0
girl pos = 10,0map 3
path size  11
leaving
path size = 10
oneEye   14,1--4ending move
leaving changeplayer
hit =  22.296322040479147
player moved up 1
leaving changeplayer
Exception in thread "AWT-EventQueue-2" java.lang.ArrayIndexOutOfBoundsException: -1
	at org.me.hello.Path.checkNearType(Path.java:214)
	at org.me.hello.WebPlayer.mousePressed(WebPlayer.java:569)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
hit =  5.619363133671566
enemies turn
leaving changeplayer
girl pos = 10,0map 3
eye pos = 13,1map 4
start 13,1
end 10,0
loop number 0   12,0
Exception in thread "Thread-11" java.lang.ArrayIndexOutOfBoundsException: -1
	at org.me.hello.Path.getFShort(Path.java:307)
	at org.me.hello.Path.checkNeighborsShort(Path.java:352)
	at org.me.hello.Path.testPathShort(Path.java:293)
	at org.me.hello.WebPlayer.chooseEnemy(WebPlayer.java:801)
	at org.me.hello.WebPlayer.run(WebPlayer.java:310)
	at java.lang.Thread.run(Unknown Source)

Worked well for a bit here too and then it crashed. With the same error.

EDIT: Removed console log seeing as it was the same as the post above.

if you guys look at it you have exactly the same exception ;).

I get this at the end but it works fine:

[quote]Exception in thread “Thread-8” java.lang.IllegalThreadStateException: forbid thread creation in disposed TG
at sun.plugin.security.ActivatorSecurityManager.checkAccess(ActivatorSecurityManager.java:155)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:288)
at java.lang.ThreadGroup.(ThreadGroup.java:102)
at sun.applet.AppletThreadGroup.(AppletThreadGroup.java:44)
at sun.applet.AppletThreadGroup.(AppletThreadGroup.java:26)
at sun.applet.AppletClassLoader$3.run(AppletClassLoader.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.getThreadGroup(AppletClassLoader.java:618)
at sun.applet.AppletSecurity.getThreadGroup(AppletSecurity.java:315)
at sun.applet.AppletSecurity.inThreadGroup(AppletSecurity.java:191)
at sun.applet.AppletSecurity.inThreadGroup(AppletSecurity.java:199)
at sun.applet.AppletSecurity.checkAccess(AppletSecurity.java:213)
at java.lang.Thread.checkAccess(Thread.java:1263)
at java.lang.Thread.setPriority(Thread.java:1013)
at org.me.hello.WebPlayer.run(WebPlayer.java:346)
at java.lang.Thread.run(Thread.java:619)
[/quote]
It is a nice beginning even though I don’t like turn-based games.

Seems to run fine, but my console kept spouting errors:

keep up the good word.

Thanks for trying it everyone. The array is because the grid is a little too small for the screen and I didn’t do checking for that. It probably happened when the characters were at the bottom of the screen. I hope. Anyway. I’ll get that fixed.

I don’t understand the thread error. I saved it and maybe I’ll be able to figure it out eventually. This security business on untrusted apps gets a little frustrating.

[quote]There doesn’t seem to be any way of knowing how much health the units have left except to pay attention when they get hurt, and it’s a bit hard to tell which unit is the currently active one (it took me a while to notice that the character portait in the upper left corresponded to the active unit).
[/quote]
I’ll eventually have a health bar on the characters. I’m not sure about the icons right now. Maybe I’ll start the game in conversations where you get used to connecting the icon with the character turn. I plan to make it as intuitive as possible. Choices that don’t apply will be grayed out, and buttons won’t work if they don’t apply. I could also highlight the character when no choice has yet been made and it’s that characters turn.

looks cool. I love turnbased games. Are they a small market? depends on the game heroes of might and magic sold about 250,000 units each version. Civ sold millions. But generally speaking the market is smaller, 50,000 retail whereas rts are much more.

I couldn’t get them to do anything. The attack button seem to be locked. How is it supposed to work?

[quote=“fireside,post:11,topic:33482”]
Nice. This could turn out good. =)

As I said before, the 3d graphics are really nice, if a tad amateurish looking… but I guess that’s hard to avoid.
The animations are great!

[quote]I couldn’t get them to do anything. The attack button seem to be locked. How is it supposed to work?
[/quote]
I guess the best thing for now is to immediately choose the move button and bring the characters up by the center of the screen somewhere. After a move, the turn changes. The icon above tells which character has a turn. When you’re up by the center somewhere, the attack button should work. Then you choose an attack and highlight one of the enemies. It should light up when the mouse has gone over it and an attack is chosen. If you click when it’s highlighted, the attack will occur.

[quote]As I said before, the 3d graphics are really nice, if a tad amateurish looking… but I guess that’s hard to avoid.
[/quote]
I’m using very low poly models, almost to the extreme. I’d rather have the game load reasonably fast and have a larger selection with more animations. I’ll probably work on other scene graphics to add a little more interest, though. Other types of trees, maybe a few stumps or something and possibly some hills that just get plunked down in different places. Most of my stuff just has an amateur look so I get that quite a bit. I don’t focus on graphic details very well. These characters aren’t even textured. I used vertex coloring. I think it’s becoming my trademark. I figure online games is a natural for me because the expectations are lower.

A Games needs a Dragon!
Unfortunately I can’t beat any enemy because:


Exception in thread "Thread-11" java.lang.ArrayIndexOutOfBoundsException: -1
	at org.me.hello.Path.getFShort(Path.java:307)
	at org.me.hello.Path.checkNeighborsShort(Path.java:352)

Go on with it,
Greets Tobse

I should have taken care of that error before posting. I just forgot about it. Hopefully by next update I’ll have something a little more playable.

Heya,

Retested it on my two computers. The game locks up on my pc, windows xp, radeon 3850. No error message just stops. Works fine on my intel chip set laptop.