PDA

View Full Version : What would be your ideal development environment/engine?


ERoberts
08-10-2005, 03:35 AM
Every once in a while there's a thread on this board about what tool/development environment/engine to use, and it can be quite interesting to read.

I'd like for this thread to be a place where everyone can share thoughts on what their DREAM environment would be. What language should it be? Any of the existing ones, or a new language with what features? Integrated editors, cross-platform compatibilities etc?

Anything goes really, like making a wishlist. Because who knows, maybe someone reads this and decides to create it :D (before you ask, no, not me, I wouldn't know how to do those sort of things).

Oh, and maybe we could try and keep the "language X does that, why not just use that" kind of comments out of this thread, as I suspect that will quickly turn this into a "my language is better than your language" flame war. If need be, a separate thread could be started for people who wants to make language recommendations :-)

Nexic
08-10-2005, 04:25 AM
The main thing I would want is a cross platform system that automatically uses OpenGL if it can (at a decent speed), then falls back to DirectX, then if it can't do either (at a decent speed) it will go for software rendering. All of this would need to be packaged with an easy to use programming language (like Blitz). It would also need to be very stable for my to consider it.

ERoberts
08-10-2005, 04:48 AM
ok, good stuff :-) Could you maybe expand a little on what makes "an easy to use programming language"? I've never used Blitz myself, but often heard it (and other types of basic) recommended.

Nexic
08-10-2005, 04:56 AM
Well to me we are talking about code like this to draw a sprite.


GraphicsMode(640, 480, 16)

Cow = LoadSprite("moo.bmp")
x = 100
y = 100
PositionSprite(Cow,x, y)

Render()
FlipBuffer()

princec
08-10-2005, 05:01 AM
I already have my dream environment, except I would like a few more integrated tools which I'm too lazy to write.

Cas :)

ERoberts
08-10-2005, 05:08 AM
Ok, cool, what sort of tools are you talking about?

Bad Sector
08-10-2005, 05:09 AM
My dream language should be able to implement prototype programming in an easy way, have the strengths of C++, syntax similar to JavaScript, be loosy typed (only objects), support simple strings ('blah') and parsed string ("blah") where in the case of parsed string it should support stuff like regular expressions, in-string variable expanding and evaluation ("hello, my name is $name$", "$a$ + $b$ = $a+b$", etc) and have a compiler that produced highly optimized native code.

Also it would be nice to have "multicalling" for sets, for example somthing like:

function printAnimal(a)
{
print("Animal: $a$\n");
}

arr[] += "cat";
arr[] += "dog";
arr[] += "fish";

printAnimal(arr);


that should call printAnimal for each field in the array. So it would print


Animal: cat
Animal: dog
Animal: fish


eliminating the foreach structure :-)


AFAIK there isn't any language like that.
But who knows? I find compiler construction a very interesting thing... :-)

EDIT: And of course it must have anonymous functions:

ball.setObjectCollisionCallback({this.velocity = calculateReflectionVector(this.velocity, plane);});

and a method to assign whole objects:

ball.position = [40, 50];


I can come with ideas all the day :-)

princec
08-10-2005, 06:45 AM
I use Java, which most people in here don't like (true), and an IDE called Eclipse, which appears to be the best IDE I've ever come across. The IDE is extensible with plugins, written in Java no less, and it'd be nice if all my little gamey tools like particle effects diddlers and sprite texture packers were all integrated into the IDE as plugins so I didn't have to think too hard about using them.

Cas :)

James C. Smith
08-10-2005, 07:14 AM
My dreams use the exact same development environments/engine that I use in reality. It’s just that in my dreams, there is more time to work on more cool new games.

Well, to be honest, I with my engine could download and display HTML in the game. I want to add more community features it the game and I think this could help. But HTML is so overly complicated and inconsistently supported that I think it would turn into a mess. So my dream engine would have it’s own WYSYWIG content editor that could layout flowing text, images, and data. This data would be easily be sent from a server to the game and displayed in the game. And the format would be easy to generate from PHP code to make dynamically generated content generated on the sever and displayed in the game. In other words, it would do what HTML is supposed to do. And would work the same on all platforms without dramatically increasing the download size of the game nor the system requirements.

Nexic
08-10-2005, 07:33 AM
Hmm, actually the best dev enviroment would be one where the computer continuiously randomly generates games, and then after millions of randomly generated games it would pick the top ten best based on selling potential (which it calculates using its Super AI that knows exactly how the human brain works under all possible genetic makeups). Then lets you choose which you want. Then it would automatically build your website, make different builds and installer, upload everything then market constantly.

Or, slightly more realstically, an engine or game framework built specifically for shooter style games. This wouldn't be too hard because most have very many common elements.... oh wait, thats what I'm working on anyway :)

electronicStar
08-10-2005, 07:55 AM
All I want is a Java to native compiler. I don't ask much.

Kai Backman
08-10-2005, 08:00 AM
Well, to be honest, I with my engine could download and display HTML in the game.

Thread hijack .. :)

I was thinking about this specific issue a while back. There are some existing "interesting" solutions (http://interreality.org/projects/crystalzilla), but I wanted something that would be easier to manage. I also wanted to be able to use existing browser based tools for creating the data on the server. The idea I ended up was to stream out MediaWiki pages as they look in the database using WikiFormatting. I already have a stream based text formatter so it wasn't that much to envision it to read in the simple WikiFormatting instead. I haven't explored this fully yet, but it does look promising as a simple wire protocol for showing online and local content in the game. On the server side you would only need a single php script that spewed out the correct Wiki page as raw data instead of formatting it. This sounds a bit like what you are trying to do.

Then to the thread.

As for the Cas and James I'm pretty happy with my current system. If I knew what I wanted, I'd written it already. Most of my days are figuring out what I want in the first place.

princec
08-10-2005, 09:02 AM
All I want is a Java to native compiler. I don't ask much.
So use Jet.

Cas :)

jankoM
08-10-2005, 09:36 AM
But HTML is so overly complicated and inconsistently supported that I think it would turn into a mess.
That is why they created XHTML. One of the reasons for XHTML was that it is totally consistent and so far simpler for computer to understand so they could easily build browsers on gsm phones, cars and refridgerators...

I will be making some very simple ingame xhtml renderer really soon. I will need only basic text formatting (b,i,u,br, align, font-size and color). I can share you code, but I don't think it will be something anyone can make in a day or two.

regards,
Janko M.

Abscissa
08-10-2005, 10:29 AM
My dream development environment? A ten-acre arcade, with a panoramic view overlooking a giant waterfall and the coast, a free sushi bar and chinese buffet, and surrounded by hundreds of gorgeous nekkid women ;). Hmm... but I guess I wouldn't be able to get much development done in that environment...

So, I guess I'd settle for this as a dream development environment: Torque 2D, but in a non-early-adopter state (ie. all the planned tools and features added), with better compatibility, a D3D7 renderer, ported from C++ to D, a fully-featured IDE for the scripting language with debugging and profiling and a "strict" option for the scripting language. (Note: I'm not bashing T2D. I love T2D. But with a few improvements that I'd like to see, it would be perfect, imho.)

electronicStar
08-10-2005, 11:11 AM
So use Jet.

Cas :)
But 700$ is a good reason to procrastinate.:o

Ska Software
08-10-2005, 11:35 AM
I use Java, which most people in here don't like (true), and an IDE called Eclipse, which appears to be the best IDE I've ever come across. The IDE is extensible with plugins, written in Java no less, and it'd be nice if all my little gamey tools like particle effects diddlers and sprite texture packers were all integrated into the IDE as plugins so I didn't have to think too hard about using them.

Cas :)

Eclipse is excellent. I'm a VB guy myself, but if I had the time and energy to switch to Java I would. I could reach Mac users!

Unfortunately, I'm lazy. Only so much time to spend, I'd rather spend it getting stuff done in VB than readjusting to Java.

Abscissa
08-10-2005, 11:39 AM
I use Java, which most people in here don't like (true), and an IDE called Eclipse, which appears to be the best IDE I've ever come across. The IDE is extensible with plugins, written in Java no less, and it'd be nice if all my little gamey tools like particle effects diddlers and sprite texture packers were all integrated into the IDE as plugins so I didn't have to think too hard about using them.
There's a lot about Eclipse that I like, but I've had a lot of problems with it eating up more resources than even Visual Studio .NET, and being generally sluggish at times (especially while loading and after being in use for a few hours).

dima
08-10-2005, 11:40 AM
Eclipse is excellent. I'm a VB guy myself, but if I had the time and energy to switch to Java I would. I could reach Mac users!

Unfortunately, I'm lazy. Only so much time to spend, I'd rather spend it getting stuff done in VB than readjusting to Java.
Take a look at RealBasic, it's pretty much VB, and has many more interesting features. Has a VB to Real project converter, AND it's cross platform.

ERoberts
08-10-2005, 12:07 PM
Oh, and maybe we could try and keep the "language X does that, why not just use that" kind of comments out of this thread, as I suspect that will quickly turn this into a "my language is better than your language" flame war. If need be, a separate thread could be started for people who wants to make language recommendations :-)
..........

soniCron
08-10-2005, 12:34 PM
Director + Flash + MS Visual Studio + good and safe hardware accelleration

princec
08-10-2005, 01:54 PM
That's pretty cheap for what it does. Besides there's a cheaper version I thought which didn't do some of the crazier optimisations. (JET Standard)

Cas :)

princec
08-10-2005, 02:03 PM
There's a lot about Eclipse that I like, but I've had a lot of problems with it eating up more resources than even Visual Studio .NET, and being generally sluggish at times (especially while loading and after being in use for a few hours).
Try this commandline:
C:\eclipse\eclipse.exe -server -XX:CompileThreshold=100 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xincgc -Xms64m -Xmx128m -XX:JavaPriority10_To_OSPriority=10 -XX:JavaPriority9_To_OSPriority=9

(assuming you're running Java 5.0)

Totally transformed from clunky IDE into perfect IDE. The reason it uses so much RAM, is mainly because it's doing so much clever stuff behind the scenes for you.

Cas :)

mahlzeit
08-10-2005, 02:30 PM
My ideal development environment is something where I can focus on the gameplay, the graphics and sound, and how they all interact, without having to worry about the trivialities of actually coding anything. Programming is so passe. Who cares about linked lists and objects and references and all that crap anyway. Let's move up a few levels of abstraction. (Of course, I have no idea what that would actually be like.)

Bad Sector
08-10-2005, 02:42 PM
The reason it uses so much RAM, is mainly because it's doing so much clever stuff behind the scenes for you.

Funny, i thought that it was because it allocates way too many objects than the Java's garbage collector can cope with...

I got the "platform only" (pstn here, i can't just get 100MB for the JavaDev version - plus i don't write in Java). 25MB to do only plain text editing? Not even highlight?

Okay, there *must* be something about it because i always hear two things about Eclipse: how much awesome it is and how much slow it is. Almost always in that order :-).

Greg Squire
08-10-2005, 03:36 PM
The ideal system for me would be one that you could hook to your head and it would download/create the game directly from my mind. It would download and create all the art, code, etc. directly into a game in one fell swoop. Obviously this will never become a reality, but one can dream can't they? :D

milo
08-10-2005, 03:38 PM
Totally transformed from clunky IDE into perfect IDE.
Meh. Eclipse is OK I guess. I'd like it a lot more if it responded properly to drag-and-drop, or send-to messasges to open random files that aren't in the workspace.

Rod Hyde
08-10-2005, 03:57 PM
My ideal environment...


the speed of C
the expressiveness of Python
an IDE like Eclipse but faster
the visual design and components from Delphi
the just-hack-it-and-it-works of BlitzMax
the looks of Mac OSX
a UNIX prompt

...but I'd settle for anything that supports duck typing.

--- Rod

PeterM
08-10-2005, 05:11 PM
Well to me we are talking about code like this to draw a sprite.


GraphicsMode(640, 480, 16)

Cow = LoadSprite("moo.bmp")
x = 100
y = 100
PositionSprite(Cow,x, y)

Render()
FlipBuffer()
Something like that would rock. I've been trying to get the calling code size down to the minimum in IGE, but you just have to handle some OS / Direct3D things, causing more lines for the user.

electronicStar
08-10-2005, 07:12 PM
The ideal system for me would be one that you could hook to your head and it would download/create the game directly from my mind. It would download and create all the art, code, etc. directly into a game in one fell swoop. Obviously this will never become a reality, but one can dream can't they? :D
The market would be flooded with horrible games.

svero
08-10-2005, 07:37 PM
Similar to what I already use but

C++ (+) I like c++ except for a few things. Id like it with some minor improvements but not something like C# which is too ms specific.

MSDEV6 is quite good except for the help system which they broke. Id like msdev6 with msdev4.2's help system. (i heard .net was a little like that but i never tried it)

My Twilight engine is good but needs lots of improvements. It's pretty similar to the popcap engine (and indeed now even uses the popcap engine as a renderer.. which was easy due to their similarity). My only real beef is that it's not yet cross platform. Something like Popcap + Mac support would be ideal. Popcap + Mac + a simple way to create native web games from the same engine would be excellent. I guess I dont care too much about linux support although it wouldnt hurt.

One feature I would like is the one James C Smith mentioned, where the engine compresses the graphics to a cache which they can tweak and use to ship their games.

HairyTroll
08-10-2005, 09:30 PM
GraphicsMode(640, 480, 16)

Cow = LoadSprite("moo.bmp")
x = 100
y = 100
PositionSprite(Cow,x, y)

Render()
FlipBuffer()


Here's my Lisp code:


(sdl-init SDL_INIT_VIDEO)
(window 640 480 :bpp 16)

(setf cow (sprite :filename "moo.bmp"))
(moveto cow 100 100)

(draw cow)
(flip)


Or if I want automatic cleanup:


(with-init (SDL_INIT_VIDEO)
(window 640 480 :bpp 16)

(draw (sprite :filename "moo.bmp" :x 100 :y 100))

(flip))


And perhaps loop until the user closes the window, moving the sprite to random locations each redraw:


(with-init (SDL_INIT_VIDEO)
(window 640 480 :bpp 16)
(setf cow (sprite :filename "moo.bmp"))

(with-events
(:idle
(moveto cow (random 640) (random 480))
(draw cow)
(flip))))

ERoberts
08-11-2005, 12:23 AM
For all the people who wish to discuss the pros and cons of Eclipse, or recommend their IDE of choice, I've created a new thread:

http://forums.indiegamer.com/showthread.php?t=4064

I hope you guys can take your discussion there instead, and leave this thread to be about what features people would want for their ideal development environment (god, I wish there was a more strictly moderated indie gamedev forum somewhere).

princec
08-11-2005, 02:54 AM
How rude. You asked what my ideal development environment is, and it's Eclipse. You got what you asked for.

Cas :)