Page 1 of 3

Development Blog

PostPosted: 15 Apr 2013, 07:20
by Lewin
For a while we have discussed creating a blog to post articles about the development of the KaM Remake. Recently we followed through on this idea and created the blog, it can be viewed here:

http://www.kamremake.com/devblog/

Articles will discuss technical aspects of the project and reflect on lessons that we have learnt through the development of the KaM Remake.

Re: Development Blog

PostPosted: 15 Apr 2013, 13:53
by dicsoupcan
This is a nice idea. Even though i do not understand what you are saying most of the time (i thought pascal was a person, but it appears to be a program :$ ) but it can be really interesting.

Re: Development Blog

PostPosted: 15 Apr 2013, 13:59
by Lewin
This is a nice idea. Even though i do not understand what you are saying most of the time (i thought pascal was a person, but it appears to be a program :$ ) but it can be really interesting.
Pascal is a programming language (like Java, C++, etc.) which was named after a French mathematician Blaise Pascal :) (you may have heard of Pascal triangle from maths)
The KaM Remake source code is written in it, and so are dynamic missions.

Re: Development Blog

PostPosted: 15 Apr 2013, 14:00
by dicsoupcan
haha that makes way more sense ^^

Re: Development Blog

PostPosted: 15 Apr 2013, 14:06
by sado1
(i thought pascal was a person, but it appears to be a program :$ )
xD


Nice stuff, another thing to add to my feed reader.

Re: Development Blog

PostPosted: 17 Apr 2013, 12:41
by Siegfried
Lol, the language issue is quite a good issue to start with :)
There is nothing more retarded than those flamewars that usually break out then. And I still don't understand why you didn't choose C#, especially since you keep on using C#-codes. You'd have spared the extra work of porting it. And yes, of course I say this because I am a C#-coder who, of pure laziness, is not willing to refresh his old Pascal-knowledge ;)

Re: Development Blog

PostPosted: 17 Apr 2013, 15:05
by Lewin
Lol, the language issue is quite a good issue to start with :)
There is nothing more retarded than those flamewars that usually break out then. And I still don't understand why you didn't choose C#, especially since you keep on using C#-codes. You'd have spared the extra work of porting it. And yes, of course I say this because I am a C#-coder who, of pure laziness, is not willing to refresh his old Pascal-knowledge ;)
We've only ported two minor things from C# so far, the Hungarian solver and Krom is now experimenting with a path finding library. If we used C# we wouldn't have awesome stuff like MadExcept and PascalScript (although I guess there are probably alternatives). No matter what language we choose, there'll always be some algorithm we want which needs to be ported over. But it's hardly a big deal to do that.

What compiler do you suggest to use with C#? I've never really tried it, but the syntax looks quite nice (less like C, more like Pascal :P)

Re: Development Blog

PostPosted: 17 Apr 2013, 16:26
by Siegfried
I've seen the pathfinding on google.code, that's why I mentioned it. Please follow that road to the end! There has been quite some progress in the last decade, and I love that you're experimenting with that.

On general: the choice for Pascal has been made and it's not my intention to criticize you on that. Also I don't want you to consider switching or anything. I'll just sum up some points for C# that I like (I learnt C++ but was forced to use C# at work):

- Compiler
If you want to be 101% sure that it's cross-compilant, then I'd suggest to use the mono-framework on both windows and Linux/BSD-platforms. Mono has become very good, it brings along its own compiler. Everything is completely free, except that you're missing a good IDE.
An example for a nice gaming project realized with C# on mono is the openRA project (http://openra.res0l.net/) - which btw is a kickass remake of the old C&C1, Dune2000 and Red Alert 1 game, although imho they screwed up in a technical aspect).

But I'd rather suggest to develop under Windows because of the Visual Studio - or if you don't have this, you can use the free (as in beer) Visual C#, which has only little limitations compared to the full-price Visual Studio. Either way, as a student you can have the Visual Studio for free as long as you don't make money out of your projects. Visual Studio (and the Express version) brings its own compiler. Out of a personal taste I'd suggest to avoid Visual Studio 2012. Imho it's below the 2010 version.

Well, and speaking of cross-compatibility: if you even wanted to have the game on iOS, Android, Playstation etc., then you could choose the monogame (the mono-equivalent of Microsofts commercial XNA Game Studio) There has been quite some progress in the last year regarding C#, games and cross-compiling.

- Bugreporting
A quick search on stackoverflow brought up quite a list of reasonable looking tools. I did not use any of those, so I can't give you details. But judging from the screenshots they look similar to MadExcept.

- Scripting Host
Not surprisingly there are quite many implementations of different languages. You could have a script with a C#-styled syntax or the universitys darling, the Python-syntax. You'd find a free scripting host for almost all languages that you'd need. Even for javascript, which would be an awesome scripting language because so many people know it. The mapmakers are people different from you: they don't necessarily know Pascal, but JS is quite known out there, so chances are that they're more familiar with that.

Re: Development Blog

PostPosted: 17 Apr 2013, 17:36
by Nissarin
If you want to be 101% sure that it's cross-compilant, then I'd suggest to use the mono-framework on both windows and Linux/BSD-platforms. Mono has become very good, it brings along its own compiler. Everything is completely free, except that you're missing a good IDE.
Why, Monodevelop is very nice piece of software, that being said I'm using (G)Vim for everything :P
An example for a nice gaming project realized with C# on mono is the openRA project (http://openra.res0l.net/) - which btw is a kickass remake of the old C&C1, Dune2000 and Red Alert 1 game, although imho they screwed up in a technical aspect).
Duh.. nice example of game written using mono(game) is Bastion, I was quite surprised to be honest..

Re: Development Blog

PostPosted: 18 Apr 2013, 06:30
by Siegfried
Why, Monodevelop is very nice piece of software, that being said I'm using (G)Vim for everything :P
Tbh I haven't tried v3. I have Visual Studio, so there is no need for me to do that. But I think I will give it a try some time, especially because VS2012 sucks ;)
Duh.. nice example of game written using mono(game) is Bastion, I was quite surprised to be honest..
I didn't know that game before. But you can't seriously compare a full-price game (or Skype :P ) with a hobby project like the kam remake. That's why I chose openRA for comparison, because it's similar to KaM Remake.

Re: Development Blog

PostPosted: 18 Apr 2013, 10:21
by Nissarin
I didn't know that game before. But you can't seriously compare a full-price game (or Skype :P ) with a hobby project like the kam remake. That's why I chose openRA for comparison, because it's similar to KaM Remake.
I mentioned Bastion because it works and most importantly it works well, so it's just an example that you can make something good using C# :)

Re: Development Blog

PostPosted: 18 Apr 2013, 12:24
by T*AnTi-V!RuZz
Tbh I haven't tried v3. I have Visual Studio, so there is no need for me to do that. But I think I will give it a try some time, especially because VS2012 sucks ;)
Why does VS2012 suck, exactly? I'm using VS2010 and it's the best IDE I've ever worked with. Especially compared to Netbeans for Java programming :rolleyes:

Re: Development Blog

PostPosted: 18 Apr 2013, 15:17
by Siegfried
It's all about the new UI. It feels so wrong. It starts with the lack of color, which makes it hard to hit the correct buttons - which additionaly have been shrunk. THE ALL CAPS MENU TITLES seem to be a minor thing at first, but they are very annoying. It's meant to minimize distraction from the code, but actually these are the tools you need to work with the code, so imho it's a failure to distract from them.
But in my opinion, the new tabs are the most annoying thing. You can temporarily open a code file, which sounds like a good change. But it opens on the top right in the tab bar, which makes the mouse path very long in larger projects where you have to jump between files often.

All in all, you really feel that VS2012 has been made in agreement with the Metro UI of Win8. Everything is made for crappy tiny tablet displays. But I am used to work on large monitors, so all the changes made to the UI are complete contra-productive for me.

Fortunately, I have not (yet?) been forced to develop for Win8, so I went back to VS2010. For me, this really is the king of IDEs. The changes in VS2012 are minor, but every single UI change makes my life harder. The little improvement in technical functionality doesn't compensate for the UI.

Re: Development Blog

PostPosted: 22 Apr 2013, 13:42
by kocsis1david
What I seen so far, cannot be compared to VS2012. Visual Studio is the best IDE in my opinion. I don't have any difficulty with the Metro UI and VS2012, I could have got used to it in no time, despite I expected a worse UI because people say that.

Re: Development Blog

PostPosted: 04 May 2013, 00:21
by H.A.H.
Actually, I haven't developed in Pascal before. But given experience with Java/C# and OOP, I think Pascal is far more liberal in general OOP principles than both of the other languages.
Also, I never liked virtual machines for some reason; Pascal compiles to x86.

Perhaps the most interesting part of developing with Pascal is the Lazarus IDE. I've never used multi-windowed programs, but after about two weeks I love it.

BTW, currently working on an UML model of the code structure, but can't seem to find that original topic in which one posed that idea.