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?
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 (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 textGame 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 frameworkSaving/Loading game and Map dataCheers