Other forms of programming...

Started by Technocrat, Sat 16/04/2011 16:43:42

Previous topic - Next topic

Technocrat

So, I'm looking to branch out and experiment with making games in other systems, perhaps on other platforms. Only downside is, outside of AGS, I've never wholly made any games using another system like C, Lua or even Basic. Sure, I've made levels and models for other games before, but nothing programming-wise.

So, couple of questions:

1) What would you say AGS is most similar too, in terms of its logic? What would I have the least trouble adapting to if I were to move into a format for making games from scratch.

2) What do you think is the best way of learning such a thing? I'm going to have a lot of spare time on my hands, after all.

As always, your help is always much appreciated!

mode7

Well I'm no more experienced than you. But for me the next step would be XNA. Its like it fills the gap between something like ags and a higher programming languages.  It is based on C# which is rather similar to AGS script (at least i think so It also seems to be very powerful and focused on game developement.

TomatoesInTheHead

I've never worked with it, but Microsoft's XNA framework for (especially) C# seems to be similar to AGS in terms of logic from what I read in a small tutorial: There's a game loop which is repeatedly executed, and you update and draw your game objects, and the XNA framework handles most of the resource management, like sprites and audios. As a general game development framework, it has of course nothing included like walkable areas, pathfinding and such (afaik; there are probably libraries for everything though).

C# as a language is syntax-wise very similar to AGS's scripting language, only much more object-oriented.

Edit: what mode7 says ;)

As to the best way of learning, I think there's no golden solution, it really depends on how you learn best. By studying the code of an existing project, by doing a simple game and then try to extend it, by watching video tutorials, reading manuals and browsing function references, or a mix of everything...

mode7

I heard the problem with XNA is that it has some issues with running in windows - at least I heard so. And AFAiK it requires silverlight. Makig games run on the Xbox seems interesting though.

Buckethead

XNA having issues on Windows wouldn't make any sense since XNA is made by Microsoft themselves. But I've never used it myself so it could be so.

If you want to see results very quickly Unity3d might be good. It can handle java script and C sharp and has the easiest pipeline you can imagian.

tzachs

I've developed with XNA in the past.
I love it, and I love C#, and it ran without any problems.
The major problem with XNA, and what eventually made me decide to stop working with it, is that it requires the XNA framework to run (not silverlight afaik). Most people don't have it, and won't install it if you tell them it's missing. I worked really hard back then to make an installer that will install it for you to make it easier for people, but lots of people also don't like installers...

Some more alternatives you have are:
1. Java. It's also very similar to c# (and AGS script). You can use the Lightweight Java Game Library that was also used to make MineCraft. Haven't used it myself, so I can't guarantee anything.
2. ActionScript3 (flash games). I'm currently using FlashPunk library with AS3, and it's all really simple and familiar.
I used this tutorial to get started.

Wonkyth

I'm working on a largish game project in XNA right now, and loving it.
AGS script was my first introduction to programming, too.
"But with a ninja on your face, you live longer!"

Technocrat

Quote from: Wonkyth on Sun 17/04/2011 09:58:57
I'm working on a largish game project in XNA right now, and loving it.
AGS script was my first introduction to programming, too.

How long would you say it took to move from AGS into XNA, then?

I'd been looking at XNA a year ago, but decided to put that on hold until I got back to the UK, and more regular access to an Xbox. Sounds like it could be a good direction to head in, though!

bicilotti

C++ and Allegro provide a free, crossplatform and no strings attached (should you ever decide to go commercial) alternative to XNA.

The community is friendly and tutorials abundant (example tutorial).

Check the depot to see what it is capable of.

AJA

A couple of years ago I started making an adventure game engine in XNA using Lua (LuaInterface) for scripting. Then I noticed XNA's sound system sucked and that project died. So, my advice would be to check if XNA's sound system meets your requirements before spending lots of time with graphical and gameplay stuff. The sound system may have been improved for XNA 4.0 but I don't really care enough to check. Instead, later this year I'll try to commit suicide by making the engine in C++. :)

Just in case you think maybe you should try out C/C++, I'll just say one thing: DON'T. Moving from AGS to C++ is like moving from a four star hotel to the bottom of a swamp. The C# language, for example, is much safer, easier and faster (in terms of productivity).

So yeah, try XNA first.

TomatoesInTheHead

Quote from: Technocrat on Sun 17/04/2011 17:13:26I'd been looking at XNA a year ago, but decided to put that on hold until I got back to the UK, and more regular access to an Xbox.

As far as I know, XNA requires a paid dev-community membership or something to work with Xbox or Windows Phone, otherwise it can be used only to develop PC games.

Wonkyth

#11
As long as you stay away from developing for the xbox, it's free as beans.

EDIT:
Here are two sites that gave me everything I needed to get going:
http://rbwhitaker.wikidot.com/game-development-kit
http://www.csharp-station.com/
"But with a ninja on your face, you live longer!"

Clarvalon

Quote from: AJA on Sun 17/04/2011 18:53:42
The sound system may have been improved for XNA 4.0

It hasn't, unfortunately.  There are still some glaring omissions, like being able to jump to a specific point in a piece of music (which can cause problems for things like saving & loading during cutscenes).  At least for the Windows PC version it's trivial to plug in some other audio library.

XNA doesn't require Silverlight, but it's true that it requires an installation of the XNA redistributable.  A good installer or publishing via Click-Once will do all the work for you.

There are also numerous open-source projects working towards making XNA support other platforms, such as MonoGame, Silversprite and ExEn.

One other benefit of C# or C++ is being able to use Visual Studio, which makes things like debugging extremely easy.
XAGE - Cross-Platform Adventure Game Engine (alpha)

SMF spam blocked by CleanTalk