Adventure Forums

Adventure Forums (https://adventuregamers.com/archive/forums/)
-   AG Underground - Freeware Adventures (https://adventuregamers.com/archive/forums/ag-underground-freeware-adventures/)
-   -   Which engine.. if any? (https://adventuregamers.com/archive/forums/ag-underground-freeware-adventures/10112-engine-if-any.html)

thesleepless 08-31-2005 03:02 PM

Which engine.. if any?
 
2 Attachment(s)
Hi, i'm new here, and i'm interested in working on a small adventure game.
I like the idea of doing it in small chapter/1 in game day based segments. that way i dont get bogged down too much with a long project, which happens to be a lot.

and i've had a look at the various common engines i've seen around
AGS, Agast, wintermute
can someone tell me any i've missed.
so far all of those are crossed off my list. being a linux user i want something that is cross platform for both developing and playing.

i'm pretty well versed with C/C++ and other programming languages and if i cant find anything i want to use i'll probably make my own opensource engine using LUA for scripting and Allegro or SDL for graphics/input/sound/etc.

Blurb:
My game is set in 2024 in the dump of city i live in, basically just where i live now but more decayed and polluted in 320x240x8bit graphics with much the look of space quest 4 and using a scumm style conversation system, the first chapter will be a dark and humourous game about a young man who's rent is due and electricity has just gone out and he has to go and take his unemployment form to the dole office to get his payment, of course everything goes wrong, your girlfriend has left you and stolen your bike and the keys to your letterbox and your out of coffee, and you cant leave the house till you've had coffee, etc etc.

i'm very open to advice as i dont just want to make another game exactly like everything else, so tell me what you'd like to see in this kind of thing, although seeing as its my first foray into this type of project i'm keeping my sights set low to begin with

thanks for any help and advice
i leave you with some artwork for the game

Candle 08-31-2005 03:28 PM

http://www.gmacwill.com/lassie/

thesleepless 08-31-2005 03:36 PM

thanks for that one, though not something i'd go with, due to the lack of cross platform,
shockwave flash however is a possibility i will consider
*ponders*

Orange Brat 08-31-2005 05:00 PM

It is cross platform...it works on PC & Mac, and I'm assuming Linux if there's a Flash plugin for it.

Wintermute is what you'll want to go with if you want to use 3D objects on top of 2D backgrounds. I'd also recommend it if it's all 2D. Check out the Project Joe demo to see a 2D example. WM isn't cross platform, though...PC only, however no other publically available adv. engine features 3D.

If you want to do an all 3D game, I'd recommend 3D Gamestudio. That's what I use. There are other choices, but it's the easiest to get into, but it also is not cross platform.

thesleepless 08-31-2005 11:44 PM

seems to require Director, for which there is no linux plugin available, there is a flash one though, i'd really like something opensource, but doesnt seem theres many options available... looks like i'm gonna make my own engine.

any ideas or suggestions welcome

current plan is:

simple engine, uses allegro for graphics, opens png images for sprites and backgrounds, ogg.vorbis for sound effects and music, speex for voice, maybe theora for video if its needed, LUA scripting for the game
each scene has 3 main images, background layer, walkbehind mask, walkarea / scale image: where the index represents the percentage that the characters over that pixel are scaled, or if its 0 then they cant go there (saw this technique used somewhere else, seemed like a good idea). maybe some A* pathfinding if i can figure that out so the characters move around objects nicely rather than just a straight line. savegames will be an interesting matter will have to ponder on that a bit. also not sure about animated sprites, for each object perhaps store a list of animations which hold a series of frames along with how long to hold the frame for.. or perhaps just use a standard time, not sure... it all sounds so simple really. (i bet it wont be though)

anything i've missed?

*wanders off to do battle in the land of code and compilers*

Mnemonic 09-01-2005 12:35 AM

Quote:

Originally Posted by thesleepless
anything i've missed?

About a million of little things ;)

Seriously, though, have you seen MAD? AFAIK it does most of those things you've just listed and it's open source.

thesleepless 09-01-2005 01:13 AM

ooh thanks, that one looks kind of promising, might save me some work

After a brisk nap 09-01-2005 06:14 AM

Quote:

Originally Posted by Orange Brat
it works on PC & Mac, and I'm assuming Linux
...

WM isn't cross platform, though...PC only

Please don't use PC as if it was synonymous with Windows. A PC that's running Linux is still a PC.

Tramboi 09-01-2005 06:34 AM

Quote:

Originally Posted by thesleepless
simple engine, uses allegro for graphics, opens png images for sprites and backgrounds, ogg.vorbis for sound effects and music, speex for voice, maybe theora for video if its needed, LUA scripting for the game
each scene has 3 main images, background layer, walkbehind mask, walkarea / scale image: where the index represents the percentage that the characters over that pixel are scaled, or if its 0 then they cant go there (saw this technique used somewhere else, seemed like a good idea). maybe some A* pathfinding if i can figure that out so the characters move around objects nicely rather than just a straight line. savegames will be an interesting matter will have to ponder on that a bit. also not sure about animated sprites, for each object perhaps store a list of animations which hold a series of frames along with how long to hold the frame for.. or perhaps just use a standard time, not sure... it all sounds so simple really. (i bet it wont be though)

You'd better use a full featured zbuffer instead of walkbehind mask, you will get much more opportunities and it is as simple.
For instance with the Z you got the distance from camera therefore the perspective scaling for your sprites.

You're right, all the technical rendering stuff is real simple in a 2D adventure game engine, except you need good art tools for exporting keyframed sprite animations, dialogue editing, scripting, and debugging.
And if you do your own engine, please, please, please allow this filter http://www.hiend3d.com/hq2x.html :)

I'd be more than happy to help you a bit with technical problems, I'm fed up with 3D at work :)

thesleepless 09-01-2005 07:32 AM

hmm the problem with using a zbuffer as a replacement for a walkbehind mask with scaling is...

when you're walking behind something, what size do we draw you at? we only have the pixel value of the object infront

i'm struggling to think of any use for a zbuffer in such a game, i dont think i'd be much harder to implement than a walk behind mask so may as well.

i think we'll still need the scaling / walk area bitmap as well as the Z buffer

as for art tools, i use photoshop and ASE (allegro sprite editor) for my animations, it supports onionskinning and a few cool things. dialog editing is just in the scripts, although the idea of splittin the actual dialog up into seperate files for easy editing seperate from the code is appealing, as someone with a coding mind it doesnt seem necessary for me, but if other people are going to be using it i think it'd be a good idea. in engine scripting would be nice, perhaps with the help of a drop down console... might be a bit of work though. i'll probably just settle for running it windowed and editing the lua scripts in the background and then having a keycombo to force reload them all.

hq2x and co would be cool and the code is already done for them, just a matter of stealing it, i must admit i've enjoyed playing the monkey island games with them on, makes them look much more friendly to my modern eyes

i think i will make my own engine, i'll reference a bit from MAD, but its 2-3 years old now without an update and while its opensource it doesnt compile on a modern linux machine and it uses a very old version of lua that is incompatible with the current one.

so far my engine ENRAGE (Enrage is Not (hopefully be changed to Now one day) a Real Adventure Game Engine) does the following:
* loads 8bit paletted/grayscale pngs (i dont really think there's a need for much else, although i might add support for other bitdepths, although i doubt i'll use them myself.
* loads ogg vorbis and speex files
* creates a graphic environment with mouse control
* works with lua to script a game, so far all the scripting just does text based stuff, but i'm working on a way to make it interact with the graphics
eg:


bob = character:new("characters/bob.lua")
coffee = thing:new("things/coffee.lua")

function coffee:on_get(taker)
narrator:say_to(taker, "You pick up the coffee.")
self:moveto(taker)
end

function coffee:on_drink(drinker)
narrator:say_to(taker, "You take a sip of the coffee and feel more refreshed.")
taker.caffienated = true
self:destroy()
end

bob:say("Hi, I'm bob the fisherman.")

bob:get(coffee)
bob:drink(coffee)


i need to make it so it'll create graphical text object with a limited time (perhaps the duration is set by the number of characters or words, or is defined by the scripter, but i dont think its something the scripter should have to worry about unless its a critical moment)

each object in the game can contain objects inside it, there is no restriction on what those objects are, they could be a player, a cupcake, a room, a walrus, etc. when you the player are inside an object it becomes the scene you are in and its .background if it is defined is displayed taking into account any .wasc and .mask maps
hotspots are simply objects, they need not have an image, just a set of coordinates or a pixel map that is not displayed

i like the idea of using vectors for images, (and even animated for vector sprites) and masks etc, but i think thats going to be a lot more work than i intend right now

tis an exciting project, i might keep a bit of a blog of it on here if there's no objections? i'd love to hear feedback and ideas, and if anyone wants to take a look at the source or help just let me know.

Tramboi 09-01-2005 07:53 AM

Quote:

Originally Posted by thesleepless
hmm the problem with using a zbuffer as a replacement for a walkbehind mask with scaling is...

when you're walking behind something, what size do we draw you at? we only have the pixel value of the object infront

i'm struggling to think of any use for a zbuffer in such a game, i dont think i'd be much harder to implement than a walk behind mask so may as well.

I agree!
But I think if you're ambitious and want to be able to extend your engine to use 3D characters in 2D precomputed background, you'd better design your world as 3D from the start.
You do it in the 3D tool, you export 3D dumb geometry, and Z buffer.
You paint on the 3D rendering your nice and detailed scenery. Or you do a high quality precalc 3D rendering.
You now can do collision, pathfinding and navigation with the 3D mesh.
And it's up to you to draw scaled sprites or real meshes in a consistent way!

Moreover I'm a bit concerned with the process of computing/painting this scaling coeff over the picture.
Maybe you can just set some point of interests with scaling on the picture and interpolate the rest n-linearly.


Quote:

Originally Posted by thesleepless
i like the idea of using vectors for images, (and even animated for vector sprites) and masks etc, but i think thats going to be a lot more work than i intend right now

Going with vector graphics would allow your game to age much better than bitmaps and it's not that hard. Especially considering 3D hardware can easily draw antialiased triangles! You just have to animate your n-edges polygons, tesselate them in triangles and render them flatly... You can draw the edges as quads and there you go...
Ok it might be a bit too much for a one person project :)
Especially with all the bases to cover up first.
KISS (Keep it Simple and Stupid) as they say!

Quote:

Originally Posted by thesleepless
tis an exciting project, i might keep a bit of a blog of it on here if there's no objections? i'd love to hear feedback and ideas, and if anyone wants to take a look at the source or help just let me know.

This would be nice, fellow game developper!

ozzie 09-01-2005 12:02 PM

Point & Click Development Kit
It seems to be Windows only, and I haven't tried it out. So far it also hasn't any great example games, but there are some nice looking Work In Progress and the features list looks also promising.
Actually AGS has a linux port. You can find it in the forum. It seems to have some limitations though.

Edit: Oops, I mistook it as a port of the editor. Sorry, actually, you can only run games with it under linux. Hm.

thesleepless 09-01-2005 12:47 PM

Tramboi,
i never really considered 3d to tell the truth, i guess it makes sense for characters as theres a lot of time spent in animating them. i guess i'm just better with pixels than polygons, i used to do a bit of 3dsmax work, but lately i've just been working in 2D and most of the adventure games i enjoy are 2D althought i can definatly see the advantage of 3D and how it can open up whole new worlds of interactivity, the amount of work required is much more than i have to spare

the idea of using the pixel value of a bitmap to set the scaling of the characters is already computed so its not a problem, on the contrary interpolating between points would be a much more computationally expensive job.

the "wa/sc" WalkArea/Scaling map is actually very much like a zbuffer except only for the "floor" of the scene, you use another map for the stuff that goes infront, alternatively we could just use a 3D geometry for all intents and purposes other than display, and then just shove a prerendered/drawn image over the top. but for this simple case (at least to start with) i think the 2 zbuffer images, one for the floor/walk area / scaling, and another for the masking works quite well.

back to vectors for a moment though,
there's a nice system called "Cairo" which is a 2D vector graphics library that can use openGL as a backend for hardware acceleration, or fallback to a software. using cairo with animated SVG for example you could do some quite lovely things i imagine, of course there's also flash which is a great medium, i just played The Goat with the Grey Fedora, although it didnt use much in the way of vectors it used the medium very well, and i'm sure it could be used for some beautiful vector work, i used to play around with making games in flash ages ago, although not of the adventure game variety which it is most suited to

thesleepless 09-10-2005 07:55 PM

Time for an update
 
i've been working quite a bit on the development of my engine ENRAGE,

it now loads objects from LUA scripts which specify the details about the object and event handlers

the engine gets the current location set via a variable called "here"
draws the image for the object that "here" points to if there is one,
then for each item in the current location we check if it has an image and if so we draw it to the screen, i'll need to make it sort the objects somehow, most likely by their Y coordinate so that they overlap correctly

it can also play music from ogg files

here's the first ingame screenshot

http://elysium.technetium.net.au/jez/enrage_1stshot.jpg

next up is getting the player to move when you click around the place, and activating events when you click on items

Candle 09-10-2005 10:51 PM

Looks good to me .

Melanie68 09-10-2005 11:12 PM

That's a great screen shot! I like the colors and the softness to the edges. Good luck with the rest of your game!

:) :) :)

thesleepless 09-11-2005 01:06 AM

thanks very much,
its a murder mystery set in a slummy suburban area in australia, 20 years in the future

i've been planning the plot out,

the main character is a paranoid guy called Gregory Syme, just goes by Syme who works selling information to people too lazy to find it themselves, he's broke and his rent is due, the power has been cut and his unstable girlfriend has left him for the millionth time.
his first task will be getting some coffee to start the day, and then getting his rent paid somehow and then solving a mysterious murder and finding a mysterious underground organisation, going to a mysterious club and meeting a mysterious girl and her mysterious friends, solving another mysterious murder and uncovering some even more mysterious things... lots of mysteries and puzzles and interesting characters and locations

very much an Under A Killing Moon kind of atmosphere, but 2D.
Not sure if it'll have speech yet or not, would like to but not sure if i'll be able to find the actors. i'd rather have just text than crappy speech.
It'll have wonderful dark electro/jazz/fusion music played by my brother's band Orchitis

so far i dont have a name for it, but i'm sure it'll come

Enter the Story 09-11-2005 11:21 AM

has nobody mentioned Sludge?
 
Somebody needs to mention Sludge! If you're happy with coding, then you should think about it. Its main advantages are scale. I chose it because my game is very large, and could go in a number of different directions. Sludge runs fast in high res, it can easily cope with thousands of characters, thousands of rooms, etc., and you can write nice lean, flexible code. It's Windows based, but runs well in Linux under emulation. Give it a look!
Some people grumble that it has 16 bit (not 24 bit) color, but with dithering that usually isn't a problem.

http://www.hungrysoftware.com/

rIKmAN 09-28-2005 12:05 PM

Screenshot looks cool, the background is very Beneath a Steel Sky... :)

The engine sounds like its going well, and being a coder at heart myself I`d say carry on (and implement that Z-ordering system!), but as your obviously comfortable with coding yourself, why not take a look at the available open-source engines and see if you can refine and extend one of them to suit your needs.

You must know that coders aren`t meant to re-invent the wheel :)

Good luck and keep us all updated..

BuffYoda 09-28-2005 12:06 PM

Quote:

Originally Posted by Orange Brat
It is cross platform...it works on PC & Mac, and I'm assuming Linux if there's a Flash plugin for it.

Wintermute is what you'll want to go with if you want to use 3D objects on top of 2D backgrounds. I'd also recommend it if it's all 2D. Check out the Project Joe demo to see a 2D example. WM isn't cross platform, though...PC only, however no other publically available adv. engine features 3D.

If you want to do an all 3D game, I'd recommend 3D Gamestudio. That's what I use. There are other choices, but it's the easiest to get into, but it also is not cross platform.

Bad choice. Wintermute is PC only and impossible to port to Mac. AGS already has a beta MAC version. Stick with LASSIE or AGS.


All times are GMT -8. The time now is 03:28 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Design & Logo Copyright ©1998 - 2017, Adventure Gamers®.
All posts by users and Adventure Gamers staff members are property of their original author and don't necessarily represent the opinion or editorial stance of Adventure Gamers.