Snowman Village!

Theres been precious little snow around these parts, so no opportunity to build snowmen. In Snowman Village however it’s snow all year round. ;D

Snowman Village Webpage

http://orangytang.net/games/files/images/VariousSnowmen.png

Snowman Village is a cross between a platformer, Katamari Damacy and an Animal Crossing style sandbox. It’s inspired by the weird snowmen that Calvin makes:

You roll up snowballs, collect decorations and then bring the whole lot back to your village. In your village you can build as many weird and wonderful snowmen as you like, and they’ll be saved and waiting for you next time. Controls are mouse-only, and everything should be explained by the in-game help messages. If anything is unclear then yell and I’ll try and make it easier or better explained.

In the village, the “take picture” button snaps a shot of the currently selected snowman. If you come up with any neat snowmen it’d be great if you could share them in this thread. :slight_smile: Check the options menu to see where they’re saved to. Your snapshots will come out looking something like this:

http://orangytang.net/games/files/images/Birdie-Orangy.png

http://orangytang.net/games/files/images/The%20Prince-Orangy.png

Webstart version - for windows, mac and linux:
http://www.orangytang.net/SnowmanVillage/Webstart/SnowmanVillageWindowed.jnlp

Zip version - windows only. Unzip and run the exe:
http://www.orangytang.net/SnowmanVillage/SnowmanVillage.zip

Notes

  • No music yet, so the slider in the options menu doesn’t do anything.
  • Usual LWJGL cavets apply, you’ll need an OpenGL compatible card and drivers.
  • The zip doesn’t contain a bundled JRE, you’ll need one already installed.

Comments, suggestions and pictures of your snowmen greatfully appreaciated. Thanks!

crashes promptly with the error

[quote]Attempting to create screen display…
Running windowed
Couldn’t create display:org.lwjgl.LWJGLException: No suitable display modes found.
org.lwjgl.LWJGLException: No suitable display modes found.
at snowman.AppBase.findSuitableModes(AppBase.java:115)
at snowman.AppBase.createDisplay(AppBase.java:53)
at snowman.SnowmanGame.run(SnowmanGame.java:82)
at snowman.SnowmanGame.main(SnowmanGame.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.javaws.Launcher.executeApplication(Launcher.java:1154)
at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1101)
at com.sun.javaws.Launcher.continueLaunch(Launcher.java:944)
at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
at com.sun.javaws.Launcher.run(Launcher.java:165)
at java.lang.Thread.run(Thread.java:595)
[/quote]
linux32

Bah! All it’s looking for is an 800x600 display (at either 60Hz or 0Hz). I guess I should also allow other refresh rates if nothing else found.

Edit: Uploaded a new version which should fix this. If not then the debug output would be appreciated, as I added some extra info.

ha ha! this is a cool game. infuriating though when you have a massive snow ball with a hat, 4 bits of coal, 2 sticks, and some other crap and then your snowball touches a spiky bush and you lose the whole lot… aarrghh!

http://img294.imageshack.us/img294/543/ubersnowballdx2.png

Muahaha.

Why is it so much fun to roll up large balls of stuff?

Edit: Note I had to stop because I of that bush there. I think there was another one just past it and I would most likely pop the snowball if I tried to get by (which, btw I think is a little drastic; maybe you could just take off a rather large chunk or 50-75% of the snowball, or a chunk + percentage if you’re still alive; snowballs of a certain magnitude CAN run over bushes quite easily, though perhaps I’m mostly bitter from losing my previous snowballs to these things).

Edit2: Add some way to move snowballs up and down the stack please =). Something as simple as ctrl-click to move to the back of the stack would be great. Even double click would be ok.

Whoa, thats a big snowball. :o

Bushes are very harsh, I might change them so they knock off a third of your size. That’ll still mean failure if it’s quite small, but makes it a bit more forgiving for larger sizes. I have to admit that you’re not really supposed to get snowballs that big, but everyone seems to like to try. ;D

Not sure what you mean by moving snowballs up and down? Do you mean the layering order in the village? I don’t quite see what you’re trying to do…

Just tried the jnlp on linux, and it still runs afoul of resolution selection:

Running with asserts disabled
Running as webstart build
Attempting to create screen display...
Running windowed
All available modes:
	3200 x 1200 x 24 @50Hz

Couldn't create display:org.lwjgl.LWJGLException: No suitable display modes found.
org.lwjgl.LWJGLException: No suitable display modes found.
	at snowman.AppBase.findSuitableModes(AppBase.java:124)
	at snowman.AppBase.createDisplay(AppBase.java:53)
	at snowman.SnowmanGame.run(SnowmanGame.java:85)
	at snowman.SnowmanGame.main(SnowmanGame.java:32)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1154)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1101)
	at com.sun.javaws.Launcher.continueLaunch(Launcher.java:944)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)

Although looking at the available mode, I’m not sure I can blame you for not anticipating it :wink:

Lol, I’m not sure how I’m supposed to handle that. What kind of crazy setup have you got there? ???

I assume other LWJGL games work ok. Maybe I should just forcibly create an 800x600 display as a last resort.

It’s a 1920x1200 laptop with a 1280x1024 external LCD attached. I should really get around to adding more sane screen modes sometime…

Could you not just go windowed mode in cases like this?

By default, it is opening in windowed mode. But as far as I know you’re still supposed to check the available display modes.

I suspect that manually creating an 800x600 display and using that will probably work as long as it’s windowed and smaller than the desktop res, so I should add that. Check back in a couple of hours…

I found that when I installed Ubuntu on my laptop, X only had the highest resolution available, I had to add all the other lower resolutions to my x configuration. Lwjgl can only pick what X tells it it can do.

Endolf

thx for fixing it, works flawlessly now.

Righty, theres a new version up which will manually create a suitable display mode if none are found (and running windowed, which is the default). I think that should fix bleb’s problem. If not then just yell. :slight_smile:

Of course if their resolution is that much higher; or much lower then maybe full screen stretched may be a good option.

Also the game may be easier to play if you didn’t have to catch the ball to move it. Although it prompts you to react to the ball; the camera is not predictable to it may be more playable without that requirement.

Interesting. Actually the click radius is pretty forgiving (click radius = ball radius + quater screen width), perhaps it should be even bigger.

Personally I find it far too easy, but everyone else seems to think it’s too hard. What do people find the most difficult?

Interesting game. Unfortunately I found it impossible to play on my MacBook. (Using the touchpad)

It’s not so much about difficulty; it doesn’t feel ‘right’. And there are no visual indications so you cannot be too sure whether or not your are actually moving the ball or not; and makes it harder to guage how much power you have given.

Yea I mean layering (I think). In some cases I wanted a snowball to appear behind another, and it other cases I wanted it to appear in front. I found the “layering” to be hard to control although it did change occasionally (but I couldn’t figure out a regular pattern).

Ah I see. The layering at the moment is basically snowballs first then decorations. Within a layer the order is going to be pretty arbitrary (unless you put them at different z-depths, but you can’t do that and have it raised in the air at the moment).

The system tries to be as automatic as possible (eg. choosing of the z depth when you place the first snowball), I don’t really want to start exposing all sorts of awkward layer adjustment controls. I suspect a better solution would be a greater variety of decorations, the snowballs are only intended to convey the general shape and outline rather than internal details.

It turns out that I’m destined to be a huge pain in your ass! I deleted the entire ~/.java/deployment directory to ensure I got the latest version, and…

Running with asserts disabled
Running as webstart build
Attempting to create screen display...
Running windowed
All available modes:
	3200 x 1200 x 24 @50Hz

Couldn't create display:org.lwjgl.LWJGLException: No suitable display modes found.
org.lwjgl.LWJGLException: No suitable display modes found.
	at snowman.AppBase.findSuitableModes(AppBase.java:132)
	at snowman.AppBase.createDisplay(AppBase.java:53)
	at snowman.SnowmanGame.run(SnowmanGame.java:85)
	at snowman.SnowmanGame.main(SnowmanGame.java:32)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1154)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1101)
	at com.sun.javaws.Launcher.continueLaunch(Launcher.java:944)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)

It may be time for my ludicrous screen configuration and I to bow out, Oates style, of testing.

Go on without me, I’m only holding you back… :’(