RPGDXThe center of Indie-RPG gaming
Not logged in. [log in] [register]
 
 
Post new topic Reply to topic  
View previous topic - View next topic  
Author Message
pingu
Pretty, Pretty Fairy Princess


Joined: 02 Apr 2006
Posts: 5

PostPosted: Sun Apr 02, 2006 3:17 pm    Post subject: Elysium Engine [quote]

Elysium Engine
The Open Source MMORPG Maker

Visit The Elysium Website

Massively
Multiplayer
Online
Role
Playing
Game

Elysium Engine is a program that will enable you to create your own online game and play with friends on the internet! Battle monsters, collect rare items, and even just talk with people you know from halfway around the world! Also, the program is completely open source, so you can code in your own changes to the game, and make it better!

Elysium Engine is written in Visual Basic 6, so anyone with a basic knowledge (or anyone with enough patience to learn and copy tutorials) will be able to add in their own neat features (Or maybe start from scratch?).

And... The Elysium things don't stop here! If you don't know Visual Basic, you can use your "own" Scripting Language called Sadscript, where you can do a lot of things just pasting codes on txt and the commands will be executed in-game!

Not convinced? Here are some screenshots. Click on the picture to see it full size.

Main Menu Screen

Server

Character Select

Main Game

Map Editor

Item Editor

The Code

Anybody for a partial feature list?
- Private Chat
- Scrolling Maps
- Day/Night System
- Guild System
- Party System
- Music/SFX
- News System
- Items
- Arrows
- Customizable GUI
- Security on Server/Client data.
- Flash Player
- Advanced Scripting Ability
- 6 Graphics Slots
- Warp System
- Editors in-game (Map-Editor, Item Editor, and much more, all in-game, you can edit with only one command!)
- So Many Attributes It Isn't Funny
- Everything else you'd expect from a MMORPG!

The list above is only partial because it is off of the top of my head.

For help, downloads, and support from all of our members, please visit the forum here.


I hope I'll see you soon!
Back to top  
BadMrBox
Bringer of Apocalypse


Joined: 26 Jun 2002
Posts: 1022
Location: Dark Forest's of Sweden

PostPosted: Sun Apr 02, 2006 6:54 pm    Post subject: [quote]

seems nice pingu. Keep up the work. :)
_________________
Back to top  
pingu
Pretty, Pretty Fairy Princess


Joined: 02 Apr 2006
Posts: 5

PostPosted: Sun Apr 02, 2006 7:34 pm    Post subject: [quote]

BadMrBox wrote:
seems nice pingu. Keep up the work. :)


I'll remember to keep trying. :)
Back to top  
tunginobi
Wandering Minstrel


Joined: 13 Dec 2005
Posts: 91

PostPosted: Mon Apr 03, 2006 1:36 am    Post subject: [quote]

This is looking quite nice. And I'm happy to see somebody who consciously comments their code.
Back to top  
LeoDraco
Demon Hunter


Joined: 24 Jun 2003
Posts: 584
Location: Riverside, South Cali

PostPosted: Mon Apr 03, 2006 6:31 am    Post subject: [quote]

tunginobi wrote:
And I'm happy to see somebody who consciously comments their code.


In my opinion, if that last screen shot is truly representative of the project's commenting style, it represents everything that is wrong with bad commenting: comments should not be an English (substitute whatever milk tongue the programmer/team speaks) repetition of whatever the code already says; comments should describe why code exists, not what it does nor how it does what it does.

Even if that were not the case, that last screen shot captures something else that is problematic: what, in essence, is the difference between the two blocks of code both commented, "Process npc movements (actually move them)"?

Dropping a one-liner comment that replicates what the source code already says every few lines is just as bad as not commenting at all; in fact, it often is worse, as the one-liners interrupt code flow, needlessly obfuscating what it already describes. This is compounded by the source langauge: VB has a tendency to be overtly verbose, and pingu certainly seems to have that down; while code is hardly ever self-documenting, languages such as the more popular BASIC variants certain come close.

(No offense intended, pingu.)
_________________
"...LeoDraco is a pompus git..." -- Mandrake


Last edited by LeoDraco on Wed Jun 14, 2006 2:00 am; edited 1 time in total
Back to top  
tunginobi
Wandering Minstrel


Joined: 13 Dec 2005
Posts: 91

PostPosted: Mon Apr 03, 2006 1:23 pm    Post subject: [quote]

Actually, that did cross my mind. Still, after seeing code from so many other people over the intarwebs, I supposed it was better than nothing.

I didn't want to rant; what's been shown here is overall a commendable effort, not to be outshone by nitpicking.
Back to top  
pingu
Pretty, Pretty Fairy Princess


Joined: 02 Apr 2006
Posts: 5

PostPosted: Mon Apr 03, 2006 8:00 pm    Post subject: [quote]

The "actually move them" thing twice is because there are two types of NPCs, normal ones and ones that spawn a certain number from a certain spot. I don't know why there are two, but the original creator decided to do a lot of extra work to make something that doesn't work well.

I'm going to scrap it for the next version, though, because it makes no sense.

And I'll safely say that not every part of the code is as commented as that part (it's the game loop). I was going to comment everything for the next version, so anything you specifically want me to do?
Back to top  
tunginobi
Wandering Minstrel


Joined: 13 Dec 2005
Posts: 91

PostPosted: Thu Apr 06, 2006 6:10 am    Post subject: [quote]

I vote for the existence and usefulness of comments. I don't support commenting everything. If you write it well enough, most of your code should document itself.
Back to top  
RuneLancer
Mage


Joined: 17 Jun 2005
Posts: 441

PostPosted: Fri Apr 07, 2006 5:38 am    Post subject: [quote]

tunginobi wrote:
If you write it well enough, most of your code should document itself.

You whose eyes have not been perusing this formula day in and day out in the past months, can you tell me what this does? Or more importantly, why it does it?

Code:
   X = (VectorA_Y - VectorB_Y)*(VectorB_Z - VectorC_Z) - (VectorA_Z - VectorB_Z)*(VectorB_Y - VectorC_Y);
   Y = (VectorA_Z - VectorB_Z)*(VectorB_X - VectorC_X) - (VectorA_X - VectorB_X)*(VectorB_Z - VectorC_Z);
   Z = (VectorA_X - VectorB_X)*(VectorB_Y - VectorC_Y) - (VectorA_Y - VectorB_Y)*(VectorB_X - VectorC_X);

   length = (float)sqrt(X*X + Y*Y + Z*Z);
   if(length == 0.0f)
      length = 1.0f;

   X /= length;
   Y /= length;
   Z /= length;


Code doesn't always document itself when you run into some obscure or complicated algorithms. Anyone with decent experience in 3D math should know this calculates a unit normal vector for a polygon defined by vectors A, B, and C. It does this by calculating the dot product and normalizing the resulting vector, possibly for the purpose of using it in calculating the illumination a surface receives from a given lightsource.

But if you're not familiar with this, you're probably just staring at something that looks exceedingly complicated...

Comment are very important because what may seem obvious to you may not be immediately so to others.

Edit: Eh, my bad, sorry man; my eyes skipped over the "most" in that quote. Either way, good comments are a must. :P
_________________
Endless Saga
An OpenGL RPG in the making. Now with new hosting!

Back to top  
LeoDraco
Demon Hunter


Joined: 24 Jun 2003
Posts: 584
Location: Riverside, South Cali

PostPosted: Fri Apr 07, 2006 6:26 am    Post subject: [quote]

RL: I know the whole anti-over-abstraction crowd will probably start throwing tomatoes in my general direction, but that seems a lot more complicated than it should be: for instance, a (cartessan) vector class could probably help clean that up a bit. Or something. Uh, but that really is not important, here. (For all I know, that was just some random example you pulled from somewhere, heh.)

All: Again, comments should not describe what the code already describes: it's code, and with the exception of the original programmer being obtusely clever, it should not need its functionality explained; what it does need, however, is an explanation for its existence: why does it exist? what purpose does it play in the grand scheme of things? how does it interact with other modules of the program? Note on the latter two, those are very differenct questions from what does it do and how does it do it; the good comments provide more information (one could even go as far as to say that they are a form of meta-code, and certainly there exist languages which provide functionality similar to that (e.g. .NET attributes come to mind), but that might be a relatively weak argument) about code in a given context than is obtainable from simply looking at the context by itself. This includes simple function documentation, which would purport to describe intended values for parameters, expected return values for those parameters, intended and potentially unexpected (though possible) side-effects, invariants, and so forth.

Like other elements of good style and design, comments should enhance the code, rather than obfuscate and clutter it.
_________________
"...LeoDraco is a pompus git..." -- Mandrake
Back to top  
Rainer Deyke
Demon Hunter


Joined: 05 Jun 2002
Posts: 672

PostPosted: Fri Apr 07, 2006 6:58 am    Post subject: [quote]

tunginobi wrote:
If you write it well enough, most of your code should document itself.


(Emphasis mine.)

Code:

vector calculate_surface_normal(point a, point b, point c)
{
  return dot_product(a - b, b - c).normalize();
}
Back to top  
pingu
Pretty, Pretty Fairy Princess


Joined: 02 Apr 2006
Posts: 5

PostPosted: Wed Jun 14, 2006 1:40 am    Post subject: [quote]

New version.

Elysium Diamond (v 2.0)
Made by pingu.


:: Intro ::

Okay, this is absolutely final! I'll be doing the compiled version tommorow and I'll include an updater. Look at the posts further one for the code changes and a copy of the license.


:: License ::

Here is the license in a nut shell. The full version is in the download and in the post below. This is not an official interpretation and may not be 100% correct (I'm just adding this in so you guys can't say "but pingu said...").

Quote:
Copyright (c) 2006 Elysium Source. All rights reserved.

You must...
1. Keep the copyright message (the same as above) in source.
2. Keep the copyright message (the same as above) in the compiled version if that is how your engine works.
3. In the documentation OR the output (credit list perhaps), say something like: "This product includes software developed by Elysium Source (http://www.splamm.com/elysium)."
4. Don't call your games or engine "Elysium" unless you get my permission. I shouldn't care with engines.

Elysium Source is not responsible for damages.



Certified by the Open Source Initiative.


:: New Feature List ::
Listed in order added.

Server Status Indicator
Server Set Access
SadScript Mapping
Speech Editor
NPC Speech
NPC Speech Scripting
New Party System
Command List
Pet System
Ultra Fast Map Packet
Packet Debug
Better INI Storage
Better HP Bars
Removed Attribute NPCs
NPC Spawn
Updated Map Editor
Better Area Effect Animations
Customizable Credit
Customizable Player Size
Script Editor Client Side
Audio Emoticons
Accurate Mapping
Map Converter
Friend List
Server Grid System
A Bunch More Server Optimizations
Bug Fixes

Video demonstrations found HERE.


:: Various Screenshots ::













:: Additional Comments ::

If you wish to post this download on another forum, PLEASE link to this topic and do not just copy it or post the link to the files. If you see ANY violations of the license, please report them right away. Thank you.


:: Downloads ::
Source
http://www.splamm.com/elysium/forums/viewtopic.php?t=1553

Compiled
http://www.splamm.com/elysium/forums/viewtopic.php?t=1553
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Fri Jun 16, 2006 2:30 am    Post subject: [quote]

I love that presentation. You successfully turned a project description page into an veritable info center for your project!

I think I'll take a page from your technique...

I'll look into your engine later.
Back to top  
pingu
Pretty, Pretty Fairy Princess


Joined: 02 Apr 2006
Posts: 5

PostPosted: Fri Jun 16, 2006 5:43 pm    Post subject: [quote]

That post doubles as the advertising post and the download post. I'm trying to look very professional with this release. Professional to the point where I make a note of always using caps in file names and things like that.

Tell me if you do look into it and what you think of Elysium!
Back to top  
BadMrBox
Bringer of Apocalypse


Joined: 26 Jun 2002
Posts: 1022
Location: Dark Forest's of Sweden

PostPosted: Tue Jul 11, 2006 10:10 am    Post subject: [quote]

Hey Pingu, is there any games made with Elysium Diamond?
_________________
Back to top  
Post new topic Reply to topic Page 1 of 1 All times are GMT
 



Display posts from previous:   
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum