Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Topics - TomatoesInTheHead

Pages: [1]
Completed Game Announcements / Quest for Jesus
« on: 28 May 2017, 15:38 »
Hello folks! Long time no see.

I made another game, originally for a creativity contest in a small German online community not related to computer games.
The theme of the contest was set, the medium was not.

I just translated the game to English, so both German and English are available, German being the default language, so remember to adjust the language in winsetup.
So, without further ado, I present to you:

Quest for Jesus


The main theme is - as the title suggests - Christian religion, but the matter is taken rather lightheartedly.
The game is neither meant to praise nor to criticise Christianity or religion in general, though in a satirical manner it does the first - it comes in form of a pretended educational game.
Nevertheless, most propagated ethical standpoints, except for some of the exaggerated ones, should be agreeable in their essence to people of all faith and lack of faith, at least if you replace the issuing almightiness with nature/evolution or your preferred divinity in charge.
I have no deep theologic knowledge, so a Christian scholar might cringe at the naive mixture of different Christian, biblical or ethical statements, but apart from that, offending people was no objective of the game.
On the same subject: The dialogues contain some light swearing/vulgar language (once or twice) as well as some sexual references, but mostly not too explicit.

I used the Lucas Arts style 9-verb GUI, though most of the verbs as well as the inventory system are not used. Didn't have too much planned out when I began with the game.
It is a very short game with easy puzzles and - due to some longer dialogues - roughly 15 minutes of playtime, give or take.

I hope you give it a try and enjoy!

Have some of you had this too? You roam the internet or the media, googling this and that, living your (online or offline) life outside the adventure gaming world, and suddenly you stumble across a mention of an AGS game or a fellow AGSer!

Just now I read "xyzzy" somewhere, and wondered what the meaning and origin of the term is. And then, reading through its Wikipedia entry, where I least expect it, it mentions Primordia! 8-0

I feel like this should be a new thread because the other one is "cluttered" mainly with posts about the actual experiment and might be better used for discussions about a fourth part of the Draculator series now. If you feel otherwise, m0ds, please merge the two threads if that's possible. :)

I also hope that you, Baron, don't mind if I start/continue the discussion here, don't want to appropriate your topic and idea, but I've put some thoughts in this and want to share them before I forget everything. :D

So, we got that experiment done now, and I think we can all agree that the product turned out great, probably much better than most of us expected. Still, from a theoretical point of view, there are several issues in the process to discuss - not meant as criticism of the actual process or anyone who took part of it, since it was always clear that the realization will differ from the idea and that in the end we wanted a finished game and not cancel the game because one of the swarm development criteria was not met.

E.g., there was the idea of "not more than one hour per person", this request was clearly not met. Well, we have no thousand people here to sum up to 1000 man-hours (or whatever the game required), so there had to be more time per person, of course. Still, some contributed much more time to this (and we're all happy about it, of course!), especially Baron, so we have to ask how much it was actually swarm development or if it was in some parts more like a traditional game development process with a bit more discussion and some minor help from others here and there.

I think Baron will have a bit more to say about the particular propositions for the experiment and their respective realization.

Then we have the question: Was it worth it, in terms of efficiency (not in terms of originality of the product - that was definitely worth it)?
Swarm development requires some extra time for polishing and streamlining graphics, Ali's artistic guidelines were not that much enforced than they would probably be if there were only a few graphic artists.
Then there's extra time for discussion and organizational overhead, managing who does what and what is still needed. Time we didn't count that much (since we're all 24/7 in the forum reading and discussing things anyway 8)), but that should count. I don't know what time a game of this length/complexity/quality needs with a traditional game dev process (for a non-supernatural develeoper/team, not Ben304), and we can't really calculate or even estimate what time we all together needed for this one, my guess is that it took in fact longer than it would have the traditional way (which is not bad of course, since it was only an experiment, and we had some times where not much or only some discussion was done).

Still, we saw that graphics are pretty swarmable, backgrounds, sprites, animations and portrait pictures were drawn by many different people. It would have taken much longer if only one or two guys had done all this on this level of quality. There's the question however how much this is parallelizable and how much time we actually saved or could have possibly saved. If I don't know the character sprite (and have no very detailed description), it's hard to draw the portrait picture, if I don't have the background, it might be harder to draw the character sprite to fit in the environment and general mood of the location (?).

Music for different rooms/situations could be swarmable, but in the end all the (used) music was done by Jackpumpkinhead. I'm not much of a musician, so I don't know how hard it's here to diminish a clash of different styles if different people compose music. It's not as easy to streamline musical pieces into one style like it's in the graphics department were you can adjust palettes and "just" push some pixels, correct shading/dithering and so on. But it's probably worth to discuss which analogons there are for composers - like changing instruments and effects, adjusting measures and beats, and/or whatever, I have no clue. But I think it's worth mentioning that we saw that only the composer himself changed his piece after some suggestions, whereas graphics were (sometimes/often?) directly changed by other people (e.g., the first room). There's always an issue that you hesitate to alter other people's work because it might come off as "Your work is not good enough. There, I can do it better."

Sounds: We may have treated this one with a bit few enthusiasm, I mean, there are good sounds in the game, but only at the very end of the production they were gathered and added, though there was a list of needed sounds there for a long(er) time. It's maybe a bit of a boring task to just search sound bits on the hard drive or search for free sources on the web, and in many cases it's not feasible to record the sound by yourself (you know, powering up your big laser cannon just for one shot...), so that may explain the lack of enthusiasm there. Still, we got some good sounds and in no way do I mean to disrespect the work of the people who got them together.

Voice acting: I'm glad we added this, it adds so much to the atmosphere - and humour - of the game. In terms of swarm development though, there's not much that can be changed. It always has to be done near the end of the development, and the voice of one character can't be split between different people, so we have to go the traditional way there. (Or are there any ideas swarming around?)

Coding here was mainly in one hand, or two, but only one at a time, or something. It is hard to maintain the overview of what's happening in the code with many people changing small bits, but with all the open source programs we have a pretty good assurance that it is possible. So that's definitely a point I'd suggest for the next round of the experiment to make more swarmy. It will produce more errors, but it will hopefully also help to find some more and to fix them faster. It will probably need a code repository with SVN or something similar to keep track of and integrate all changes, but there are some free and relatively easy ones available, so that should not be the problem.

Story writing - I'm bad at this (see my game :P). What we did was giving a small premise (bionic vampire marine, or something), then gather some stories and mix them into a big one, extending, changing or leaving out some parts on the fly as the development went on. Is there a way to divide story writing into smaller bits from the beginning? Also, puzzle design, ties into story writing, I don't know anymore how exactly the puzzles came together here.

Dialog writing should be easy to split among many people, though there's also some effort needed to streamline them, in terms of structure (e.g., there should not be one dialog with several dialog options and another one with pretty much no options) and in terms of style, speech, humour, personality. We made the decision not to use any dialogs where Merrick has to talk (i.e. where the player had choices), so that made the thing much easier (but gives us less experimental insight on this part). If I'm not mistaken, dialogs were made only by a few people, right?

That's probably also an issue: Some tasks seem boring to many, like writing, reviewing the writing, proof-reading, GUI design, streamlining/polishing things, sound effect search, coding maybe...

Lastly, about the continuation of the experiment:
In my opinion, we should not start it until next year, after the Bake Sale is done and some labour force and attention is freed there.

Another question there: Do we want to continue the experiment with another Draculator game? Yes, because everyone wants to see it and yes because it's easier to reuse assets and story/character bits, but no, because it will not tell us so much about the swarm development process as a fresh new game could do, where we again have to swarm-develop the story and graphics. So maybe we should split the thing: Develop a Draculator IV game with only slightly altered development process and develop a fresh new swarm game (not at the same time though) with some drastic changes in the development process as a continuation of the experiment.

There I'd suggest trying and failing from the other side of the process: While here, Baron took the usual (?) sequential/hierarchical game development process and split everything apart that can be done in parallel and in single bits (top-down approach), let's just do everything in parallel, whether it makes sense or not, then refining and refining (and also tossing ideas or even assets away during the process) until everything fits together to a whole thing (bottom-up approach), so basically anarchical chaos that evolves to something playable without (much) guidance. Then we'll see what is maybe doable that we didn't even try in this first round, and see what's absolutely impractical.

I've not worked with raw drawing and dynamic sprites (or really any "advanced scripting" in AGS beyond ChangeRoom and Say) so far, and tried to make a simple animated real-time clock to test it out:

Code: [Select]
 //set the time (for now, just use current time)
  DateTime* dt = DateTime.Now;
  int gametimeh = dt.Hour;
  int gametimem = dt.Minute;
  int gametimes = dt.Second;
  //clock position and size
  int clockposx = 100;
  int clockposy = 100;
  int clockradius = 50;
  //draw it directly onto the background
  DrawingSurface* ds = Room.GetDrawingSurfaceForBackground();
  //draw the outline of a circle
  ds.DrawingColor = 15; //white
  ds.DrawCircle(clockposx, clockposy, clockradius);
  ds.DrawingColor = 0; //black
  ds.DrawCircle(clockposx, clockposy, clockradius-1);
  ds.DrawingColor = 15; //white
  //draw hands
  ds.DrawLine(clockposx, clockposy,
    clockposx+FloatToInt(0.6*IntToFloat(clockradius)*Maths.Sin(Maths.DegreesToRadians(IntToFloat(gametimeh)*30.0)), eRoundNearest),
    clockposy-FloatToInt(0.6*IntToFloat(clockradius)*Maths.Cos(Maths.DegreesToRadians(IntToFloat(gametimeh)*30.0)), eRoundNearest), 3);
  ds.DrawLine(clockposx, clockposy,
    clockposx+FloatToInt(0.9*IntToFloat(clockradius)*Maths.Sin(Maths.DegreesToRadians(IntToFloat(gametimem)*6.0)), eRoundNearest),
    clockposy-FloatToInt(0.9*IntToFloat(clockradius)*Maths.Cos(Maths.DegreesToRadians(IntToFloat(gametimem)*6.0)), eRoundNearest), 2);
  ds.DrawLine(clockposx, clockposy,
    clockposx+FloatToInt(0.9*IntToFloat(clockradius)*Maths.Sin(Maths.DegreesToRadians(IntToFloat(gametimes)*6.0)), eRoundNearest),
    clockposy-FloatToInt(0.9*IntToFloat(clockradius)*Maths.Cos(Maths.DegreesToRadians(IntToFloat(gametimes)*6.0)), eRoundNearest), 1);  
This code is in the rep_ex_always function of a room.

Now, before you try to figure out what I did wrong: This works fine. ;)
It draws a clock with the current time on the background, and since the clock stays at the same position, it's not a problem that the original background is drawn over.

My main question is: Is this the right approach in terms of efficiency, performance, memory usage, and code style, or did I miss something? Would it be better or worse (unless necessary) to draw on an object/DynamicSprite than on the background?

And if I have to use a DynamicSprite, do I always have to store it in a global variable? So I can't just write something like
Code: [Select]
DynamicSprite* ds = DynamicSprite.Create(101,101);
DrawingSurface sf = ds.GetDrawingSurface();
//...draw clock on surface like before...
oClock.Graphic = ds.Graphic;
ds.Delete(); //or not?
//end of function
in my rep_ex_always function, since the sprite would be deleted right after I assigned it (by the Delete function or by the AGS memory manager) and the graphic of oClock would fall back to and display the default sprite?

My other, general questions are:
a) Is it correct that I always have to use variables to store e.g. the datetime in order to access it? So there is no way to write something like "int hour = DateTime.Now.Hour;" like in similar programming languages, but I must write "DateTime* dt = DateTime.Now; int hour = dt.Hour;"?
b) Is it correct that there's no way to omit all these IntToFloats and FloatToInts other than storing each value in a float and int value in parallel (so, I would define "int clockradius = 50; float clockradius_f = 100.0;" for example)?
c) Is it correct that there is no other way to draw the outline of a circle than how I did it?

For b) and c) I found some older threads confirming this, more or less, but I want to make sure it hasn't changed since then.

Thanks for any confirmations and suggestions! :)

Hi. It's my first post here and my first game.
It's a short (maybe 10-30 min, depending on how much you want to explore the obviously unimportant things just for fun) and easy adventure called "Tales of Otubania", which is a rather unoriginal title.

There's not much to say about the story without giving it away. It was a bit of an experiment: Instead of coming up with story elements and puzzles on my own, I wrote an "artificial intelligence" that builds a "story" out of random rooms, characters and items. As the program doesn't make use of any logical reasoning (so far), the results are rather silly (or dadaistic?). So I took one of these random stories and tried my best to build a game around it. I kind of like the result.

This is what it looks like:

As you can see, graphics are average, but acceptable in my opinion. The only horrible thing might be the walking animation of the player character, as there are not even up/down views and only two frames (but footstep sounds, yay!).

Since it's been my first AGS game, I wanted to try out as much features as possible, and so I also did some voice acting (which, in general, might be a bit too much effort put in a small and not-so-good game). The voice acting's not very good, some parts are pronounced wrong or with strong accent as English is not my first language. Also, after I did one part of the recording, I noticed that I should not have cut the individual lines too early, as now the spoken text may be too fast. But then I didn't want to re-record or re-cut it, so if it's too annoying to you, just play the game without the voice pack.

Now, I hope you'll give it a try and enjoy some of the jokes and the unusual experience of a randomized storyline.

Game (including music and voice): http://home.arcor.de/tith-ags/TalesOfOtubaniaSpeech.zip (11 MB)
If not available due to traffic limit, use this download mirror, but be warned: it's one click more to do.
Game (including music, without voice): http://home.arcor.de/tith-ags/TalesOfOtubania.zip (2.5 MB)
Voice pack: http://home.arcor.de/tith-ags/speech.zip (9 MB)

Thanks for your attention,
any feedback welcome!

Pages: [1]