Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Official] Eclipse.NET


JeffSventora
 Share

Recommended Posts

> I'm not reinventing anything, all I'm doing is giving the user more access to the lower level graphics API. It's all about control. On the surface In C#, it would be extremely simple to use and if you aren't comfortable with C++, you'll never have to worry. But what if someone wants to upgrade to DX11 or OpenGL? They could just go into the C++ source and modify the DLL and guess what, in C# everything is still the same to them ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png) It's like having a car and being able to swap out the engine, only people who know about cars will be able to tell the difference but a majority of people won't when they're behind the driver's seat.
>
> No, only if you are comfortable with doing so.

So you'll be able to use 11.1 Shader 5 by simply changing a reference to a DLL?
Link to comment
Share on other sites

  • Replies 337
  • Created
  • Last Reply

Top Posters In This Topic

> You would have to re-write the DLL to use DX 11, but that's the beauty of it, you'll have that ability unlike XNA where you're limited to just XNA.

And you would have to write the code to implement the shader in C#, but yes, I see where you're going. XNA includes every resource of DX9; you don't have to write a single line of boilerplate code to implement anything, and that's why I appreciate it. As far as using another DX goes, yes, we are limited to 9c _right now_ but I'm sure something very nice concerning 11.1 is going to be released in the future. ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

Anywho. Not much to look at right now aside from just code, but I'm sure once you get a working implementation going (e.g. a prototype game) I bet it'll look good.
Link to comment
Share on other sites

Well sort of, you would still handle all of the shader code in C++, you would just write helper functions in C# to set them up.

Also, I have a little update! Text can now be draw to the back buffer using an ID3DXFont object.

```

// Advanced Method C#

Solar.DrawString("Hello world!", new RECT(0, 0, ClientSize.Width, ClientSize.Height), (int)(Alignment.DT_BOTTOM | Alignment.DT_CENTER), 255, 255, 255);

// Easy Method C#

Solar.DrawString("Hello world!", new RECT(0, 0, ClientSize.Width, ClientSize.Height), Alignment.DT_TOP | Alignment.DT_CENTER, Color.Red);

```

![](http://www.freemmorpgmaker.com/files/imagehost/pics/a92e4dfdf7fff00c55d24afc162e1c4b.PNG)
Link to comment
Share on other sites

> Well sort of, you would still handle all of the shader code in C++, you would just write helper functions in C# to set them up.
>
> Also, I have a little update! Text can now be draw to the back buffer using an ID3DXFont object.
>
> ```
>
> // Advanced Method C#
>
> Solar.DrawString("Hello world!", new RECT(0, 0, ClientSize.Width, ClientSize.Height), (int)(Alignment.DT_BOTTOM | Alignment.DT_CENTER), 255, 255, 255);
>
> // Easy Method C#
>
> Solar.DrawString("Hello world!", new RECT(0, 0, ClientSize.Width, ClientSize.Height), Alignment.DT_TOP | Alignment.DT_CENTER, Color.Red);
>
> ```
>
> ![](http://www.freemmorpgmaker.com/files/imagehost/pics/a92e4dfdf7fff00c55d24afc162e1c4b.PNG)

I really like the overload, but it's not really intuitive. I would honestly train people to use a Vector3 to store the RBG values instead of using each byte as a separate parameter.
Link to comment
Share on other sites

> Well the way it's communicating with the C++ side it requires the raw integers. If you wanted to use Vector3's, you would have to convert them to integers regardless. So I created the overload to use colors which is great because they have some many pre-defined already.

Or you could use an parameter list, e.g. int[] colorsByByte. And yeah, there are a TON of pre-defined Color values.

```

int[] myColor = new int[3];

myColor[0] = 255;

myColor[1] = 255;

myColor[2] = 20;

Solar.DrawString("Hello world!", new RECT(0, 0, ClientSize.Width, ClientSize.Height), Alignment.DT_TOP | Alignment.DT_CENTER, myColor);

```

I suppose that could be another one of your overloads for that method. =)
Link to comment
Share on other sites

> I like sticking to the Colors. by all means, do what you will with it when I release it ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)

Actually, I would honestly go ahead and remove the need for 3 separate parameters altogether and go with a parameter list instead (updated my last post with an example).
Link to comment
Share on other sites

![](http://www.freemmorpgmaker.com/files/imagehost/pics/10ec239e6cfe664425039bbfedf6b35f.PNG)

Nothing TOO crazy, but I'm re-working the entire world system. It is now powered by Solar, the rendering engine I created. On top of that, here is some info on how the maps will work in Eclipse.NET. the world will be broken down into "regions". Regions are nothing more than a grid of maps that can be any size that you wish. So you could have a very large area take up 20x20 maps or a small town take up 2x2 maps. These regions are seamless HOWEVER, upon reaching the EDGE of the region, you will teleported to the adjacent region. if that doesn't make sense, I'll try to elaborate further.

- 6 Static Layers (3 Ground, 3 Fringe)

- 4 Animation Layers (2 Ground, 2 Fringe)
Link to comment
Share on other sites

So are regions just a collection of maps? E.g. Region 1 includes maps 1,2,4 and 5? Do they have any other purpose other than making it easier for the mapping to specify the size of a setting, e.g. woodland/city/desert?

So, the regions are seamless (i.e. the maps within a region are seamless), but region to region requires teleporting? Is that correct?
Link to comment
Share on other sites

> On top of that, here is some info on how the maps will work in Eclipse.NET. the world will be broken down into "regions". Regions are nothing more than a grid of maps that can be any size that you wish. So you could have a very large area take up 20x20 maps or a small town take up 2x2 maps. These regions are seamless HOWEVER, upon reaching the EDGE of the region, you will teleported to the adjacent region. if that doesn't make sense, I'll try to elaborate further.

So, if you could have regions be any amount of maps you want, you could basically wrote your whole game as one "region" and the whole game would be seamless. Would there really be any benefit of making more then one region? Like, do bigger regions run any slower or have any problems that may come about making your whole game one region? Or would it be more like if you wanted to create an ground level of your game and like an underground, you could make the ground level one region and underground another…
Link to comment
Share on other sites

> So, if you could have regions be any amount of maps you want, you could basically wrote your whole game as one "region" and the whole game would be seamless. Would there really be any benefit of making more then one region? Like, do bigger regions run any slower or have any problems that may come about making your whole game one region? Or would it be more like if you wanted to create an ground level of your game and like an underground, you could make the ground level one region and underground another…

I think the beauty of the system is that you can use it for whatever you want really. Personally, I would create regions for whole cities and separate large areas on the map. You could do one GIANT region for your whole game but I wouldn't recommend that being that whichever region you are in is the region that will be loaded into memory. Personally I wouldn't choose to make regions bigger that about 25x25 maps. I was also thinking about allowing you to define the dimensions of the region, so you could have one that is 25x1 or vice versa. About the teleportation, yes. When you reach the edge of the region you will be teleported to the adjacent regions IF one is set.

I want you all to think of regions as just BIG maps. Lets say you have 3 main cities in your game and a lot of fluff in between. Create three regions for your cities and shops and create a few larger regions pieced together to connect it all. As Ertzel said, you could even "layer" the regions. So if one of your cities had an underground dungeon, create a new region the players will be warped to that define that underground dungeon. No more "MAX_MAPS" on a grid, think of it as a bunch of LARGE maps floating in the air (under the hood) but pieced together on the front end.
Link to comment
Share on other sites

> but I wouldn't recommend that being that whichever region you are in is the region that will be loaded into memory.

Wouldn't it be better to load just like your current map and the map above/below/right/left of your into your memory at a time and not the whole region?

Also a question about the editors in this project. Are you making them part of the client like in the vb6 Eclipse or are you making them external editors that doesn't require you being logged into the game to use?
Link to comment
Share on other sites

> Wouldn't it be better to load just like your current map and the map above/below/right/left of your into your memory at a time and not the whole region?
>
> Also a question about the editors in this project. Are you making them part of the client like in the vb6 Eclipse or are you making them external editors that doesn't require you being logged into the game to use?

They are external. And I'm sort of working like that in a sense that only VISIBLE maps will be drawn but having them loaded in memory will greatly reduce the amount of HDD accesses which will always be slower than reading from RAM. Besides, I've done some math and if you have a region of ~50x~50 (2500 total maps) it will only consume roughly 20Mb which is considerably small.
Link to comment
Share on other sites

If regions are just big maps.. What's the difference then, from a normal map?

* A region with 4 maps in a square, each map is 5x5\. That makes the region 10x10.
* A map of 10x10.

I'm struggling to see quite what the purpose of regions are.. ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)
Link to comment
Share on other sites

> (And it mobs were Region bound, instead of being limited to their respective maps only)

I agree with this one. If NPC's are able to walk at least a little ways out of their own region before losing aggro it would be a lot better and like most real/big games. When a player right now can just run out of the map and the NPC can't do a thing about it, it makes certain things a lot easier. Now with having seamless mapping in regions it would be kind of weird if your fighting an NPC and maybe don't know it and step out of your current map and the NPC just like hits an invisible wall it can't walk past.
Link to comment
Share on other sites

> I agree with this one. If NPC's are able to walk at least a little ways out of their own region before losing aggro it would be a lot better and like most real/big games. When a player right now can just run out of the map and the NPC can't do a thing about it, it makes certain things a lot easier. Now with having seamless mapping in regions it would be kind of weird if your fighting an NPC and maybe don't know it and step out of your current map and the NPC just like hits an invisible wall it can't walk past.

I plan on allowing NPC's to walk beyond the scope of their map but not regions.

> If regions are just big maps.. What's the difference then, from a normal map?
>
> * A region with 4 maps in a square, each map is 5x5\. That makes the region 10x10.
> * A map of 10x10.
>
> I'm struggling to see quite what the purpose of regions are.. ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)

It's all about culling data that doesn't need to be represented. If we had a HUGE map, would we want every single thing that we can't see to be sent over the network to us if it doesn't matter? By doing it this way, we would only ever update the viewable set.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...