Sword of Moonlight 2.0

#21
That's a good idea, and it was easy to do.

In each separate directory where you store the pieces for map sets, you'll have a data file just for that, that's what the old file used to be, but it would be a big register for every tile set, now it's just for one tile set. Here's an example of how it would work:

First, make the tile.data file for your set, place it with the models etc, and make the entries inside it. You'd need to know the hexadecimal system.
Entries look like this: " tiles[0x01, 0x01] <- tSet0X1_1; "

You'd then need to add a link to that file in the main register, which is a small external script.
It's done like this: " PhraseTileData(working_directory+"\map\monkSet\MONK.DATA"); "

Anyway. Sorry the demo wasn't out yesterday, the map editor I was building is too buggy at the moment, so I'm having to create the map by hand, as well as all the resources. Here's a preview. Don't worry about the really short fog distance, I just added it in for atmosphere, you can increase that to what you want, or even remove it if you so wish.

I decided, since the original SoM came with King's Field 1, why not recreate the second area of King's Field 2! This'll eventually become a full remake, bundled with the tool on release, as King's Field 1 was with the original.

If I have time, an 'Outdoor' preview area will be done too, which'll allow you to see how SoM 2.0 could eventually look outside. This'll be an original design I've had for a little while though.


Attached Files Thumbnail(s)
   
Reply

#22
Alright, again -- Sorry for the delay.

I had a few ideas I wanted opinion on though, mostly to do with the new map editor system.

1) I call it Layers.
If you've used Photoshop, GIMP or anything like it -- you'll have a thing called layers. You can draw on one and it won't effect the others, and reorder them.

Because I'm trying to make SoM 2.0 an easy switch over from Original SoM, I'm going to implement a system like this. You'll be able to create a new layer, and set the layers 'Elevation' or 'Z', and each tile on that layer will be that height. This could be considered a form of Multi-level mapping, like what King's Field II and King's Field III had.

2) Rendered Mapping Structure
Rather than using icons, when building the map it will simply render the entire map in 3D, from a top down perspective. Now the reason this is only an idea is because it could be potentially wrecking for older computers, and I don't wanna do that. Maybe an option to switch to 2D 'Iconed' mode?

3) Stepping.
This is going to good for old SoM user and kinda bad for SoM 2.0 users... We're staying with frame based, non mesh warping animation. Tinman, if you like.

This is because the switch to a custom model format has come rather fast, and I don't have a good enough mind, or the time, to develop a bone based system.

Like SoM, there's two types of models. a .MSM, and a .MAM. These are 'Moonlight Static Model' and 'Moonlight Animated Model'.

---

That's all there is for now, since I've been rather lazy with development. I'll again TRY to get the preview done, the reason I haven't is because I was rushing into things, the engine wasn't ready and it would of been very boring to do it. I need to sort out a lot more, such as AI, sound etc...
Reply

#23
I think 3D rendering the whole map would be the most helpful. That might be hard on some low-end systems, but most of a game's polygons aren't in the map model, they're in the items/character models. So, including an option to toggle clutter/character models on/off would probably relieve a lot of stress on slower PC. ‎  I find it hard to get an idea of what the overall map will actually look like until I see it in full 3D.

Using 'stepping' model animation seems plenty good enough to me. In my opinion, the biggest limitations in SoM are things like lack of equipment detecting triggers, and full camera/animation control for setting up cutscenes, lack of a 'water level'. You can still make a nice looking, immersive game with tinman models.

Would the layers be for multilevel map building, or would they end up flattened into a single level in the final game?

Some very cool stuff!
Reply

#24
If I fully understand what multilevel building is, then yes. Each part you place on in the map will be set to the same elevation of the layer you're working on. At the moment though, it's just to make building maps which aren't at 0 elevation less of a pain, so you don't have to keep setting it to the level you're making it at. You are also able to toggle the visibility of layers you don't have active, which leads me to:

The 3D map rendering. I figured that I'll just implement Frustum Culling to stop it rendering anything not in the map editors view... But yes, I do like your idea of disabling high poly objects (characters, clutter etc) at will. But with the layer system, I figure it won't render the map and draw a grey square like with the 'event' view in SoM.

More news:
---
The engine is being swapped out. Before I was using a DLL based on DirectX, in game maker to do 3D... That's pretty bad.

Game Maker is still in the chain, but now it's using just that, and a DLL to 'Enhance' default GM3D. The reason for this is because DirectX8 sucks, the shader language is so old it actually slows the engine down to do minimal effects. Normal GM3D is based on DirectX9, so you'll need a computer with at least Windows XP.

It also means there's gonna be some more improvements. You can now have up to 8 dynamic light sources, this includes directional, spot and point lights. This'll be really good for anyone making outside areas. Mipmapping and Texture Filtering is also in, which basically just make things in the distance look better. LoDs and 3D particles, and something really good; smooth shadowing.

Something related to sound; I'm working on a custom engine for this, since FMOD requires licenses, and OpenAL is so outdated it's useless. It'll probably be based on DirectSound for now. What this means is eventually you'll be able to have some real time sound modifiers, such as 'Underwater Muffling', if you understand what I mean by that.
Reply

#25
Just re read this thread. It sounds exciting the way things are going...

I have a few suggestions ‎  Smile

- Increased enemy and NPC AI, damage threshold

If you have seen SoM's AI, then the main problem is not being able to give enemies set paths. When an enemy engages you, it doesnt know how to avoid collision with map objects or map pieces, causing it to often get stuck, fall or attack the player through the wall.

Also a damage threshold for enemies, that works similar to KFTAC. Measuring the stamina bar's % could allow the engine to determine the % of damage done, and if its too low the enemy's 'pained' animation wont kick in.

- Left hand arm model and matching gloves

There isnt a left hand arm in SoM, and it would be nice to have dual weapons or a shield for players to use. The gloves will need to match too - and having visible rings on the players hand would be nice.

- LODS
Its great that you are wanting to add this function to the engine.
SoM doesnt do LODS, and this causes some serious slowdown issues in large, medium or even low poly open areas. LODs would allow players to have nice open areas with less slowdown. I have seen games that allow for 3 different LOD model levels (like a multi-res) that the developer must manually create.

- Rotating, animated sprites. Quicker object and map part placing

It would be fantastic if we could have rotating sprites such as trees, mountains and flowers, and the ability to paste objects and map parts quickly.

- Possibility of better, detailed skybox models

SoM has a set sized skybox, which you cannot increase. The skybox actually moves with the player, meaning the visual sense of progressing or travelling isnt there. It would be nice to have multiple skyboxes to use which have a sky Smile and a landscape model.

- Night 'n day

It would be GREAT to have a day clock in SoM 2.0, allowing much better immersion and global events that occur according to the time frame.

- Continuous level loading

It would help alot if the next level loaded up gradually as opposed to having that 'pop' during a level warp.

- Switching

Being able to switch from ranged to melee or vice versa in game is really important. Sadly this isnt possible with SoM, and puts the player at a disadvantage. Having a switch equipment button would really help.

- Button functionality

A display map button would be really nice, such as L3, and the ability to change your attack type with R3. Of course this just means that the developer would have to make multiple swing animations, but that is do-able.



Keep going, your project is looking great!!!
Reply

#26
I love all of those ideas and I'll probably add all of which are possible. :3

- Enemy/NPC AI, damage threshold.
YES! 100% going to do this one, it might take a little while but A* path finding, and pathing functions (for having patrolling guards and such) will be a must.

- Left hand model/matching gloves/rings.
I'll add this one to the list of things to work on, might be a little delayed though as my first task is it get the engine to make a game like KF2. It'll be up to the user of the engine to supply the arm models etc.

- LODS
Yeah, this is a vital one in modern 3D game development, as you can then have really pretty graphics. I'd like to make this automatic, and have the engine generate LODS for you, but it'll probably end up that the user has to do it. Three different detail levels will be easy.

- Rotating sprites.
This technique is called 'Billboarding' and it will most certainly be included.

- Skybox models.
Not sure about this one. It'll probably only be Skybox and Sky sphere for a while, unless I can figure something out. Though if you know how to render a scene in blender, a 6-sided skybox will be perfect for you, since there's no color limitations in SoM 2.0

- Night 'n day
I will add a clock, but it will be the users job to expand, and put the framework changes in the lights and events etc. You'll have direct access to the clock, for speeding up, setting the time etc.

- Continuous level loading
Planned this one from the start, it's a must. :3

- Attack Switching
Sure, you'll be able to equip a ranged and close range weapon, and switch between them. I'll add this later on though, when the program is more developed.

- Button functionality
You'll be able to directly access this from the script editor, all stuff like this in-fact.

Yeah, your ideas won places on the road map! I'll add a road map to the top post when I have time, so you'll be able to check on the progress and what's being worked on next.
Reply

#27
Those are some good ideas.
Reply

#28
I don't remember seeing this brought up yet, so I'll just throw this out there:

How about secret doors and/or holes in the wall for treasure & traps? ‎  I'm thinking like those in the first 'indoor' area in KF2, by the sea. ‎  There's the *spoiler alert* hidden door by the fountain with the skeleton. ‎  Then in the next room, there's the hidden panel with gold as well as a spike trap. ‎  Oh, the fun to be had!

* runs away to avoid having to code it * ‎  Saint
Reply

#29
Most certainly, this'll be easy to do.

I'll be trying to match the system from King's Field IV though.
This is a spoiler, so highlight the text in between the "--" to see it clearly!

--
You can shoot an arrow though a hole in the wall, and stairs come down, or secret compartments can be in the floor/roof!
--

Also, they'll be a much higher trapping ability, such as spikes in walls, falling traps like KF2 etc...


Since the scripts are going to be mostly external, and you'll have access to an advanced scripting (if you choose to use it, they'll be a basic mode too), you'll be able to directly access anything you'd be able to use in C++ etc, such as the DirectX API, variables, constants, gravity physics... I might even add a system for you to load in custom DLLs so you can really make your games breakout of the chains, if you know what you're doing.
Reply

#30
The best thing I think is that you are actually developing the program. This isnt all just ideas, which makes it more exciting.
Reply





Users browsing this thread:
6 Guest(s)