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 Your Projects 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. Project Ideas/Start New Projects => Your Projects
Author Message
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 04 Aug 2008 03:09:16 pm    Post subject:

TylerMcL wrote:
I suck at pixel art Razz [post="125733"]<{POST_SNAPBACK}>[/post]


lies, lies, they're all lies :ninja:

but seriously, they do look great Laughing

good luck with the game.
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 04 Aug 2008 05:31:30 pm    Post subject:

those sprites are fine. like cjgone said, you should start working on your engine and use placeholders for now.
Back to top
TylerMcL


Member


Joined: 28 May 2008
Posts: 148

Posted: 05 Aug 2008 03:42:40 pm    Post subject:

ooooo, ok... I'll start working on the movement engine Razz I've got the rest of the week off from work, and I'm stuck in northern michigan at my cabin. So I suppose this week would be a wonderful time to start working on my map movement engine. I'm hoping that it really won't take that long... :/

I'm not exactly sure how this whole tile map procedures work, but I was thinking creatively, considering that my sprite sizes are irregular and won't evenly fit onto the screen:

Maybe something like a small "buffer" in each direction, and then somehow using the method of filling in the last bytes at the end of the screen. The buffer idea would prevent me from having to literately having to "crop" the sprites. All I'd have to do is specify the screen area, and then copy it to the LCD driver? We'll see... I'm certain that there's a more efficient way of doing all of this -- even if it is with 8x12 sprites :P

And if I have enough "spare" clock cycles in my engine, I might consider incorporating some type of real-clock to keep track how long you've been playing the game. I might just worry about this one in the sequels, and worry about perfecting the movement engine for now.

I'd hate to copy the entire screen each time, so tell me that it's not that difficult to create an engine that uses the method of filling in the last bits for the end bytes 8)

EDIT:

By the way, what does "CTI" and "atm"(not to be mistaken for ATM machine?) mean? I'm not completely sure, but I think that a few posts back people referred to me as these two? Anyone want to fill me in? Razz (This is the first web forum site I've ever taken part of :/)


Last edited by Guest on 05 Aug 2008 04:36:53 pm; edited 1 time in total
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 05 Aug 2008 05:22:13 pm    Post subject:

Quote:
I'd hate to copy the entire screen each time, so tell me that it's not that difficult to create an engine that uses the method of filling in the last bits for the end bytes


I did the pixel end filling on my Blobby thingy. It's ALOT easier just to copy the tile map in each time with an x,y cor for the top of the screen.

To get far in a project, you need to understand object layering.

The idea goes as this with object orientation in mind:
-----
->Copy the tile map buffer (not the same buffer as whats on the LCD) to the LCD, this clears the screen for you since you overwrite whats on the LCD
-> Copy the main character, anything improtant such as lives, etc
->copy MOVEABLE objects to the screen
-> Repeat

Code:
main:
Call Draw_TileMaptobuffer1  //how it should be done
Call CopyBuffer1toLCD
Call DrawCharacter
Call DrawHealth
Call DrawObjects
Call UpdateLCD  
jr main

--------

In object oriented coding, you do not have to manually delete things off the screen because it is alread done every time you update the screen.

If you treated PlotScreen as the buffer, you would have to do something like:

Code:
Call DrawTileMaptoLCD
main:
Call DrawCharacter   //bad way 'cuz the background is a bitmap
Call DrawLives
Call DrawObjects
Call UpdateLCD
Call DeleteCharacter
Call DeleteLives
Call DeleteObjects
jp main


When you update the screen EVERYTIME around, it automatically updates the screen if you move left and right using the first method. EVERYTHING is an object, not a bitmap that must be modified specifically.

Understanding object to bitmap is extremely important.


Last edited by Guest on 05 Aug 2008 05:23:37 pm; edited 1 time in total
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 05 Aug 2008 05:31:51 pm    Post subject:

drawing the map and drawing your sprite are totally separate things. they don't have to rely on each other.

you draw the map w/ a tilemap routine. that routine just needs a camera view. you may choose to have this camera view based on the current location or the person, or make it fixed to certain tiles. then you draw the sprite on top based on the sprite's position. both the tilemapper and the sprite drawing routine should not ask questions about whether it's in the right place. hit detection should occur about when you handle input. your model (how you choose to represent the maps and world w/ data) affects how this is done. you can simply choose a portion of the sprite (usually the top) that is ignored for hit detection and just use the bottom 8 pixels. Or if you want to do the whole 12, you'll have to do more math.

if you stick to black and white, 6mhz is more than enough for all your rpg needs. look at Zelda, he basically has a push/pop af, bc, hl, de everywhere and it still works fast. in fact if you start experimenting now, you'll often find that it's too fast in some places.

and even though copying to the LCD takes a lot of clocks all the time, it's really insignificant sometimes. I think you're worrying too much about speed, unless i'm missing something and you want to do a Crisis Core remake lol.

the timer's probably no big deal. you'll probably need to set one up anyways to create your vblank (essentially standard rate of refresh) While you're at it, you can probably use several bytes to hold time.

edit:
cjgone: your tilemapper should basically clear the screen. there's no need to delete lives, characters, and objects since they get overwritten by the new (usually shifted over) map view. but this also depends on which type of mapper you use.


Last edited by Guest on 05 Aug 2008 05:41:02 pm; edited 1 time in total
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 05 Aug 2008 05:40:34 pm    Post subject:

The tile map and the main character is easy stuff into you get to the moveable objects.. There are a lot of tile map routines online I think.

What I mean, that the tile map is quite stationary. The tiles are every 'z' pixels, so it would be pretty ugly moving tiles around.

You need to know about structures to handle objects that can walk around, etc.


Last edited by Guest on 05 Aug 2008 05:40:55 pm; edited 1 time in total
Back to top
Art_of_camelot


Member


Joined: 05 Jan 2008
Posts: 152

Posted: 06 Aug 2008 06:56:01 pm    Post subject:

Dunno about CTI, but atm stands for At The Moment. Also, your world sprites arent that bad, and the battle sprite looks good (reminds me of a modded fighter from FF1).
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 06 Aug 2008 07:18:41 pm    Post subject:

It was "CDI," and a case of mistaken identity: he was another programmer who once worked on a project that had "Theta" in its title. Those were CDI and Theta Fourteen, respectively.

When you said...
Quote:
Yes, I am the creator of the long-lost game, Final Fantasy Theta.
...that made it sound like the revival of one of our long-lost members! Smile

Last edited by Guest on 06 Aug 2008 07:24:28 pm; edited 1 time in total
Back to top
TylerMcL


Member


Joined: 28 May 2008
Posts: 148

Posted: 07 Aug 2008 10:52:01 am    Post subject:

Wow, two days away, and I've gotten all this help! Wow-zers! Thank you to everyone for the tilemap help! Honestly I never thought of doing the hit detection as only the bottom 8 pixels Very Happy (wow, what was i thinking??) lol. That wasn't sarcasm, that was serious Razz

And I do apologize about the confusion of the previous member... I am sorry to inform that I have no idea who he was/is, therefore, implying it is not I that they were referring to :P

And the battle sprite is indeed a moded version of the main character from FF1 Razz I'm not the most creative artist, but I'm considering re-drawing the sprite somewhere down the road and completely re-doing the character. We'll see...

And I am sorry to announce that I am having technical problems with my laptop. Vista does not feel like functioning for me, and now I have to re-format and re-install windows to be able to use it again. I said screw it, and decided that I am going to attempt to use linux for a little while (once I can gain access to a computer that has a CD burner). I am not]/I], under any circumstances, going to format my harddrive and erase my entire project. Worse-case, I figured that I'd just back-up my files and [I]then re-install windows in necessary. I still have to call in for my vista CD that didn't ship with my computer :P

And before I go, I must agree on that the method of filling in the end bytes is the best. I don't think that I'm going to have anything more on the map than the map sprites themselves and the player sprite. I figured I'd go classic with the final fantasy userface and create a separate screen for the menus. (HP, status, equip, magic, save, ect.)
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 07 Aug 2008 05:05:27 pm    Post subject:

you could always use WINE to run all your ASM needs. or build them from source if possible.
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 07 Aug 2008 06:03:34 pm    Post subject:

Draw the tilemap in squares, and forget about filling in the end pixels.


You'll have suffecient speed.


Last edited by Guest on 07 Aug 2008 06:03:49 pm; edited 1 time in total
Back to top
TylerMcL


Member


Joined: 28 May 2008
Posts: 148

Posted: 08 Aug 2008 09:25:26 am    Post subject:

Well the reason of why I'm trying to perfect the tilemap movement is because although I will most likely not be using the extra speed in this game, in my sequels (if the first one is good enough to continue off of) I may want to add other features without having to re-do/optimize the map engine.

For example, I spoke of having another character always trailing behind (such as Pikachu in the old pokemon yellow). This would not require that much extra clock cycles, however the planned additions may result in a butchered engine. So that is why I've been so meticulous with the tilemap engine. It may just be a waste of time -- but it's still challenging/fun for me! Razz :D

On a lighter note: I was able to fix my laptop the other day with no problems. My files are still all intact. So this is what that means: Back to work for me! I'm really hoping to be able to really start and try to bust out the movement engine in the next few days. :D

By the way, is there any links or suggestions for Sprites that could be provided? I know I probably won't need them for a little while longer, but I figured it might take a little while for anyone to reply with any links. I really don't care what size they are, or even if they're for the calculator. As long as they're cool and they make me happy Very Happy
Back to top
DigiTan
Unregistered HyperCam 2


Super Elite (Last Title)


Joined: 10 Nov 2003
Posts: 4468

Posted: 08 Aug 2008 11:17:18 am    Post subject:

Definately make a few backups of the game often. Maybe not every day or week, but enough to avoid a serious setback.
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 08 Aug 2008 03:18:59 pm    Post subject:

With pixel fill in, you can't update picture changes because the tile map is essentially a bitmap.

You cannot animate pictures and you cannot change them which removes such interactions without using external objects.


Just redraw the screen everytime in squares. That's a lot less routines needed and the speed will be fine.


If you know some C, this is generally the tile method which is way better (just wrote this yesterday Very Happy)

For efficiency, draw the border with a clip sprite and everthing not on the border with normal putsprite

Code:
void Draw_Tile_Map(void)
{
   temp_x = xcor >> 3;
   temp_y = ycor >> 3; //find tile, divide by 8
   temp_x_offset = xcor & 7; //and 07
   temp_y_offset = ycor & 7;
   
   for ( counterA = 0; counterA < 8; counterA++)
   {
  for ( counterB = 0; counterB < 12; counterB++)
  {
     tempC = counterB * 8 - temp_x_offset;
     tempD = counterA * 8 - temp_y_offset;
     tempA = TileMap[ (temp_y * TILEWIDTH) + temp_x + counterB];
     PutSprite8Clip(); // TempC = xcor, TempD = ycor, tempA = What tile
  }
  temp_y++;
   }
}


Last edited by Guest on 08 Aug 2008 03:57:23 pm; edited 1 time in total
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 08 Aug 2008 04:08:01 pm    Post subject:

glad to hear your laptop is fixed :)

you are clearly underestimating the power of 6mhz. also, this isn't an action rpg like digitan's is it? then you should be fine if encounters happen on a separate battle screen.
Back to top
TylerMcL


Member


Joined: 28 May 2008
Posts: 148

Posted: 09 Aug 2008 10:45:30 am    Post subject:

It's going to be like the original FF RPG's that load to a different battle screen for the battle sequences. I was just going to draw in separate sprites for any animations. It's really no big deal, since they're most likely going to use the same engine that the user sprite uses.

I actually started the tile-mapper last night. I kinda planned out what I'm going to do and got some ideas down. Since this is my first ASM program, it just took a little while to firmly obtain an understanding of how I am to go about with keeping the main sprite centered, yet allow it to be off-centered in places like buildings and by the sides of the map :D

I have all the user sprites typed in, along with the proper masks. Very Happy

Now I just need to keep working on the sprite routine. I'm obviously going to use a "AND" method of displaying them, I just need to make a custom form of keeping track of position (because that's how I most understand it -- when I personally create all of it! Smile )
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 09 Aug 2008 01:58:13 pm    Post subject:

Your character's locations is displayed at the coordinates:

xcor - left_border_xcor, ycor - left_border_ycor


So if the left side of the screen is 0,0 for the tilemap and you're at 44,28 (center)
character will be drawn at 44-0,28-0 = 44,28. If the left side is at 10,0 for the tile map (tile map shifted 10 pixels) then you're character will be drawn at 44-10,28-0 = 34,28....

If that makes any sense. Your characters position on the screen is relative to its position on the tile map. Just if you're interested.


Last edited by Guest on 09 Aug 2008 02:06:00 pm; edited 1 time in total
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 09 Aug 2008 05:36:16 pm    Post subject:

TylerMcL wrote:
It's going to be like the original FF RPG's that load to a different battle screen for the battle sequences. I was just going to draw in separate sprites for any animations. It's really no big deal, since they're most likely going to use the same engine that the user sprite uses.


ya, more than enough cpu power even in gs.

good to hear you're making progress.
Back to top
asdf


Advanced Newbie


Joined: 17 Aug 2008
Posts: 73

Posted: 18 Aug 2008 10:17:53 pm    Post subject:

How did your work on the tilemapper go? If you've got any questions, ask!
Back to top
TylerMcL


Member


Joined: 28 May 2008
Posts: 148

Posted: 18 Aug 2008 11:43:48 pm    Post subject:

truth be told... Not too swell Sad I'm having trouble with what should be the easiest part :(

I haven't really had that much time to mess with it lately either... I've put in over 55+ hours at work last week, and I haven't seen the girlfriend yet either :/

What I'm in the progress of doing is just designing the tilemap to notice if the corner bytes are 0000 0000 or not. This is going to signify if the player's movement will deviate from the center or not, and ultimately determine if the screen should be shifted or not. This will hopefully get rid of the giant hastle of having to keep track of a x and y coordinate. I hate the x and y method on a tilemap because if you design events based on these coordinates, it makes it almost impossible to make any changes later, and also even a larger pain to code.

Oh, and one other time consumption of mine:

I've been looking for a car, and I think I'm going to buy a 2002 Grand Am SE with 57,000 miles on it tomorrow for $4,650. Very Happy Hard work pays off!

So I promise to put some more time into it by the end of this week

And one final note:

The majority of this project is really going to start once i get back in school (September 2). Like I said, I'm re-taking the same Math course, so I'll have a solid hour a day to work on it. And let's not forget about the Informational Technology course that I took that is 2 hours long where I actually get to get a grade learning and making sub-programs for my game! Very Happy Talk about shweet! (I was thinking of adding, in the second one, an arcade not unlike the FF7 one! Very Happy

I have not gone all this time without thinking of more ideas for the game. Not gonna lie, but I did not have any type of plot until recently. So here it is, in a really crappy nutshell:

The time is before Sephiroth is created. Shinra is experimenting with creating the perfect SOLDIER. The head scientist at the time is Hojo's rival, Professor Hollander. They thought they had it right with this one, until the test subject turned to the age of 6 and they put him through the official Shinra testing. Unfortunately for them, he could not use materia (FF version of majic and summoning). He is adopted by a family in the slums who eventually move out to the country while the Player is 10 or 12. He is made fun of, yada-yada-yada. He gets upset, Creates an enormous sword. (Yes, he is to be the father of Angeal Hewley from Final Fantasy VII: Crisis Core).

This is where the game starts to get interesting, so I cannot give out too much. Razz I'll give a hint though. The first game ends with something to do with black materia. :D

And don't worry, even if you've never played any of the final fantasy series, it's still going to be an amazing game for everyone. Very Happy
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 Previous  1, 2, 3, 4, 5, 6  Next
» View previous topic :: View next topic  
Page 2 of 6 » All times are UTC - 5 Hours

 

Advertisement