This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Calculator Programming subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. General Coding and Design => Calculator Programming
Author Message
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 15 Nov 2005 03:56:27 pm    Post subject:

what do you think.....and dont insult my tile graphics, Im just using those to test the scrolling before I seriously get to work.
Back to top
Brazucs
I have no idea what my avatar is.


Super Elite (Last Title)


Joined: 31 Mar 2004
Posts: 3349

Posted: 15 Nov 2005 03:58:56 pm    Post subject:

Your tile graphics look like Richard Simmons! </joke>

Lol.... no really, it seems nice. No chartacters yet, right?
Do you have a download to it anywhere?
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 15 Nov 2005 04:04:27 pm    Post subject:

right. I'll post a link to it. Right now, it randomly generates a map, displays a splash screen, and a little pop-up box when you click on the map. It also lets you scroll

compiled for Java 1.4
Back to top
JoeImp
Enlightened


Active Member


Joined: 24 May 2003
Posts: 747

Posted: 15 Nov 2005 04:46:06 pm    Post subject:

How exactly am I supposed to run it? I get errors.

Source code or do I have to decompile it?
Back to top
axcho


Active Member


Joined: 09 Nov 2004
Posts: 555

Posted: 15 Nov 2005 05:11:08 pm    Post subject:

How do you randomly generate the map?
Back to top
JoeImp
Enlightened


Active Member


Joined: 24 May 2003
Posts: 747

Posted: 15 Nov 2005 05:34:36 pm    Post subject:

Actually, nevermind about my errors. I forgot that the java sdk install on this comp is still b0rked. Need to fix that sometime.
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 15 Nov 2005 07:57:29 pm    Post subject:

axcho wrote:
How do you randomly generate the map?
[post="61499"]<{POST_SNAPBACK}>[/post]


here is the routine. I found it in a demo program on google, and Im using it until I design a good map....its a pretty cool routine.


Code:
   void makeMap()
   {
  // Our world is made of volcanic islands which
  // start out as a single very tall volcano, and
  // are then eroded for a while. We then decide
  // what terrain goes where based on the altitude
  // of each square.
  // The number of squares that are filled so far
  int full = 0;
  map = new int[height][width];
  int altitude[][] = new int[height][width];
  int newAltitude[][] = new int[height][width];
  int x, y;
  // In the beginning, geek made the ocean.
  for (y = 0; (y < height); y++) {
     for (x = 0; (x < width); x++) {
    map[y][x] = ocean;
    altitude[y][x] = 0;
     }
  }
  // Then geek made some big volcanoes!
  int seedsTotal = 4;
  int seed;
  for (seed = 0; (seed < seedsTotal); seed++) {
     // Pick reasonable locations.
     x = randomBetween(2, width - 2);
     y = randomBetween(2, height - 2);
     // Plug them into the map.
     map[y][x] = mountain;
     // One hundred somethingummies tall
     altitude[y][x] = 100;
     // This square is now full
     full++;
  }

     // Then geek simulated many millenia of erosion,
  // spreading the wealth out among adjacent squares.
  // Sort of: we don't really lower the original squares.
  //
  // Don't not let the altitude drop to zero;
  // carefully increment full as each hex is
  // filled. At 80% full or so, or after 100 passes,
  // call it quits.

  int acceptable = (width * height) * 8 / 10;
  int passes = 0;

  while ((full < acceptable) && (passes < 100)) {
     for (y = 0; (y < height); y++) {
    for (x = 0; (x < width); x++) {
       // Start determining the new
       // altitude for this cell.
       newAltitude[y][x] = altitude[y][x];
       if (altitude[y][x] == 0) {
      // Look at the neighbors
      // and determine how high
      // this square ought to be.
      if (fillNewCell(
         altitude,
         newAltitude,
         y, x))
      {
         full++;
      }
       }
    }
     }
     // Set the new altitudes for the next pass.
     for (y = 0; (y < height); y++) {
    for (x = 0; (x < width); x++) {
       altitude[y][x] = newAltitude[y][x];
    }
     }
     passes++;
  }
   }
   // Figure out what to do with one cell.
   // Returns true if the cell was given
   // an altitude above zero on this pass.
   boolean fillNewCell(
  int[][] altitude,
  int[][] newAltitude,
  int y, int x)
   {
  int totalAltitude = 0;
  int fullNeighbors = 0;
  int subx, suby;
  totalAltitude = 0;
  for (suby = (-1); (suby <= 1); suby++) {
     for (subx = (-1); (subx <= 1); subx++) {
    int mapy, mapx;
    mapy = y + suby;
    mapx = x + subx;
    if (legal(mapy, mapx)) {
       int a = altitude[mapy][mapx];
       if (a > 0) {
      totalAltitude += a;
      fullNeighbors++;
       }
    }
     }
  }
  if (totalAltitude > 0) {
     newAltitude[y][x] =
    (totalAltitude / fullNeighbors) -
       randomBetween(0, 20);
     // Determine the terrain.
     // This is done based on the
     // altitude, with a small random bias.
     int placement = newAltitude[y][x]
    + randomBetween(-10, 10);
     if (placement > 90) {
    map[y][x] = mountain;
     } else if (placement > 70) {
    map[y][x] = hill;
     } else if (placement > 50) {
    map[y][x] = desert;
     } else if (placement > 30) {
    map[y][x] = forest;
     } else if (placement > 10) {
    map[y][x] = plain;
     } else if (placement > 0) {
    map[y][x] = swamp;
     } else {
    map[y][x] = ocean;
     }
     return true;
  } else {
     return false;
  }
   }
   // A random integer between these two (inclusive)
   int randomBetween(int low, int high)
   {
  int value = (int) (Math.random() * (high - low + 1) + low);
  // Just in case "any value between 0.00 and 1.00" actually
  // turns out to be 1.00, which isn't very likely...
  if (value == high + 1) {
     value = high;
  }
  return value;
   }
   // Is this location within the map?
   boolean legal(int y, int x)
   {
  if ((x < 0) || (x >= width)) {
     return false;
  }
  if ((y < 0) || (y >= height)) {
     return false;
  }
  return true;
   }
}



to run navigate to proper directory and

Code:
java RPGame
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 16 Nov 2005 05:35:33 pm    Post subject:

two charcter sprites. whaddya think:

[attachment=351:attachment]

[attachment=352:attachment]
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 16 Nov 2005 06:22:54 pm    Post subject:

pretty good, but is the helmet necessary?
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 16 Nov 2005 06:26:51 pm    Post subject:

thanks. yeah I want the helmet foor what I have in mind. here are the side views


[attachment=353:attachment]
Back to top
Arcane Wizard
`semi-hippie`


Super Elite (Last Title)


Joined: 02 Jun 2003
Posts: 8993

Posted: 16 Nov 2005 07:29:24 pm    Post subject:

elfprince13 wrote:
two charcter sprites. whaddya think:

[attachment=351:attachment]

[attachment=352:attachment]
[post="61620"]<{POST_SNAPBACK}>[/post]

Lighting
The light source is the same in both sprites, this is good. Have yourself a pixel cookie.

It's not too bright or too dark either. Have another pixel cookie.

The contrast isn't too high or low either. And another pixel cookie.

Colour
I don't know what the hardware limits are on the target platform(s) for this game, but you are using a very low amount of colours. If you used more you could apply more realistic shading and well.. more realistic colours overall. (human flesh is pink?) If this is intentional, all the more power to you. Half a pixel cookie.

Form
I don't like the 45 degrees perfectly straight lines. Natural, living things have a lot of curves in them. You show some good potential with the pants, hands and boots. But chainmail, shoulders, arms, and faces deserve to be curfed as well. Half a pixel cookie.

The chainmail flows into his pants/belt so much that it looks like he has no body/torso to speak of. Use some more vertical pixels before moving to the sides for the shoulders. You showed potential here, so half a pixel cookie.

Stance
He could use a more lively stance because people must feel happy when they see him. After all, they are him. They shouldn't be demotivated by a bored or one dimensional character. (knight walk, knight smash, knight eat, knight sleep, repeat) Although it might be funny if this is intentional and is reflected in the other animations and perhaps plot or character background. You get a pixel cookie if you use this to be funny, otherwise, I'm getting hungry.

His sword is pointing down/horizontal when looking from behind but up when looking from in front of the character.

I haven't studied medieval shield use, but I'd either hold my shield in front of my body (when in combat) or next to my body with my arm stretched (when not in combat). Either give me a pixel cookie or give him an awesome biceps.


The side sprites
Moves his legs one pixel forwards and erase the most backwards vertical line of his helmet, it's sticking out too much.

His sword is rather short.

In accordance with the other sprites, his shield should be half in front of his body, thus visible when looking from the right side of the character, and the chainmail couldn't be sticking out in front of the shield when looking from the left of the character.


Last edited by Guest on 16 Nov 2005 07:30:44 pm; edited 1 time in total
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 17 Nov 2005 08:43:41 am    Post subject:

thanks. The low color usage is intentional.....the shield is simply because this is my first attempt at people sprites....
Back to top
axcho


Active Member


Joined: 09 Nov 2004
Posts: 555

Posted: 17 Nov 2005 05:11:21 pm    Post subject:

Thanks for posting the map generation algorithm. It should be useful for some games, though not for the RPG I'm designing right now.
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 17 Nov 2005 07:07:53 pm    Post subject:

here is a new version of it, same directions, but now the arrow keys allow you to move. also a couple of different tiles
Back to top
leofox
INF student


Super Elite (Last Title)


Joined: 11 Apr 2004
Posts: 3562

Posted: 18 Nov 2005 05:56:03 am    Post subject:

zip corrupted
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 18 Nov 2005 09:36:47 am    Post subject:

No its not, thats just junk from my OS, because zip files dont properly handle Mac resource forks
Back to top
AlienCC
Creative Receptacle!


Know-It-All


Joined: 24 May 2003
Posts: 1927

Posted: 19 Nov 2005 03:58:10 am    Post subject:

I am so lost on this Mac, I haven't been this confused for a very long time when sitting in front of a computer.

--AlienCC
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 19 Nov 2005 08:55:07 am    Post subject:

Classic or OS X? :)

anyway, here is a new screenshot of this
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 19 Nov 2005 05:45:41 pm    Post subject:

this actually looks really fun. Is this your first Java game?
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 19 Nov 2005 07:46:22 pm    Post subject:

No, I created several mods of SlimeVolleyball, and a wrote a Scorched Earth-type game
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page 1, 2, 3  Next
» View previous topic :: View next topic  
Page 1 of 3 » All times are UTC - 5 Hours

 

Advertisement