Long story short: new engine in C++. Why? Because I got credit for a comp sci course taught in C++ based on a test that tested Java. I know C++ but not as well as Java and VB, so if I am going to take the next class I should actually do something with C++. Sounds like a good excuse to play around with DA in the name of education, right?

I know I have cried "new engine!" many times and failed to do anything almost as many times. I'm not asking you to actually trust me here, or even to expect anything. While I have every intention of working on this (when I should be paying attention to lectures haha), in all honesty the only thing that makes this time different is that now I have some justification for "wasting time." Lol. So basically, regardless of what I say, be very skeptical and don't let me make out like I am doing something awesome until I actually release something.
That being said, I am filling OneNote with diagrams and notes and class hierarchies. My plan is to have a much more extensive and expandable engine that still allows conversion of map data. The networking, graphics, etc. components are going to be highly abstracted and scalable to allow for quick porting to other systems (linux, mac, windows mobile, ds, etc.), but obviously PC comes first (and realistically quite possibly only).
So networking, data storage, game logic, and whatnot is all fairly straight-forward. However, the way the graphics engine will work is heavily tied to the mapping system, which I cannot hammer out. There are so many ways to approach it based on what features we want. I want to use this thread to throw some ideas related (sometimes loosely) to the map system to see what you guys think is useful, pointless, necessary, not worth it, etc. Obviously I would love to hear your ideas to.
One final note: do not worry about having to store large amounts of data with every tile/map/pixel for a feature that will not be used often, as I already have method so the data will only be stored with what needs it.
Ideas I am pretty sure of:-Infinite (or at least more than could be used) layers per tile
-2nd graphics plug-in based on the pop-up book code I cannibalized for DA3Dalus
-Directional blocking
-AI engine that allows NPCS to go/do anything a player can within restraints defined by the NPC creator
Ideas I am bouncing around:-Pixel-based movement
-Z-positions for tiles (and gravity) (good for arrow system)
-Placing tiles that do not align to the standard tile grid
-Placing pieces of tiles
-Geometry-based based blocking (draw lines, circles, rectangles, etc), perhaps saved as pixel blocking for speed
-No more maps, just big (or small) areas that you can insert extra space into (from any point, it would shift stuff)
-Warping based on defined warp destination points (if pixel movement is used)
-Warping based on tile ID instead of tile location (if maps are removed and above idea not used)
-Replace tile attributes with geometric effect fields that use a system as close to scripting as possible (without actually having to interpret code text, as that would be inefficient)
-Implement said almost-scripting system in all areas possible, like talking to NPCs, entering a certain area, dying, etc and allow it to store variables with a player (If I do this right it would allow so much customization it isn't even funny, not to mention crazy quests. Plus adding one feature to the script system would allow it to be used everywhere the system is implemented.)
-Non-hard-coded player skills/attributes (stuff like strength and whatnot is defined through an editor; adding a new one automatically allows anything with skill/attribute effects like items/spells/tile attributes to use it just like any other)
(I'm sure I forgot a bunch. I will post if I remember anything.)