I rule, you rule, we all rule old-school Hyrule day 7 (with a link to the game)

Done!

I’m glad I saved the last day for polish and minor content because I was able to add a bit to just about everything. A few new items, a few changes to worldgen, a help screen, two bugfixes, minor tweaks to rival ai, and more small stuff that I can’t even remember. I was crazy productive. One big change was to start you off with 50% more health and reduce how much fame you earn from most things. This makes the game last a little longer and makes your fame, and how long you live, less vulnerable to your starting position too.

I added a new “dungeon” theme that you can see here in the upper right. I was thinking of adding underground dungeons but decided against it since the overworld is already too big to explore (unless you find a flying magic carpet) so just having one room here or there seemed like a decent comprimise. I would create underground ones if I was creating a bigger roguelike because I think it would be really cool, especially if there were interesting traps, treasures, and bosses. Anyway, these dungeon rooms have a miniboss and a famous treasure in the center so finding them is a high priority. After clearing one out today, I found some spike armor. I swapped it with my snorkel then ran around the world laughing minaiacly while hapless monsters impaled themselves on me. Good times. I still died though – I think huberus is the leading cause of death for my characters.
I ditched a few ideas because they weren’t fun but I think I was able to implement a neat overworld, random monsters, and some fun items.

Here’s a list of the creatures: The player, zoras, armos, 12 rivals, summoned imps, goblins, 8 random monster species, random minibosses.

I guess I went a little overboard on the items: hearts, heart containers, 1 rupee, 5 rupees, 50 rupees, mutation ring, magic wand, bag of imps, dark cloak, ring of evasion, jumping boots, random artifacts that are worth fame, evasion potion, magic carpet, spellbook of 3 spells, rupee amulet, rupee machine, ring of regeneration, first aid kit, snorkel, bombs, bow, specticales, a large shield, heavy armor, spiked armor, long staff, spear, sword, club, knife. Most of those have passive ability and an active ability, but some don’t.

It’s up and running on my blog where you can play it from your browser or download it and run it localy.

Total hours: 42

29 thoughts on “I rule, you rule, we all rule old-school Hyrule day 7 (with a link to the game)

  1. It’s not running in the browser for me, I’m getting:

    java.lang.reflect.InvocationTargetException
    at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)
    at asciiPanel.AsciiPanel.loadGlyphs(AsciiPanel.java:329)
    at asciiPanel.AsciiPanel.(AsciiPanel.java:284)
    at asciiPanel.AsciiPanel.(AsciiPanel.java:250)
    at iryrwarosh.AppletMain.(AppletMain.java:17)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(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)
    Exception: java.lang.reflect.InvocationTargetException

  2. It does not work. I get an error saying “Failed to load Main-Class manifest attribute”. After some googling and searching in the jar for the main class, I’ve tried adding the line Main-Class: ApplicationMain
    to the manifest file, but then it just says “Could not find the main class: ApplicationMain.” I’ve also tried iryrwarosh.ApplicationMain as the class, without success. jars are one of my biggest java weakpoints, so I’m probably doing something wrong.

  3. I just re-uploaded the main jar as a self-executable with all of it’s dependencies. If you try it through the brower (you may need to clear your cache and restart your browser) or download the iryrwarosh jar, it should work. I tried it on my Mac OSX and Windows 7. If it doesn’t work, let me know what error you get. If it does work, let me know what you think of it!

  4. I really like your game, Trystan. Trying all the different items you can start with was fun.

    I keep getting my ass handed to me though! Those AI players really make every move count compared to me!

  5. I’m quite happy with the ai. Even though it’s the best I’ve come up with, it’s pretty simple: go to the nearest interesting thing (heart, rupee, treasure) that you can see and stay away from other creatures unless you think you can defeat it. Randomly assign 1% of the map to be interesting and you end up with a rival that runs around trying to get all the items and see as much as possible. Since you earn fame for each new part of the world you enter, they earn fame at a decent rate. There’s a few other details (like always attack an adjacent creature with “aggressive” in it’s description), but it’s a pretty simple ai. It usually does better than I do too and they don’t even use the items’ active abilities.

  6. Woo, I’m the new ruler of old-school Hyrule!

    I was about to crash a dungeon, and all the sudden the item disappears, and I get a message saying Mr X grabbed a historic item. I guess he was camouflaged, because he was only visible when I was close to him. I managed to chase him into a room with one exit and kill him, which put me over the fame limit.

    A few little interface complaints. Being near the bottom of the screen means all the messages will block my view; they should probably be put near the top if I’m at the bottom. Also, the cursor for looking around appears in the center of the screen, not where my character is.

    It was a lot easier when I didn’t just kill everything in sight, because that costs a lot of hearts. Plus spamming free sword projectiles is nice. It doesn’t seem like there’s enough rupees to get for most of the abilities to be worth the cost. The game also doesn’t really last long enough to find lots of cool stuff. Also, do all the other characters have regeneration? Whenever I’ve examined them, regeneration is always listed.

  7. Congrats Matt_S! That sounds like a fun ending. I think Mr X starts with a dark cloak, which makes the wearer camouflaged and has a pretty cool special ability too.

    I like the idea of moving the messages to the top – I’ll have to add that to the bugfix version.

    I agree that I need to lower how much fame you get from doing things. It should at least be long enough to explore most of the world. If you can find them then the rupee machine and rupee amulet may help with not having enough rupees.

    All the rivals do have regeneration. I meant to remove that once I got their ai to work but I guess I missed that part. I’ll add that to the fix-it list too.

  8. I managed to win again. I got an early kill on one of the characters and just worked my way up from there.

    I’ve tested out some of the items, and here’s my thoughts.

    Sword: Generally my weapon of choice for projectile spam. I can spam sword beams into dungeon rooms and the monster guarding the room won’t be able to do anything about it.
    Club: It’s a good way to kill other characters, with the constant knockback. Somehow it seems a little underwhelming though.
    Knife: The poison effect doesn’t last nearly long enough. I was fighting a character and tried to poison him, but he was so fidgety that it took several poisonings before I could even get an attack off.
    Spear: Nice, I guess. I wouldn’t get it for the throwing though, since the sword beams are free. The spear does allow for continuous spam, but you’ll probably miss more often than not.
    Long staff: The parrying seems really nice. Probably my second favorite weapon.
    Large shield: Meh, projectiles are easy enough to avoid. Scaring monsters is a little nice, but I don’t think it’s worth it.
    Snorkel: Great second item. If I don’t have it, I always regret it. Moving underwater is a little bit wonkey: it works with the arrow keys, but it doesn’t work with the numpad unless numlock is off. There’s also the same problem with jump boots.
    Bow: I don’t think I’d take this as a second item, but I tried it as a primary weapon one time and it wasn’t too bad, excepting the relative helplessness in melee. It would be nice if arrows moved faster, because it’s really hard to hit anything.
    First aid kit: Well, it’s good in principle, but I think I prefer heavy armor.
    Spectacles: I haven’t had any real problem with camouflaged enemies. It would be nice if the active ability showed the other characters’ locations.
    Spellbook: I took this one time, but I saw how expensive the spells were and never actually used any of them.
    Jumping boots: They have the same problem as the snorkel where you can’t jump with the numpad. They also seem to cost a lot of rupees for an ability that isn’t that great to begin with.
    Heavy armor: My second item of choice. It’s a tough choice between this and the snorkel, but I like the survivability this gives. I’m not actually sure how much it helps, but it seems nice :) plus both my wins were with this as a secondary item.

    Enemies have a bad habit being hidden by projectiles :/ I have to make a choice about which end of the projectile they’re in, and if I get it wrong I walk into the projectile. I’ve often encountered wide open areas filled with a ton of monsters, including several large ones. That might be intentional, but man that’s a lot of monsters.

    In my opinion, the two item limit is a bit too strict. One time I found a rupee machine, but then I had to dump either my weapon or the second item that would make good use of the rupees.

    1. A spot-on review Matt_S. Some of the items are more useful than others and there are too few rupees. If I create a larger and better version I will spend more time balancing the items. And add dungeons. And make the game longer. And have better monsters. And smarter rivals.

      The wide open area is probably the desert. It looks a little different than other themes, shows up on the map, and is just a 2×2 area. Since all themes get the same number of monsters, the desert ends up being very crowded – which explains the odd situation of having the desert be the most crowded place in the world.

  9. I would really love to play this, the browser version crashes my plugin, and locally it gives a “main class not found” exception.

    I’ts likely my java-jre, would anybody know how I can fix this? I’m on Linux using the sun-java6-jre package.

    java iryrwarosh.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: iryrwarosh/jar
    Caused by: java.lang.ClassNotFoundException: iryrwarosh.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    Could not find the main class: iryrwarosh.jar. Program will exit.

  10. The game seems really cool. Any way to make it run fullscreen?

    I downloaded the jar and am playing on win xp.

    The screen is very small and runs a little laggy unfortunately. A read me file would be nice too.

    I really like the idea of the game and the making small interesting locations like Zelda.

  11. It hanged. Here is part of stack trace of suspicious thread:

    at java.util.Random.next(Random.java:139)
    at java.util.Random.nextDouble(Random.java:394)
    at java.lang.Math.random(Math.java:695)
    at iryrwarosh.Creature.unhide(Creature.java:395)
    at iryrwarosh.Creature.update(Creature.java:363)
    at iryrwarosh.Factory$7.update(Factory.java:400)
    at iryrwarosh.World.update(World.java:87)
    at iryrwarosh.screens.PlayScreen.respondToUserInput(PlayScreen.java:318)

  12. There’s a typo in the help (?):
    In the “WHAT CAN I DO ABOUT IT?” section,
    “Don’t forget about evasion eigher.”

    Now I’m off to try it out! ;)

        1. Actually, the people of IRYRWAROSH prefer to call them “bests” instead of “beasts”. Either that or I’m to lazy to fix it. That’s the ethereal nature of a 7DRL.

          But thanks for playing! I’ve already got a TON of ideas for 2013, but if you find anything you really like or dislike about iryrwarosh, please post it on this blog; I’d really like to hear it.

    1. Oops, reported that wrong.

      When num-lock is on, pressing any numpad key exits look mode (although I can walk around fine in all directions). When num-lock is off, only the orthogonal keys work. YUBN keys work fine though.

      1. I’ve only got a laptop so some of the fancy desktop features (like numpad) weren’t tested at all. That’s definitely something I’ll take into consideration in the future. Thanks for letting me know and thanks for trying IRYRWAROSH.

        Do you have a blog or public link? I’d like to see what you think of the 2012 7DRLs.

Leave a Reply