The comment section was not working in the past days. I had some trouble with a lot of spam but hopefully it works now. You can also login with you Twitter or FaceBook account now. I am happy to see your comments. I will try to post about ShugenDo on the weekend.
Today I want to introduce myself and I want to update you about the progress of ShugenDo. My name is Şahin Vardar, 29 years old and as you know I am the author of ShugenDo. Bellow you can see a picture of me.
I am born and raised in Berlin and I am proud be a Berlin native ;). As some of you know I am working more then 5+ years on ShugenDo. In the past I had small but very active community, now I want to go back to my roots and I want to connect more to the community and inform you more about whats going on. In those years I had the chance to meet a lot of talented people. The mugen community has some great people which do incredible things with mugen and I think with a better tool they can even archive better results in less time. My intention with ShugenDo is to make it more comfortable to create content for a beat’em ups. Also I want to give you guys new ways to create beat’em up games. Since the last 10 years there was no evolution in this genre. Nowadays technically we have more opportunities which are not used for beat’em ups. I want to change this and want to give the community the best tools.
Now you can find me on twitter. Feel free to fallow me and send me message, I will be glad to read them. You can also use your Twitter or Facebook account to post comments on this site. Give it a try on this post
I made a visualization of the work on the ShugenDoEngine. Since 2012 am not working alone on it. My buddy Jan did a great job on the scripting system and other very important parts of the ShugenDoEngine. Thanks to him we have true color OGV video playback and other incredible features of the ShugenDoEngine but more on that in a later post. This video visualize the development of 1458 day in ShugenDo. It starts from 2010 until 7th march 2014. As you can see there is a lot of work put into the engine. And remember this is the new engine which was created form scratch after I was not comfortable with the old engine. About the same amount of time was spend on the old ShugenDo. Me and Jan are putting a lot of hard work into the engine to save you a lot of time and work.
I wish you a merry Christmas to all of you. Thank you all for your support in this early stage. I am proud to have supporters like you.
I am deeply sorry for the lack of blog post. The reason for the lack of blog post was some good work on the ShugenDoEngine. But never the less I will update you more often about stuff I am working on. I think it is important to show you what my vision of ShugenDo is and on what I am working right now.
After some researches on my old HDD I found the last Beta version of ShugenDo. Since it is some time and some of you would like to see how the old Beta was. Here it is
Keep in mind that this is the old beta and has nothing to do with the current in development version of ShugenDo.
In Versus mode you can choose your stage with a live preview by pressing left or right to choose the next stage.
At the player select screen you can choose the color of your player by pressing left and right after you selected your player. To confirm press A button again.
Here the key mapping
UP = Arrow Up
DOWN = Arrow Down
LEFT = Arrow Left
RIGHT= Arrow Right
A= Numpad 4
B= Numpad 5
C= Numpad 6
Y= Numpad 8
Z= Numpad 4
UP = w
DOWN = s
LEFT = a
In this post I want to talk about the scripting language of ShugenDo. As you know Mugen uses a scripting language called cns. The strong and week point of Mugen is the cns scripting language. It allows you to flexible create your desired characters. But the cns scripting is old and has its draw backs. You need a lot line of codes to accomplish your task in comparison with the script language used in ShugenDo.
Because the scripting language of an engine is very important I took a lot of time to evaluate which kind of scripting language to use. And finally I found a good one. ShugenDo will use C# as its scripting language. C# is a modern object oriented programming language which is used by millions of people around the world. By choosing a language for scripting you have to take several factors in to account. Here are some factors which were important for me.
Object oriented. Object orientation is the common standard nowadays and you should expect it form any programming language.
A rich standard library is very important. Do not waste your time by coding something which the standard library can provide. You do not want to (re)create your own collections classes. C# has a rich standard library for nearly anything you need. On top of that ShugenDo provides you with classes and functions for your daily work.
A good debugger. A debugger can improve finding bug in your code dramatically.
Good run time performance. C# code will be jitted and you have the ability to recompile your code to the CPU machine code of your target platform.
Garbage collection. A good scripting language should not let you worry about memory management. C# uses a garbage collector which will free unused resources automatically.
A great supporting community. Since C# is used by a broad user community you can find a lot of resources related to your problems.
Compiles code to a binary. So you are not forced to provide your source code with a release of your character. It is up to you to provide your source code.
A good editor. You can use your favorite C# editor like Visual Studio or MonoDevelop. Those editors are featuring syntax highlighting and autocompletion.
In the end C# satisfied all of the above factors for me. And I think it will be the key point to make a good fighting engine. Every thing from charterers, menu , level or level objects will be code in C#. Even the game logic will be coded in C#. I will give the community the ability to influence the game logic and expand it. I get a lot of feature requests and I think the best way is to provide you the possibility to implement those feature by your own. This way the community can create new game modes or new features. I strongly believe in user generated content and I think great things will happen when I provide you with the best tools to create it.
In the past post I mentioned that C# and CNS differ to much. But it seem like a CNS compiler to C# is possible. Right now I am evaluating it.
Okay whats is the difference between ShugenDo and the ShugenDoEngine? And whats the point about it anyways? What you have seen in the past was ShugenDo. ShugenDo is the beat’em up engine which allows you to create characters , levels etc. for a beat’em up game. ShugenDo was a clone project of M.U.G.E.N in the past. After years of development I decided to stop the way of development of ShugenDo. You can read more about the reasons on my previous post.
After I decided to recreate ShugenDo I also decided to create the ShugenDoEngine. The ShugenDoEngine is the engine which will power up ShugenDo. After all my experiences I got when developing ShugenDo in the past I decided to create a general purpose engine which I can use to create ShugenDo. So why not using an existing engine to develop ShugenDo? I did a lot of research before I began the development of ShugenDo. All the engines which I could offer was not satisfying me. In the past I used SDL to create ShugenDo, but SDL is a low level library to manage input and output in a cross platform manner. Even SDL was not satisfying me for its purpose. After all that research I decided to create a general purpose cross platform engine which abstracts the basic input/output layer and which includes support for high level daily use task in game development.
So before the development of ShugenDo could start I had to create the ShugenDoEngine. The creation of the ShugenDoEngine took its time but all that effort was worth it. The ShugenDoEngine will provide you incredible ways in creating your content. It is amazing how fast and good you can develop content for it. The ShugenDoEngine was developed with ShugenDo in mind. To make ShugenDo great the ShugenDoEngine has to be great and I am proud to say that the ShugenDoEngine is amazing. I had the opportunity to work with a very talented friend of mine on the ShugenDoEngine for about 1.5 Years.
So here a list on what you can expect form ShugenDo thanks to the ShugenDoEngine.
ShugenDo will be cross platform compatible. For now Windows, Linux and Android.
ShugenDo support 3D sound and the playback of OGG music files.
ShugenDo support the playback of OGV Video files. They are in 24 Bit true color and will be streamed form you HD without hurting your RAM. So no more packing videos in SFF files and the lose of color.You can integrate those videos anywhere you want. You can use them in cut scenes, as background elements in a level or in menus.
ShugenDo uses C# for its scripting. C# is one of the best programming language which I can imaging to create gaming content. Unity 3D is also using C#. Look at the great games which where made with it. I will post about the scripting engine in the next post. So you can better understand why its so cool and why it will shorten your development time.
ShugenDo uses fully hardware accelerated rendering on all platforms. This means you can play your HD content at full 60 FPS with out bothering you system to much. Also first time it is possible to create mixed 2D/3D scenes like seen in Marvel vs Capcom, Blazeblue or Strider 2.
ShugenDo will be online playable.
ShugenDo enables shader based rendering. You can write you own rendering shaders to create the visual style you want.
A what you see is what you get editor will be developed to improve development speed.
You can change your files and ShugenDo will reload them on the fly. So you can make changes and you will see them without restarting ShugenDo. I will blog about that feature.
ShugenDo uses a game component object model which the modern approach on creating games.
The ShugenDoEngine has a very rich library which you can use for you daily work task. You need a way to move a object on a defined Bézier curve? Define your checkpoints and let your object move. Just simple as that. You do not have to code the implementation of a Bézier curve interpolator.
In the next post I will show some showcase so you can see how the feature will effect you workflow.
As you may wonder, you see two sections here. The first section is about ShugenDo and the second section is about the ShugenDoEngine.
So what is it all about and why two sections and what happened to ShugenDo. So let me explain.
All of you remember that ShugenDo once was an attempt to be a MUGEN clone. For about 5-6 years ago I decided to write a MUGEN clone. Since back in that time Elecbyte disappeared and Mugen discontinued with no hope for any improvement. I was a huge fan of MUGEN and liked the idea of an flexible beat em up engine, which allows the community to create anything they want. Over the years my knowledge of how the internals of mugen were working increased and I was able to write my first clone. The first version of ShugenDo was able to play KFM. Still I underestimated the amount of work which it needs to get near where MUGEN is right now. But even after realizing how hard it is, it did not stop me from continuing my work.
After 5-6 Years of developing ShugenDo, its progress was impressive. It has a lot of features which MUGEN still lags today. Some features will be in the next version of MUGEN but not all of them. So what happened to ShugenDo and why the long pause you will ask yourself? One main impact event was the return of Elecbyte but this was not the main reason for stopping the development of ShugenDo. After Elecbyte was back in the game I toke some time to look at ShugenDo and to reevaluate what I want to establish with it.
There were several aspects which stopped me developing ShugenDo as you know it.
The engine code was not in a good shape. I was a noob in the beginning of developing ShugenDo. My skills were far behind of what I am capable now. But my skills improved with the development of ShugenDo. But after looking back at it from my new point of view now, it was too hacky and each new improvement would be hard to do.
ShugenDo was a clone of MUGEN. As more I know about MUGEN the more I realized how buggy and uncomfortable it was. The CNS script language has it limitations and a lot of bugs. Making a clone means to implement bugs to get chars working for ShugenDo. In fact I did that but it is not very satisfying to write code which simulates a bug.
I was working alone. Working on ShugenDo alone was ridiculous . I underestimate the amount of work. ShugenDo had 100K lines of code which is pretty impressive to do. Good news is that I am not working alone anymore and working with another guy. It is impressive how the speed of progress increases.
MUGEN was not state of the art anymore. Creating content for mugen is a pain in the a**. Just look at the CNS file of KFM. It is ridiculous how much lines of code you need for a simple character like KFM. So why recreating something like that?
So whats about ShugenDo and the ShugenDoEngine?
After I took the idea to create ShugenDo from scratch( throwing away 100k line of code) I separated ShugenDo into ShugenDo and the ShugenDoEngine. The ShugenDoEngine is the engine which powers ShugenDo. I decided to create a new engine not only for ShugenDo, this engine is for more general purpose use. With the engine you can create any kind of multimedia apps like games. So why creating a new engine and not using existing one? The simple answer is that non of the available engines which I could offer was satisfying me( Unity3D was not available back in time then) . In the next post I will talk more about the ShugenDoEngine and what you can expect form ShugenDo.
I know that its been a while since you heard anything from me and some of you wonder what happened in the mean time. I am back on track and I want to inform you about whats going on right now. First of all I want to thank everyone who still believes in ShugenDo and me. After so long there are still users which recognize me. Time by time i get E-Mails which asks for ShugenDo. I will blog about what happened and where the road will go.