Not logged inGosu Forums
Forum back to libgosu.org Help Search Register Login
Up Topic Gosu / Gosu Showcase / Wrath: Appease or Die!
1 2 Previous Next  
- - By Spooner Date 2011-02-25 02:09 Edited 2011-07-18 20:28
Started another project, "Wrath!", this one a bit more directly a game than my last effort (and conceivably completable)!

Involving running around as a mad goblin shaman (with a friend, head to head or over the net) and sacrificing sheep. And anything else that isn't nailed down. Absolutely ALPHA, flakey and not at all worth playing (except out of technical interest), but I thought people might be interested and/or have some opinions at this early stage.

Anyway, a orthogonal retro game for 2 players, which is going somewhere, but I'm not sure where (well, it is entertaining, but it is nowhere near being a "game" yet).

Github project: Spooner/wrath
@TIGSource forums

Download v0.1.0 @ Github
* Windows executable [2.5MB]
* OS X 10.6 executable [9.6MB]
* Source only (Linux) [184K]




Earlier development screenshots (for others, see later in the thread):
* Mushroom, mushroom, mushroom, bard! (Few more objects)
* The world isn't a green plastic blob after all (Tiles)
* In the bright light of day (Shadows)
* A goblin priest sporting the latest wooley headgear and his friend wearing the hottest apparel he could find (More creatures and items)
* What are you doing with that poor animal? (Picking stuff up)
Parent - - By Spooner Date 2011-02-25 03:51 Edited 2011-02-27 15:47
jlnr told me how to make nicer shadows, using Image#draw_as_quad, which I think is a goer for the game! The simple line I was using for a shadow was at best sparse. I think they improve the 3-dimensionality, though I'm a bit worried about how they'll look over other things, since they always render behind all objects. Not sure there is a way around that...

I did try longer, lighter shadows first, but they looked a bit too big and not being pure black, they would have overlapped and looked darker if objects were close to each other.

Any opinions?
Parent - - By jlnr (dev) Date 2011-02-25 08:02
I love how the shadows' pixels are skewed :D Kind of meta-retro.

You could add day/night cycles to the game, in case your gameplay would benefit from it, and let the shadows circle around the objects during the day.
Parent - - By Spooner Date 2011-02-25 13:05 Edited 2011-02-25 13:51
Yes, I don't have a lot of problems with meta-retro, since blocky pixels aren't genuinely retro anyway, since they are too well defined with modern computers and screens. I consider retro to just be a style, like Art Deco, rather than anything that is "realistically" nostalgic.

I have considered having more dynamic shadows. One option is to have a big fire in the middle and have them all go out from that or have events, such as explosions or lightning, give extra shadows. I'm certainly interested in making the best use of shadows, but I'm not sure I want to go too far with aesthetics quite yet. Definitely worth changing to these shaped shadows, though, over the simple "placeholder" lines. Thanks again for the tip!
Parent - By RunnerPack Date 2011-02-26 05:04
I love the shadows, too. If you go with the multidirectional shadows, you should also think about using simple lighting for the sprites, i.e. darkening them when the light is "behind" them (and vice versa) and making the intensity fall off with distance.

I would especially love to see the bluish, flickering light of a lightning strike on those retro sprites :D
Parent - By Spooner Date 2011-03-16 01:10
I am still working on this, but not added anything that particularly shows up in screen-shots.

Added a lot of adversarial stuff (e.g. throwing eggs at the other player or making them eat poisonous mushrooms) and vastly improved the networked multi-player. Still a bit ropey, but at a point where there is actual fun to be had, even if balance is a complete mess and a lot of things are not well developed (was playing with ippa earlier, which highlighted a number of issues/crashes that only appear if there is network lag). Still definitely alpha, but starting to be interesting, I think.

In the attachment, you can see one player has been egged (makes you drop what you are carrying and slows) and the other has been busy encouraging chickens to lay a lot of eggs (which makes more chickens, assuming you don't break them over someone else's head first :) ).
Parent - - By Maverick Date 2011-06-29 07:06
I made you that music.

You mentioned you hated chiptunes so I didn't go that route. However, you did say you liked some other style of game-tunes. So I found some sounds that pull-off a Sega Genisis-esque feeling. I also accompanied that with some slight orchestral textures. You didn't want it real-sounding but I felt like it gave it some character so I used them minimally. Also, the piece moves into smaller "themes" or "ideas". At first it sounds a little foreign almost as if to say "you're in older times" since your game is medieval-like. Then it moves into a more-upbeat theme for a bit to lighten the player's over-all mood. Then it moves into a softer and somber state for a little peace and mystery. Then back into the "hey you're playing a game set in later times" kind of attitude. You'll notice these transitions. So tell me what you think and if you'd like to use it. I imagined playing the game as I wrote the tune so I think it would fit well. But it's your game so it's really all up to you. Also, if you want some changes, I can fix them to suit you.

Here we go! "Give Me A Map":
Download Here

Also, the license just states you can use this as long as you post that license (with directions to my site) somewhere for people to see. However, if you want this to go commercial, I'll just send you a document to sign and fax back to me. No charge. This is on the house, bro. :)

Aaand, you said you wanted music when the gods were angry, yes?

Let me know!

- Maverick
Parent - - By Spooner Date 2011-06-29 16:49
Ah, thanks for doing that for me; I wasn't sure if it would come to anything!

The music is nice. It feels like it is very well set in the genre of 16-bit games (without being harsh and chippy). I do feel, however, that I'm embarking on a rather cheerful and heroic quest (it makes me feel I'm starting a Zelda-esque game with a brave knight or wizard; not based on comparison with Zelda music, but on the feeling I immediately get when listening to it). I'm not sure that really fits in with a game that is (supposed to be) fast and furious 5-minute matches, rather than one that is an ongoing exploration through a world (it is maybe a little slow-paced for the style of game?). I'm going to listen to it a bit more before I make a final decision about it, though. Anyone else have any opinions on the tune and its appropriateness to Wrath?

Wrath is certainly not going commercial, but thanks for considering that option. I'm struggling to get people to play it when it is free as it is :D Well, I suspect some of that is the fact that it is still half-finished, but never mind.

My aim, I think, is to make a reasonably sized proper game (rather than the shallow games of Alpha Channel and Hoops), with all the bells and whistles (things like a good solid UI, multi-player and stuff like user key-settings systems), so I can start running on my next project. That is not to say that I'm not taking it seriously, but I think I have to accept that Wrath's popularity will never be commensurate with the effort I've put into it.

I didn't really understand why the OGG version was significantly larger than the MP3 version (5MB vs 4MB), since I expect OGG to be significantly smaller than MP3, at the same quality. When I re-saved your OGG file with Audacity, it was only 1.5MB and still sounded fine (to my uncultured ear). Anyway, small issue - the game will ship with a medium-quality OGG (so about that 1.5MB). I'm not really super-keen to reduce the size, but no point bloating for stuff that won't have an effect on the end-user.
Parent - - By Maverick Date 2011-06-29 18:30
About the new grounds description: If you can write-up a better description, I'll fix that as well. I knew it was inaccurate. But it was just for those curious-minded to go here and find out more.

What do you think of this as "Angry god music" ?:
Download Here

And here's the new in-game loop. I changed the strings to  sharp synth to take away that "relaxing" feeling. Also sped up the tempo to make the players feel rushed for time:
Download Here
Parent - - By Spooner Date 2011-06-30 16:04
I've put both of those into the game, so you can hear them if you download it from github. Hopefully, once I've squashed a couple of bugs, I can get a full release out in a few days.

EDIT: I wasn't really bothered that the description wasn't 100% accurate, but it is important that the game is correctly named: "Wrath: Appease or Die!"
Parent - By Maverick Date 2011-07-02 21:26
I can change that for you. :)
Parent - - By Jwosty Date 2011-10-29 03:31
Wow, just saying that I really like all those tracks. Amazingly good. :D

Also, what do you use to create them?
Parent - - By Maverick Date 2011-10-29 07:03
Garageband, Audacity, and 95% of the time played by me and recorded.
Parent - - By Jwosty Date 2011-10-29 14:08
Ah, okay. Although I have and cherish both, I'm not the best musician when it comes to composing it on GarageBand :P
I'll keep trying though lol
Parent - - By Maverick Date 2011-10-29 14:24
Download pluggins. Unless you really know how to exploit the pre-built sound banks they give you, it'll sound kind of cheap.

And practice practice practice. :D
Parent - By Jwosty Date 2011-10-29 14:29
Okay, thanks for the advice! :)
- By Spooner Date 2011-03-16 15:08
I decided to change the aspect ratio of the game from 4:3 to 16:10 (160x120 to 192x120 in game pixels, though that isn't the size it is shown at, which is now 768x480 when windowed). The reason is simple; it means I can play it full-screen without borders and it adds more space to run about in at the two ends without scrolling (which wouldn't work when playing with two players on one machine) .

I can't see any real problems with this; if you have other than 16:10, then you would get black bands in fullscreen, which is just the same as you'd get if you were playing a 4:3 on a 16:10. My game, so I get it to be optimised for me :)

I am not allowing it to run full-screen yet, because I am mainly testing in windows anyway, but that isn't the point :P
- - By Spooner Date 2011-03-17 18:41
Added a dungeon level and a way to pick level before you start a game. That is lava, not Tango, in case you were worried!
Parent - - By Spooner Date 2011-03-21 23:38 Edited 2011-03-22 02:58
Added a desert island level.
Parent - By Spooner Date 2011-03-23 00:09 Edited 2011-03-23 18:42
More pirates, now on their own ship level!
- By Spooner Date 2011-03-23 18:30
Added some lighting effects for fires and lava. Not entirely happy with the way they work, especially since they don't affect shadows or light up the objects. Still, better than nothing! Anyone have any ideas?
- By Spooner Date 2011-03-25 01:58 Edited 2011-03-25 16:01
Having resurrected Fidgit, I've revamped the GUI in Wrath considerably.
- - By Spooner Date 2011-05-10 12:55
Haven't significantly changed this in a while, but I built v0.0.2alpha release packages, including a Win32 executable.

Just opened a feedback thread at TIGSource for it. Need some fresh ideas to get this going again.
Parent - - By jlnr (dev) Date 2011-05-17 03:09 Edited 2011-05-17 03:40
Some feedback for the WIP Mac wrapper, it needs these steps at least, in pseudo-shell notation ;)


# probably got lost during 7zipping
chmod +x wrath.app/Contents/MacOS/RubyGosu\ App
# Ruby doesn't like rbw, but we don't need the file anyway
rm bin/wrath.rbw
# Makes wrath/foo available for requiring without messing with the load path
mv Resources/lib/wrath/lib/wrath -> Resouces/lib/wrath
# The whole dance with log files is dangerous because the user does not necessarily have write permissions inside the .app
# (I guess it _only_ works for Windows admin users!)
# Also, I totally didn't understand what was going on anyway :)
replace Main.rb: require 'wrath'
in game.rb:
  #require "rubygems"    # Gosu bug, should be a nop, but isn't, the rescue doesn't help
  #require "bundler/setup"
# The gems need to be exploded into lib directly - but the Gosu .app should contain chingu anyway
lib/chingu-xxxx/chingu* -> lib/chingu*
# And now it dies because the .app apparently doesn't have texplay.
# I guess I will have to fix that and the require "rubygems" thing before continuing :)
Parent - - By Spooner Date 2011-05-17 09:22 Edited 2011-05-17 09:41
Thanks for having a poke around!

* Chmod: Seems to lose the +x when I "cp -r" the app, so I manually re-add it now.
* Load path: Probably can just stop doing this and require-relative. Not sure why I was doing it with load-path.
* Log file: Just need to put this outside the .app, surely? This will be very useful for feedback, so I still want to have it being written. Hadn't thought about it going inside the app folder and this being an issue.
* Chingu: in the Gosu App is no good, since I'm using the --pre one anyway. I'll need to delete the one you have in there.

Think this might take some time, so I think I'll try to release a new version today (that works on all 3 platforms, but no executable on OS X).

EDIT: IF you are messing with the wrapper, can we have a boolean constant, Gosu::OSX_EXECUTABLE, so we can know if the game is running inside the app wrapper? This allows me to use code to adapt at run-time, rather than using rake to edit files. Alternatively, since Ocra uses: ENV['OCRA_EXECUTABLE'], which contains the path of the exe being run, that might be a better method? Alternatively, I suppose I could just add such a value manually without any effort (which I just have done).

EDIT2: Hmm, as far as I can tell, I never touch the $LOAD_PATH. Not sure what you meant there.
Parent - By jlnr (dev) Date 2011-05-17 10:00

> * Log file: Just need to put this outside the .app, surely?


Non-admin users can typically only write into their home dir, or the Windows equivalent, where log files might be considered intrusive. But, OS X logs all stdout and stderr of GUI programs in a centralized system log with timestamps automatically, which was why I didn't find your debug output in the first place :)

> * Chingu: in the Gosu App is no good, since I'm using the --pre one anyway. I'll need to delete the one you have in there.


Right, but you need to explode the files into /lib directly. e.g. lib/chingu.rb, not lib/chingusomething/lib/chingu.rb, or you need to move the subdirectories into the LOAD_PATH. Not sure if bundler was supposed to do that, since I commented it out.

> EDIT: IF you are messing with the wrapper, can we have a boolean constant, Gosu::OSX_EXECUTABLE


Oh sure. I will just put that into gosu/run.rb. OSX_EXECUTABLE sounds a bit unintuitive but following Ocra sounds worthwhile too. Aaah decisions!

> EDIT2: Hmm, as far as I can tell, I never touch the $LOAD_PATH. Not sure what you meant there.


Erm, right, I think I was just confused by the directory structure and Chingu's ROOT_DIR :)
- - By Spooner Date 2011-05-14 14:35 Edited 2011-05-14 16:49
Added quite a bit, but I'll wait to release v0.0.3alpha (hopefully, when Chipmunk and Gosu have been updated so it works across the board).

EDIT: I rolled back both gems, so I could get it working cross-platform. I'll use newer versions once they work across the board.
Parent - By Spooner Date 2011-05-17 20:27
- - By jlnr (dev) Date 2011-05-23 21:37
I found the OS X lock-up error I got in Wrath (or Fidgit actually). But first, your log certainly has my wrath again. If you kidnap everything between the first batch of warnings and the final exception from stdout, please puts "please see wrath.log" or something to the old stdout :) I spent another minute wondering why not even my debug markers appeared in the Terminal, no matter how hard I flushed.

Anyway, the error stems from text_area somewhere calling Font::text_width on a new-line character. I guess I should just return 0 but I think I will gain some "fail early" Zen now and just throw an error if the argument contains
or \r. Does that make your (or any) algorithm more complicated? I fear I might break code that worked fine, at least on other platforms. The thing is, Font does not handle new lines for now and maybe I should be clear about it. Thoughts?
Parent - By Spooner Date 2011-05-27 20:15
Ah, nice that you found that one. Failing early is fine by me, as long as it is consistent across platforms (obviously, this doesn't cause me any trouble on Windows, so I don't notice the problem). Hmm, I'm mainly monkey-patching Fidgit within Wrath, when I find problems, but I do need to go back and fix a lot of things in the actual gem (and same with Chingu, for that matter - ahem!). But OK, I'll add a "redirecting output to "wrath.log"" just for you :P

Incidentally, if you can give me a backtrace of when you said the client timed out if it had nothing to connect to, that would be a boon (never seems to time out on Windows).
- - By Spooner Date 2011-05-31 22:29
I'm still beavering along with this one, so here are some new screenshots for you...
Parent - - By Spooner Date 2011-06-01 22:50
Naaaaar! Couldn't help myself making another new level :)
Parent - - By Spooner Date 2011-06-02 00:42
RPack pointed out that helmets + bubbles would make the level look a bit nicer (I also added just the helmets, without bubbles, on the space level). Thanks!
Parent - - By jlnr (dev) Date 2011-06-02 09:15
Just followed up on IRC, BUSTED! RPack's first stacktrace indeed points to Sample#new. Methinks you secretly DO play a sound :P Of course, it should never segfault. Not the first issues you had with sound, sadly. Are these first signs of Audiere indeed sucking? It's all OGG right?

Also, love the shark!
Parent - By Spooner Date 2011-06-02 11:28
RPack claimed that the last thing that had been done was sacrifice of a chicken, which does not play a sound, but a ball of lava hitting the ground does (which was probably happening concurrently).

The sound is an ogg and I've played it 1000s of times during testing with no problems. It is a bfxr .wav converted to ogg with audacity: rock_sacrifice.ogg

Note that I'm still using Gosu 0.7.29, since the later versions don't work with older Linux distribs.
Parent - By Spooner Date 2011-06-02 14:19
Poor-tails!
Parent - By Spooner Date 2011-06-03 16:33 Edited 2011-06-03 16:43
RPack pointed out how terrible the craters on the moon looked, so I redrew them and also create a new one when a meteorite lands.

I also made a nice new god under the sea!
- - By Spooner Date 2011-06-07 15:28 Edited 2011-06-07 15:47
v0.1.0 (2011-06-07)

  * Changed default online player controls to same as player 1. Reset everyone's settings to default.
  * Collects game-play statistics locally (for achievements).
  * Added achievements and unlocks system.
  * Added some more sound effects (but nowhere near enough).
  * Can't pick up creatures that can hurt you, or the other player, unless they are knocked down first.
  * Knocked back when hit by a monster, rather than taking damage-over time (fire still burns slowly, however).
  * Gods love certain sacrifices at any given time, which will net greatly increased favour.
  * Favour of object currently carried is indicated next to favour bars.
  * Can set sound volume and window size in options (sorry, no full-screen mode yet).
  * Added 2 new playable priests.
  * Added creature spawning (how could I not have put it in yet?) and reduced favour value of most objects.
  * Containers, such as chests, spawn items if left empty.
  * Added level under the sea.
  * Added level in a tech facility (AI _are_ gods, aren't they?).
  * Added level in a desert (reused lighting storm disaster effect, though, until unique one created)
  * Added level on a moon with radioactive meteors.
  * Network stats overlay (Ctrl-N).
  * FIXED: Poison/growth status effects are not properly synchronised in network play.
  * Countless other things I forgot to write down.

  Significant issues:
    * Possible to juggle (continually pick up and throw) the other player, so they never get to act.
    * Possible to get killed by being continually hit into a wall.
    * Enemies don't care if they are getting killed in lava, etc.

Download v0.1.0 @ Github
* Windows executable [2.5MB]
* OS X 10.6 executable [9.6MB]
* Source only (Linux) [184K]
Parent - - By bestguigui Date 2011-07-04 11:26
I just love it !

There are some things I don't know how you made them... I guess I'll check the linux source code to figure that out. For example, the way you show keys in controls menu, I wanted to do so but don't know how, assuming I'm not creating a "case id" structure to figure each key out, one at the time.

But the render looks great. You're talking about 2.5D, is this game using OpenGL ?
Parent - - By Spooner Date 2011-07-04 14:00 Edited 2011-07-04 14:19
No, it isn't really 2.5D in that sense (2D sprites in a full 3D world). It is, however, a three dimensional world (x, y, and z dimensions) although everything is just rendered plain 2D graphics with an orthogonal projection (no custom OpenGL). I did try re-making Hoops with true 2.5D, but I got annoyed with Unity/Boo and came back to nice Ruby.

The keys are all symbolically named in Chingu, so I'm using those as strings. Should be clear if you thumb through the source, but if it isn't I'm happy to explain stuff (or fix stuff if people find dumb stuff :D).

Any other questions; don't hesitate to ask here or in the Gosu IRC.

EDIT: Controls handling code
Parent - - By bestguigui Date 2011-07-04 15:32
You're using Chingu, that must be that ! I'm not, so I was really curious about that point. Maybe I should install it and try it out.
Thanks for sharing !
Parent - - By Spooner Date 2011-07-04 15:37
All you really need is the inputs hash tables: https://github.com/ippa/chingu/blob/master/lib/chingu/input.rb
Parent - - By bestguigui Date 2011-07-04 15:41
Yeah ! Perfect ! I'm wondering if that takes care of keyboard type. I'm using a AZERTY keyboard (I'm french), so I wonder if a QWERTY one will work too on the same script.
If Gosu::KbA is pressed, will the table return A or Q, always the same or the good one for each type of keyboard ?
Parent - - By Spooner Date 2011-07-04 15:47
It is no different than the gosu mappings, so no, it won't take into account the keyboard layout. I use i18n throughout Wrath, except in the key names, which should alleviate that problem when I get around to it (assuming you are using the same keyboard layout as language, of course!). If I make a translation file for that, it might save you some effort too (I use r18n, but it should take little effort to work with the i18n gem or manually).

Currently, however, I only have English, Pirate and Leetspeak translations in Wrath (the latter two are unlocked in-game) and unless Wrath is ever successful (I am extremely doubtful), it probably isn't worth translating to other languages. Still, I was glad to set i18n up properly on an optimistic day :D
Parent - - By bestguigui Date 2011-07-04 15:51
If your game does content reasonnable quantity of text, I can help with french translation. We'll see if you need it in a little time ;)
Parent - - By Spooner Date 2011-07-04 15:52
If I ever have more than 10 people who've played it, I may take you up on that. Thanks!
Parent - - By bestguigui Date 2011-07-04 16:04
I was not able to attack using Space button lol
Is that normal ?
Parent - - By Spooner Date 2011-07-04 16:06
You don't attack. That was a a very central design decision. The only way to affect monsters is to pick something up and knock them down by throwing it at them (then you can pick them up and sacrifice them or throw them into lava or throw them at the other player or whatever).
Parent - - By bestguigui Date 2011-07-04 16:12
I tried and even read instructions, I have to say I don't know what I'm supposed to do here :)
Parent - - By Spooner Date 2011-07-04 16:15
Yeah, that is a problem with games which don't act like other games. I know I haven't done a good job at explaining it. I suspect I need to add a tutorial of some kind (even if it is just some screenshots in the instructions page).

Essentially, the god in the top centre asks for sacrifices (shown just to the right of the the god's portrait). Pick those particular creatures up (if they are hostile, you'll need to knock them down before you can pick them up) and sacrifice them at the altar in the middle until you win (or kill the other player).

EDIT: If you want a more interactive discussion, IRC is the place to go :D
Up Topic Gosu / Gosu Showcase / Wrath: Appease or Die!
1 2 Previous Next  

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill