Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

What is the best Language to use for Events

jneul

Member

Hello I am currently developing a RPG Maker, as you can see from my other thread, honestly from your opinion and experience which do you think would be the best language for doing an event system, I have included a couple of examples of languages I have already thought about:

1. RGSS (like RPG XP)
2. Python

Please do not put Java as it is too slow to even consider, also explain your choice serioulsy.
 
You mean a Scripting System? Not a Event System, Event don't need a language, they could be hardcoded in the engine, either way, I made a editor myself and used Ruby, and in some games I used Python. They are easy to learn, and make the transition from RMXP/VX quite easy, there you will have a wider range of public that could be atracted to your editor.

That's it, also Python/ Ruby are fully OO, which make things very easy to organized and program.

Good Luck in your maker, its quite a gigantic task to do.
 

jneul

Member

yes thats what i meant, i have my events hard coded at the moment, but obvioulsy I need more flexibility for the users of RPG Inventor
oh p.s do you have any links to tutorials on scripting systems (between c# and target language)
i just need basic tutorial from there i will build my knowlege thanks :smile:
 
Python is a quick and easy to understand language that most people can teach themselves within a day. Most technical schools teach it as well, and there are plenty of books on the subject.

Ruby's a little harder to get a hang of in my experience, though that experience has mostly been through XP/VX. >_>;

It really depends on what audience you want to project your engine too. If you're looking toward the advanced creators, then go with Ruby. If you want the average Joe to be able to quickly and easily code something for your game, stick with Python.
 

jneul

Member

I really want to make this as accessble as possible to many people, as I know how many people find it hard to comprehend how to code.
If i can hit the right balance, not only will the users be happy then i will also have a great product
As this is my first attempt at lauching my own software i really want to keep users happy and interested.
 

Zeriab

Sponsor

I'd like you to know that RGSS uses Ruby 1.8.x which is significantly slower than Java.
You can also speed up critical parts in Java by writing native functions: http://java.sun.com/javase/6/docs/techn ... index.html
Don't discard Java as being too slow. There may be other reasons such as integrating it will be too tedious or that scripting languages works better for rapid prototyping and e.t.c.

Since your platforms are PC and XBOX360 I would try to see if XBOX360 has some native support you can benefit from. I can imagine that using C# may present some nice options.

In terms of scripting languages I can think of the following:
Lua
Lisp
Perl
Python
Ruby

I only know Ruby, so I can't give you a comparison of the languages. I know that Lua is used in quite a few games, most commonly known in WoW. If you want to implement Ruby then I'd suggest version 1.9 over 1.8 if possible simple because 1.9 is so much faster. (JIT-Compiler vs. interpreted)

*hugs*
- Zeriab
 
Wait, what? Java is almost always faster than all of the languages mentioned here.

http://blog.dhananjaynene.com/2008/07/p ... by-groovy/

C# isn't in that comparison, but I am almost positive Java is faster than that too.

Don't get me wrong, I hate Java, but speed is not one of it's weaknesses.

Ruby is good, but it's not easy to implement.

Python is easier to implement, little slower than Ruby, though. I also am personally not a fan of the syntax.

Lua, AFAIK, is not OOP. I think you can fake it with meta tables, but I think it is not OOP. It is very fast, though.

Never used Lisp or Perl. Don't have much to say about them except that I personally do not like their syntaxes.

Also, about the whole 360 thing. If your game is not 100% XNA, then you cannot publish it to Xbox 360 without Microsoft examining your code. The cost for them to examine your code is huge.
 

jneul

Member

I have programmed in Java before, but seriously I prefer c# over Java, from my experience Java is slower than c#, what I am worried about mainly is how easy it is to interpret the scraping in my c# program.
Also those costs what you mention I also worry about, if they want a fee and trust me they will because mine is a program and not a game, then I don't think I have the funds to pay for it sadly, I am just one person at the moment, and although the program will be capable of running on the Xbox 360, support may get dropped if Microsoft wants to raid my wallet lol
I will take some time to think about still supporting the Xbox 360 platform, at the moment it is still a good idea, but seriously running a GUI on XNA takes a lot more work than you think, lol (plus a hell load of resources).
XNA games run fine with simple ideas such as minesweeper etc, but if you want to do anything complicated then you really have to know what you are doing to maximize hardware.
It would be a shame if I had to dump XNA because of the above reasons, but, if it means that I still have a product that everyone on the PC can play, then I guess it is better, this is my first attempt at making my own software on XNA Studio, so I still don't know how to get it's full potential,
However I have done a project in c++ visual studio (using Direct X), it was a full 3d application as well, so not easy to do as you might think. I may return back to visual studio and Direct X and use c# eventually, especially if I keep on encountering problems(which I do unfortunately and there is not many good source of how to maximize your program for XNA either, at least in the other case I have a big book on developing applications the Direct X way).

Considering the above do you think I should serioulsy return back to what I know best and forget about Xbox 360 Support??
 

jneul

Member

^^ Yeah they must have really know what they was doing lol, i still have so much to fuigure out with xna, and thats what i ment above by the way lol.

Yeh it's not too bad, it like you say you need to know how to get the best out of it, everything was going great on my gui development until a hit a bit of a problem, basically I have developed a gui, which uses the ScissorRectangle functionality for each component, it works fine for simple controls, but lets say you have a file dialog right, and the list box lists all file’s held in a path location, now because it has to perform a Begin and End(on the sprite batch) for each component (including the list items) the program can be somewhat slowed down quite a bit, I haven't found a way around this problem yet and I need to call Begin and End on drawing each Component otherwise they are not drawn correctly (i.e child components being drawn outside a parent)
Anyway I was thinking about using threads for the draw call, so it can do it in the background, but I am not too sure about going that way, there must be a better way to maximize its performance somehow...

Sorry if you don't understand what I mean, but I can provide you with a link to the new interface I am building for Rpg Inventor, and you will see how it falls from a stable 60fps to 30fps when displaying the File Dialog that I made (which is a bit of a worry considering I will have to handle other components as well)

Edit: don't worry i have found a way around it, I believe the slow down was down the the fact that i had to many calls to the Begin and End of the sprite batch, and each list item had its own sprite font object as well, i believe this futher slowed it down, lol, now i just have one sprite font object for the list box and all items are drawn within the same Begin and End call for that component and it works, no slow down now :biggrin:
 
Alexander Morou":1ebmm8yd said:
XNA isn't as slow as people think, if you know how to push it properly.

The Dream Build Play contests by Microsoft are a great example of this.

Take this year's winner, it definitely shows that you don't have to go super simple to get a good game.

Well, I was saying that I believe Java is is probably faster than C# not based off of XNA but just off of the idea that Java is pretty damn fast.

jneul, under some situations, Java is faster even than C++. If it was going to slow for you, I think it had to be something you were doing.

Anyway, if it was me I would probably use Ruby, just because I like Ruby. If you think Java is too slow, though, then Ruby is definitely too slow. Have you looked into AngelScript? It's faster than Lua, from what I hear. AngelScript syntax is very similar to C++. AngelScript is technically not fully OOP because it does not support multiple inheritance, but I don't think you should need that.
 

jneul

Member

you are right in some situations it is faster than c#, it wasn't my coding that caused it to be slower it's just that it can't handle complex mathematical calculations as well, it was not extremely slow, but still, i did notice the difference
anyway lets not turn this into a debate on programming skills :haha:

Edit: I have been thinking about what Zeriab said about different languages I may take his advice, thanks for all your input by the way. :biggrin:
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top