Delphi,VB,C#,etc

Discussion in 'Game Development (Technical)' started by Jay_Kyburz, Dec 2, 2004.

Thread Status:
Not open for further replies.
  1. Jay_Kyburz

    Original Member

    Joined:
    Nov 21, 2004
    Messages:
    180
    Likes Received:
    0
    In the recent interview with the Top Style guy (Bradbury), I noticed he used Delphi to put together one of his products. I'm a bit conflicted about what platform I'd like to use and was wondering what you guys use.

    I've used Delphi many years ago and really like Pascal. Having read the the original creator of Delphi now heads up the C# team makes me think it is worth serious consideration.

    My only fear with C# however is that it requires the .NET framework and this will reduce my potential market.

    I really hate C++ and I'm looking for a "modern language"

    So do any of you use C#, Delphi, Visual Basic, Python and if so, what do you think of them?

    Do you have any advice that will help me choose?
     
  2. Ryan Clark

    Indie Author

    Joined:
    Oct 29, 2004
    Messages:
    656
    Likes Received:
    0
    Well, it depends what kind of game you're making, but if it's 2D, and you're only targetting Windows, VB makes things pretty easy.

    At the game programming wikI (see my signature line) we've got a number of VB game programming tutorials. I'd be happy to help you, if you run into any trouble.

    However, I myself have gotten away from VB game development, simply because I'd like to target Windows/Mac/Linux... so it's C++ with SDL, for me.
     
  3. Rainer Deyke

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    380
    Likes Received:
    0
    My opinion, based on technical aspects of the languages but ultimately subjective:

    Delphi: offers no benefits at all over C++, and is worse in many regards
    Python: great language. A bit slow, but that's why there's Pyrex and Psyco.
    Java: dumbed-down C++.
    C#: Java with some neat extras; still dumbed-down C++.
    C++: despite its flaws, still a very useful language. Unfortunately very few programmers can handle the language effectively.
     
  4. Diragor

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    293
    Likes Received:
    0
    That strikes me as a rather C++ elitist rundown of those languages. C++, if mastered, may be the most powerful and flexible of all the languages mentioned in this thread, but I don't care. If I can become more productive with any of the other languages in a much shorter time, and that has been my experience, then that's what I'm going to do. Delphi is my personal choice because to me it has the greatest strengths-to-weaknesses ratio of all of the languages I've tried. C# is actually what I wish I could use most of the time, but there are still a couple of showstopping downsides to the .NET platform, IMHO.

    No offense intended, btw, you're entitled to your opinion.
     
  5. Rainer Deyke

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    380
    Likes Received:
    0
    C++ happens to be something that I'm familiar with, so naturally that colors my perspective. Sorry if that makes me sound elitist.

    I'm curious about what you like about Delphi. To me, programming in Delphi feels like going down to C or assembler: all of a sudden I have to worry about all of the issues that I left behind when I moved to C++ and Python.
     
  6. Dominique Biesmans

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    101
    Likes Received:
    0
    I'm sort of expecting a witty remark by Cas here.
     
  7. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    No wit, just facts :)

    I love dumb languages! I hate wrangling with compilers and crazy computer shit. I hate computers in fact! Why can't the things just obey my commands?

    The dumber the language, the better it is for getting a project done.

    Cas :)
     
  8. Ronkes

    Original Member

    Joined:
    Aug 3, 2004
    Messages:
    113
    Likes Received:
    0
    I've been programming in C# for about three years now and if I could, I'd write all my games in it. Unfortunately, it requires the .NET Framework and I fear that will scare off too many customers.

    Now that I'm programming games, I use C++ again. It has many quirks, but I've been using the language for years, so I'm getting quite good at it and I even find myself to be productive. :) Nevertheless, I still prefer C#.

    As to C# being a dumb-down C++: I know both languages quite well and I can say that the statement doesn't hold true at all in my opinion. I'll leave it at that; I wouldn't want to start a flame war over it.
     
  9. EpicBoy

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    624
    Likes Received:
    0
    There is nothing dumbed down about C#. It does everything C++ does, but does it properly and safely.
     
  10. squidfishes

    Original Member

    Joined:
    Dec 2, 2004
    Messages:
    1
    Likes Received:
    0
    .NET on Linux

    C# is now available on Linux as well... see http://go-mono.com. It essentially emulates most of the .NET structure. Being a Torque user, though, I still have to stick with C++, at least until they support C# (probably won't happen).
     
  11. ggambett

    Moderator Original Member Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    1,982
    Likes Received:
    6
    That may be true, now that they have "invented" partial classes and generics, which are still less powerful than C++ templates...
     
  12. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    And for anyone who doesn't know me: my games are written in Java. Check them out and have a little think about the whole issue.

    Cas :)
     
  13. EpicBoy

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    624
    Likes Received:
    0
    Well, less powerful in that they are tightly type checked, which I personally don't view as a negative thing.
     
  14. James C. Smith

    Moderator Original Member

    Joined:
    Aug 21, 2004
    Messages:
    1,768
    Likes Received:
    0
    I would consider using a “modern†language if I could find one that was designed to generate a standalone EXE file rather than requiring a large run time environment. Sure, you can get special compilers to generate a monolithic EXE from Java or C# source, but the thrust of the design of the language isn’t focused on that. The language designers (and the supporting community) focus on using the large run time environments and then some 3rd party comes up with an afterthought solution to making and EXE. Can you use Python, PHP, C#, Java, or any other “modern†language to generate standalone EXE (does not require other files) that is less than 400k is size? Is anyone focusing on designing a language where an important design consideration is the distribution of the resulting program? I don’t want my users to know or care what language I used to make my EXE. They shouldn’t need to install anything extra. An EXE should just run.

    I know Delphi can be used to make small EXEs and VB (pre dot Net) could generate reasonable sized EXEs that required a moderately sized DLL. But I don’t of anything more “modern†that can do this. Heck, FLASH is better at generating distributable EXEs than C# and Java. Of course, if every computer in the world already had the dot NET runtime installed than C# and other dot NET based languages would do a very nice job of generating redistributable EXEs.
     
  15. Siebharinn

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    27
    Likes Received:
    0
    There isn't any compelling reason to write games in C++ any longer. Bits here and there, maybe. But the whole thing?

    Preach it! Preach it! I still don't like Java much, but preach it! :)
     
  16. DavidRM

    Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    156
    Likes Received:
    0
    I've used Delphi for all of my projects since 1996. It works, and works well.

    However...for future projects, I'm planning to head back to C++. Why? Primarily for cross-platform compatibility. Delphi is just too tied to Windows (and not even *all* Windows, since they have yet to support Pocket PC). C++ isn't automatically cross-platform, of course, but you have a lot more options for that with C++ than you do with Delphi.

    I might consider Java or C#, but I'm not a fan of runtime environments. Only interested in standalone EXE's.

    -David
     
  17. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Use JET to get a standalone .exe in Java. I believe there's some equivalent in C# too. Or cheat like I do and embed the JVM. Costs me 2.5MB on top of the rest of the game code but that's largely a problem of the past as far as I'm concerned. As I'm targeting MacOS X too now as my primary platform I really don't care, as it's got Java built in.

    Cas :)
     
  18. Eriken

    Original Member

    Joined:
    Sep 15, 2004
    Messages:
    4
    Likes Received:
    0
    In the end it comes down to what you prefer ;) Usually in questions like this there will mostly be subjective answers.. I guess that's why they keep on closing these kinds of posts over at gamedev.net :D

    The big difference in my subjective little opinion about languages these days is that most books and communities in game development is mostly written with examples in C++ which gives it an advantage.

    If you really like Pascal try Delphi/Kylix or Freepascal, and it is possible to make good games with Pascal ;)
    _____
    Eriken

    (Yes, I'm using Delphi :p )
     
  19. Diragor

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    293
    Likes Received:
    0
    DavidRM - I'm having exactly the same thoughts about the cross-platform issue. It's a shame, because if Borland released a Mac version of Delphi (discounted for owners of the Win version, of course) I'd order it now.

    Rainer - my opinion of Delphi and C++ is exactly the opposite of yours: I feel like C++ is the language that forces me to worry about a lot of stuff that Delphi doesn't. I love the VCL and all of the functionality it provides without 3rd party libraries or worries about compiler compatability, and I like how easy the code is to read. Making GUIs is a snap, nothing is over-complicated, and it does a lot of work for you but doesn't prevent you from getting your hands dirty. If I want to take the risk of hanging myself in Delphi code, the rope is there if I ask for it. C++ seems to hand you rope at every opportunity and begs you to tie it around your neck. That's my opinion of the two languages in a nutshell: Delphi makes my life easier, C++ makes it more difficult.

    From what I've seen so far, every positive thing about Delphi is also in C#/.NET, and then some (though Delphi 2005 is a BIG step up). If it weren't for the .NET runtime distribution issue I'd be all over it.
     
  20. Valen

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    133
    Likes Received:
    0
    Oh I've thought about it. :) And decided to use C++ for the backend and Lua for scripting/front end (bindings via LuaBind). I don't see why anyone needs to use the Godzilla sized Java when Lua adds like 150K to your distribution. The only thing that sucks about it is that you have to write your own debugger if you want one, but it has an API to make that easy to do (I just made a stack dump function for now). And the only thing that sucks about LuaBind is that binding code is very slow to compile because LuaBind is heavy on templates. But once you have the bindings, you can write things with enormous speed. You can literally write code and see the results instantly. You can even set things up so you don't have to restart the game since scripts are interpreted at runtime.

    Lua is dynamically typed, and it's also not required to declare variables before using them. Functions are first class values meaning that you can store references to them in variables or containers. There're a whole bunch of other nice things about it like support for regular expressions (though this is true of most scripting languages today). And of course since it's written in ANSI C, it's completely portable. Just like all the other half dozen libraries I'm using. :) For my current game I'm storing all data either in XML or scripts, so it should be a snap to port.

    This is very true. It takes many years of learning and using C++ to get to a level where you can REALLY take advantage of it. I'm trying to strike the right balance between using C++ and a simple scripting language like Lua. Right now I'm using C++ for reusable components, and Lua for game specific code. So far I've had mixed results. Lua lacks good OOP support, without which I've been having problems (after getting used to OOP you get withdrawal symptoms when it's taken away from you :)). LuaBind does provide some level of OOP support in Lua, but nothing like the robustness of C++.
     
    #20 Valen, Dec 3, 2004
    Last edited: Dec 3, 2004
Thread Status:
Not open for further replies.

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer