gfxgfxFreeBASIC Games Directory Forumgfxgfx
gfx gfx
gfx
Welcome, Guest. Please login or register. July 22, 2018, 04:04:17 PM

Login with username, password and session length
14.09.2014 - Check the results of our latest game dev competition here: http://games.freebasic.net/forum/index.php?topic=606.0
gfx
gfx
*
gfxgfx
gfxgfx gfxgfx
gfxgfx Home Help Search Login Register   gfxgfx
gfx gfx
gfx
Pages: [1] 2 3
Print
Author Topic: FB RPG with RPGMaker GFX  (Read 21117 times)
Halifax
Recruit
**
Posts: 24


View Profile Email
« on: August 20, 2009, 02:55:17 PM »

I'm baack! Finally cut myself off from WoW. Using a different (supported) IDE, FreeBasic, and RPGMaker graphics to create an RPG.

Resources I have and stuff I am able to do;

Complex Mouse Buttons and techinques, Basic Key Commands
Built in FB graphics using the processor, no accelerated stuff
Game timers enabling FPS independent movement, day night cycles, complex animation, etc
About 60 characters (animation frames for 4 directions, RPGMaker sprites 24x32)
One or two suitable tile sets (ruins/forest/lake/grass, RPGMaker 16x16 tiles)
Plenty of sprites for items, icons, overworld maps, etc

Resources I need and stuff I'll need help with;

Parallax backgrounds, animated and scrolling
Pathfinding
Graphics and map data compression/storage/packaging
OpenGL integration if necessary (would love a zoom function and multiple full screen transparency layers)
Special animations for the 60 sprites, attack, defend, cast, die, get hurt, speak, etc.
More tile sets. Desert, snow, cave, etc. I'll work on adapting the RPGMakers ones.
Mapping
Sound


Got lots to do obviously. Luckily, that's where the fun is.

Here's a screenshot mockup. Planning for 640x480, with static screens, ala Zelda 1. Simplifies the game quite a bit. 40*30 tiles.





Notes of interest.

Pathfinding.

I'm using 16x16 terrain tiles with 24x32 character sprites. Allowing them to move along at one spot per 16x16 tile would work. I'll probably end up doing that, in which case I would not need true pathfinding, or at least nothing more than I already know. However, I'd love to implement higher definition movement. I was considering a 4x4 grid per 16x16 tile, creating a 160 by 120 grid on which units would take up 6x6 movement spots. This would bring immense complication to the pathfinding/rangefinding, etc. It would also allow smooth movement, realistic cast time functionality for spells (not in terms of turns), better AOE functionality, etc.

Static Screen Ala Zelda 1

Benefits are many. Reduced complexity of camera programming, map editor, map loading, mapping, list sorting (events, enemies, etc), event planning, pathfinding, large object handling, cloud layer. Difficulties include; limited encounter size, world map display will be wonky, and the BIG ONE, control placement/display.

Regarding on screen buttons, controls, info display, etc. I have three options.

1- Make all game elements simple. Such that they can be displayed with simple mouseovers or bars. This may be difficult. I tend to write a lot, I love item descriptions, location histories, etc. I also enjoy complex resource systems like mana, etc. This is the least likely option at the moment.

2- Create a static "no go" location on all maps. This will be overlayed by controls (possibly translucent) and will create problems with mapping, event planning, etc. A decent option, I can supplement this with game pausing full screen menus when absolutely necessary.

3- Permanent overlay cutting away a section of the screen. I.E. sacrifice the rightmost 2 or 3 tiles, maybe a bottom section. Lots of problems with this. Will I need a constant minimap display? Will I need a text scroller (which are super fun and awesome)? Will I have enough control elements to keep it filled? Will I even have enough gameplay to justify it? Smiley  I'd prefer not to do this if possible.

An interesting way to solve the #2 problem is to create two info panes. One will reflect information displays that never require interaction. HP/status display, location info, time info, current selected spell or whatever, etc. This info pane will warp to the opposite corner of the map as the mouse. The other info pane will contain all buttons. It will be in whatever quarter the mouse is in at all times. Problems would include how big it would have to be, since buttons will require text sometimes, etc. Can't block too much screen.

Anywho, lots of dreaming here.

On the practical side I have the following systems in place.

Terrain and Object layer display based on mockup map data
mouse and key monitoring with event processing
Complex character animation (seperate/changeable animation speed for each NPC)
Text printing (alpha, color fonts, pixel placement, centering)
"Demoability"... I can make a demo out of it for hosting
basic timers (sleeping to share CPU, fps independent animation, real game time)


Stuff I'll be working on...
Capping framerate and getting it to reach the cap on my comp Smiley (currently at 30 max with sleeping, 500 without, 2.1ghz tricore)
Framework for Buttons (this'll go quick)
Keybindings and key profiles (I.E. "Q" quits to main menu during game but ends game when at main menu)
Fonts based on bitmaps for special text
Game Time (Current time in game, how long played stored in gamesave)
Map Editor functions; saving/loading/place tile/terrain object layer toggle (should be quick this time around)
Water (graphics, animation, how to incorporate tiles into terrain layer drawing, pixel art, etc)
Spell art and animation
Menu art and animation
Menu structure and framework
Saving/Loading game and Map data

Cheers
« Last Edit: October 09, 2010, 02:50:18 AM by Halifax » Logged
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #1 on: August 20, 2009, 04:58:06 PM »

Thanks to RPG Maker, your graphics look awesome. I personally would prefer scrolling rather than LoZ-style maps, but it's up to you. It sounds really impressive that you've gotten those timers working. That's always been a tough one for me. Why is the framerate an issue, though? These are sprites we're talking about.  Grin (I'm just saying that because my graphics card sucks and I might as well have everything software rendered, so if I can get near 30 FPS on Halo I'm a happy camper. You've never seen lag like I have.)

Um, as far as your paralax backdrops go- I would love to take care of them for you. You just want giant seamless sky images, right?
Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #2 on: August 20, 2009, 08:31:52 PM »

Not exactly sure why framerates have been low. It doesn't use the graphics card at all, so that's irrelevant. I'm using 100% FreeBasic built in graphic commands. It may be something to do with the structure of the graphics rendering. Or it may be a limitation of doing graphics on the processor. I'll be finding out shortly.

"Um, as far as your paralax backdrops go- I would love to take care of them for you. You just want giant seamless sky images, right?"

Good lord, no! Sky works and I would like some sky images, yes. But with LoZ style maps parallax becomes vastly more useful. Take this example.

For the first segment of the game, possibly a demo, I have planned for a starting town, a road following a river, a bridge, then some overgrown ruins buried in forest. An interesting use of parallax I wanted to put in was that halfway down the river road you would find a small offshoot path. Take it and you end up on a small ledge with some trees on hilltops beside you. The terrain tiles would cut off a quarter of the way up the screen and above that would be a foreshadowing scene showing the ruins buried in trees. Possibly a stylized caption would appear on screen indicating an upcoming game segment.

See example.



I'd love to have your help if you can draw. I would like to go with cartoony style, similar to the RPGMaker graphics I'm using; bright and cheerful. If you can do clouds you may consider making me a cloud layer to be put translucently over the game screen that will scroll at different speeds in different directions.
Logged
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #3 on: August 20, 2009, 11:52:17 PM »

Greenfish Icon Editor Pro, Microsoft Paint, and about 2 hours give you the following.

http://www.mediafire.com/?sharekey=83dcabc70338ca405a3d773badf214306a224f67e8657ee5ce018c8114394287
Logged
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #4 on: August 22, 2009, 07:50:42 PM »

How do you like my graphics?
Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #5 on: August 31, 2009, 06:02:14 PM »

Update

Buttons - done and lookin' hot. button profiles, nice graphics, hover indicator, clickability

Saving/Loading - able to save and load tile data to a storage file (still workin' on reducing size)

Alpha Layer - not using per pixel alpha but still looks great. double precision speeds for cloud movement, 4 directional "wind", etc

Next I'll focus on;

Tile Selector
Tile Changing


@Brick Break

My favorite is the desert, looks like a water color/spray paint beach kinda thing.

I can't use the cloud layer, it looks too boxy with this screen size. I may be able to magnify it a bit, make it like huge clouds drifting along. We'll see.
Logged
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #6 on: August 31, 2009, 06:23:31 PM »

Alright, I can make you a new cloud layer no problem. I'm glad you like the paralax maps. I tried to aim for a nice monochromeish visual style.
Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #7 on: October 09, 2010, 03:02:00 AM »



Update...

Up next-
Events
Map switching
Linking the overlay display (clouds) to the map instead of the screen
Tidying up the menu
Fixing unit movement
Implementing animated objects
Acquiring normal objects for world map
Rough draft of world map
Minimap/map function
« Last Edit: August 05, 2011, 07:18:30 PM by Halifax » Logged
Lachie Dazdarian
Double dipper
Administrator
Forum Sage
*****
Gender: Male
Posts: 1255


lachie13
View Profile WWW Email
« Reply #8 on: October 09, 2010, 05:08:36 PM »

If you are looking for hardware accelerated graphics, I think you should seriously consider GL2D, an cross between OpenGL and fbgfx, aimed to be easy to use as fbgfx. It came out quite recently.

Forum thread on GL_2D: http://www.freebasic.net/forum/viewtopic.php?t=16222
Tutorial: http://imortisoft.no-ip.org/b2b/?Issue_%232:Basic_2D_Rendering_in_OpenGL_using_Easy_GL2D:_Part_1

I definitely plan to code all my future 2D project with it, possiblity support plain old fbgfx for a while too.

As for path-finding, you might want to check out this thread: http://www.freebasic.net/forum/viewtopic.php?t=9952&highlight=pathfinding

There are more tutorials and forum to find on this topic. Research. Personally, I haven't dealt with this so far, so can't recommend anything specific.

I hope you will insist on drawing your own graphics. People get discouraged too fast when contemplating about graphics for their game, or if they try, they limit themselves on really rudimentary and simple creations, like trying to prove themselves they can't deliver anything better. It's not that hard to make decent graphics for a top-down RPGs, especially if you are imitating a style (just start with slightly altering pre-made NPCs and tiles, and go further after mastering that). It is a lot of work many people would like to skip while designing a game, but it doesn't work like that. I do wish people would think smaller more often and make excellent small-scaled games, very well though-out and designed, than deliver some overwrought, unnecessary long and dull RPGs, filled with underdeveloped content. Indie developers need to think smaller, or agree to devote to a project for years, and just too many things happen to people in that time for such ambitious project to survive. I hope you are going the first road.

I love your enthusiasm so far. Good luck.
Logged

"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #9 on: October 09, 2010, 08:21:29 PM »

I would not recommend that you use hardware accelerated 2D graphics or rely on OpenGL. The speed benefits are unsubstantial as any hardware accelerated/software rendered 3D game, except that 2D graphics run insanely fast anyways. Insanely fast. I could make a JavaScript game with tiled 2D graphics that runs faster than any 3D game, and that runs at an extremely high level.

Good luck with your game, though. Kudos.
Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #10 on: October 19, 2010, 07:35:56 PM »

OpenGL and 2D Acceleration

I downloaded the OpenGL program Lachie directed me to and gave it a try. It seemed to run no faster than my game. Not only that, but I'm not using threading at all, so separating the graphics onto another cpu seems silly. Anyway, it'd require learning all the OpenGL stuff, which I've never been motivated to do.

That said, the OpenGL/FB integration is something I've always dreamed about. Could be an excellent stepping stone to 3d programming (no "could be" about it, really). Either way, I already have the ability to make my 2d game function without OpenGL so, no reason to upgrade until I have too much content and/or aspirations for FBGFX. In the past I was looking for accelerated 2d stuff, but that was due to failing to program efficiently.



Lachie:

I've browsed through pathfinding stuff in the past a bit, plenty of resources I'm sure. I intend to put it in soon, however, in line with your advice, I'm aiming for super simple. I've aimed too high before, ended up getting nowhere. Right now my highest goal is to have a single unit walking around on the world map and battle AI consisting of units moving toward other units (ala early Ultima). Just something to get a framework up.

As for making my own graphics... Eh. Really not too likely. Don't get me wrong, I cut and paste tiles for hours, move unit legs around to get the animations right, plenty of tile work. Hours of it, in fact. And I do enjoy it.

The only completely original work I've created so far is the menu background, which consists of 5 line statements.

But I know what you mean. I'm about to have to create a set of tiles representing a river on the world map from scratch. I'm pretty excited.
Logged
Brick Break
Forum Sage
*****
Gender: Male
Posts: 405



View Profile
« Reply #11 on: October 19, 2010, 07:45:36 PM »

Down with the graphics card industry, down with the gaming industry, and down with capitalism! The film industry WILL make a comeback, and without any "3D" or gimmicky bullshit like that! I'd like to see some '80s color films revisited. Think Starsky and Hutch. Bonus points if they're independent.
Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #12 on: July 25, 2011, 07:12:48 PM »



Uploaded with ImageShack.us

Been importing new tiles, got the menu system a little neater.

Looking at teleport events, perhaps some static events that control weather and whatnot. Got some of the internal functionality of NPC control, i.e. AI or Player control, switching party members, stuff like that. Map switching is done, having some issues with walkability though.

Can't decide if I want to implement a system to show the roof of a building when you're outside, then remove the roof tiles when inside. Seems more complex, so probably gonna be skipped.
« Last Edit: July 25, 2011, 07:20:03 PM by Halifax » Logged
Halifax
Recruit
**
Posts: 24


View Profile Email
« Reply #13 on: August 14, 2011, 11:22:15 AM »

Bit of a break through, this week. Found out my program wasn't actually fps independent so I toyed with it and got it on a timer system. This freed up my animation subroutines to run at 10,000 cycles per second. As you can imagine, this changed my animation techniques quite a bit.

Worked with it a bit more and got my movement system working much better. There are now many different levels of speed at which a unit can move, opening up the way for cool gameplay like speed boosting equipment or temporary buffs.

Framerate seem to be much smoother, too. Maintaining 50 with vsync and full screen alpha puts without a hitch.

Course, then I promptly overwrote my file and now I have to do it all again. Oh, well. Easier the second time.
Logged
N3trunn3r
Novice
***
Gender: Male
Posts: 73



View Profile
« Reply #14 on: August 24, 2011, 11:56:14 AM »

Hey hey hey, this look really awesome nice!!! Cool
Logged
Pages: [1] 2 3
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Cerberus design by Bloc
Valid XHTML 1.0! Valid CSS!
gfx
gfxgfx gfxgfx