Jibble

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.


Messages - .M.M.

Pages: 1 [2] 3 4 ... 12
21
Sounds great! Just one thing -you mean creating the whole apk through AGS,including keystore etc.?

22
That looks great! I'm working on a post-apocalyptic RPG myself, can't wait to try this one out! :-)

23
I think Mad's paintover is great, Indy became charismatic as much as it's possible at this tiny scale.

24
I'm trying hard to analyse your work, but I keep getting distracted by the woman in your display gif. Who the heck is that!?
Exactly!

Anyway: the first picture looks really good, I have no idea how to improve it even further. The second one is interesting, although the hair structure seems a bit odd, it resembles... A web? Especially at the top of her head.

25
Critics' Lounge / Re: My second ever pixel art character!
« on: 11 Jun 2014, 14:24 »
Try looking at this:
http://finalbossblues.com/form-and-light/
It's a bit different from classical tutorials, but I think it is a really interesting point of view at shading.
EDIT:
But maybe you're looking for something more like this:
http://www.natomic.com/hosted/marks/mpat/shading.html
http://makegames.tumblr.com/post/42648699708/pixel-art-tutorial

26
Critics' Lounge / Re: Higher resolution prototype game
« on: 09 Jun 2014, 21:49 »
Great style! The animation reminds me of adventures called Machinarium and Botanicula.
By the way, I see I could practice with ArtRage little more. :-)

27
Engine Development / Re: Modding android port?
« on: 22 May 2014, 13:19 »
The issue is that the Android port doesn't work.
I know I've mentioned it here more than just a few times, but anyway: I don't see the huge problem. My devices (tested on three different smartphones) have no difficulties with game working through AGS Android port (it uses obb file). Just a quick summary for version 110 of the game (freeware since January 2014): 370 downloads, 1 reported bug - but without further issues, rating 4,5 stars. I know that the download number isn't big enough to say everything works fine, but so far so good.

28
MM, you may not have experienced major problems, but others have had major issues with the Android engine, possibly tied to the faulty audio code. Recent changes to the 3.3.0 branch may have resolved that though.
And the problem is that some games don't work, or the engine doesn't work on some devices?

29
It is possible - even now, with a bit of changes in the original AGS engine Android port. I have almost no experience with Java, and even so the game works well, I haven't encountered any major problems. I started a topic about the game a while ago and recently made it freeware to get more feedback.
link to the Only the Good Die Young topic

30
Sorry for grave-digging this thread, but I believe I have a good reason - the game is now freeware!

32
Well, I replied him, told him how he could propably fix the problem and he hasn't changed his rating nor written anything more...
And if you have tried the game - what do you think? Are the controls good enough for comofortable gameplay? Are the fonts well readable? Is the framerate fast enough? Any related infromation will help!

33
What resolution is this running at?
640x480, but there are options to stretch the game screen inherited from the AGS Android port.

34
Engine Development / Re: AGS engine Android port
« on: 02 Oct 2013, 21:56 »
I purchased the game to give you some support. Will check it out later.
Thanks, I hope you'll like it! Also, I'd be very happy for any feedback - everything, even if this type of game is something people enjoy playing on Android devices: I have an idea for my next RPG and I haven't decided yet whether make it for Android or not.

35
I saw that you got a negative review. I've had some reports with older Android versions of the game not starting properly, I'm curious if it could be related (as I'm not entirely certain of the root cause as yet). I also noted that your app says it supports Android 2.0+. Did you write your own expansion downloader? Because the Google-provided Downloader library doesn't support older Android versions than 2.3.
The negative review seemed to me as a problem with downloading the expansion file, yes. I created the downloader activity, but I use Google downloader library - the minumum version specified there is Android 1.6, I had to specify the minimum version 2.0 because of the interface created for the game. But I didn't have any opportunity to test it on lower version than 2.3.4. Also I used version of AGS Android port that is about one year old.

36
Engine Development / Re: AGS engine Android port
« on: 01 Oct 2013, 14:38 »
With a great help from JJS, I've made Android game using the AGS engine Android port. For more info, look here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=49077.0

37

A game created in Adventure Game Studio is now available for every Android device!

What makes it different from all the other Android games?
  • It has an interesting storyline with two different endings - not just another hero's attempt to save the world once again.
  • Player either talk to or kill many NPCs while completing all the sidequests, which range from stealing guns to play-acting.
  • Sometimes, even the sidequests have more than one solution!
  • Collect more than 45 items and practice your skills from three branches to survive in the hostile desert.
  • The game has a challening difficulty - with four levels: if it's too much of a challenge for someone!
  • There are two switchable control modes.
Try it out and see for yourself!






Big thanks to JJS for his AGS engine Android port, which has created great possibilites for everyone using AGS!
 
link to Google Play Store: https://play.google.com/store/apps/details?id=com.bigbluecup.android.onlythegoodrpg

The game is now freeware - however, you can donate money via PayPal if you want to support the author!
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DNWFABHA9PBJW

38
Modules & Plugins / Re: MODULE: Journal-Maker 1.1
« on: 30 Sep 2013, 13:22 »
Hello, first of all, sorry for the huge delay, I've found out that I just simply don't have enough time for it. So I've decided to post the raw code here: at least, you don't have to worry about the download link. It is a version of code altered for my game, so you will have to alter it a bit (at least the EditEntry part). Right now, you have to add an item into your listbox, add empty journal entry and then use EditEntry. Of course it can be simplified, but I don't have any newer version here right now.
Example:

   lstDenik.AddItem("1st outlaw");
   JournalModule.AddEntry("");
   JournalModule.EditEntry("1st outlaw", "My first task is to find Oliver Green, worker at the railway, and bring him alive to the village.");

And for the next entry:
 
  JournalModule.EditEntry("1st outlaw", "(Another text...)");


Header:
Code: Adventure Game Studio
  1. [font=courier]struct JournalModule {
  2.   import static function AddEntry(String Text);
  3.   import static function SetEntryDisplayed(int WhatPosition);
  4.   import static function IsChangeValid(int Position_Change);
  5.   import static function EditEntry(String WhichOne, String AppendText);
  6.   import static function GetCurrentEntry();
  7.   import static function GetCurrentPosition();
  8.   import static function GetEntryByText(String SearchText);
  9.   import static function GetPositionByText(String SearchText);
  10.   import static String GetJournalCurrentText();
  11.   import static String ChangePosition_GetJournalText(int Position_Change);
  12. };
  13.   import String MyText;
  14.   import String Datum;
  15. [/font]

Main script:
Code: Adventure Game Studio
  1. [font=courier]
  2. String MyText;
  3. String Datum;
  4. export MyText, Datum;
  5.  
  6. struct Entries {
  7.   bool Visible;
  8.   int Position;
  9.   String Text;
  10. };
  11.  
  12. struct Positions {
  13.   int Owning_Entry;
  14. };
  15.  
  16. //==========================================================
  17. //These two integers control a great deal as well.
  18. //==========================================================
  19.  
  20. int Journal_Entries = -1;
  21. int Current_Entry_Displayed = -1;
  22.  
  23. //==========================================================
  24. //If you came looking here becuase of an error regarding not
  25. //having enough Entries, then this line is your friend.
  26. //Just change that '50' to the number of entries you think
  27. //you'll need.
  28. //==========================================================
  29.  
  30. #define Max_Entries 50
  31.  
  32. //==========================================================
  33. //Now we declare the structures.
  34. //==========================================================
  35.  
  36. Entries Entry[Max_Entries];
  37.  
  38. Positions Position[Max_Entries];
  39.  
  40. //==========================================================
  41. //This runs on game_start, as you can see.  It sets some of
  42. //the vars in the structs, since you can't do it in
  43. //declaration.
  44. //==========================================================
  45.  
  46. function game_start() {
  47.   int counter = 0;
  48.   while (counter < Max_Entries) {
  49.     Entry[counter].Position = -1;
  50.     Position[counter].Owning_Entry = -1;
  51.     counter ++;
  52.   }
  53. }
  54.  
  55. //==========================================================
  56. //And now, the functions:
  57. //==========================================================
  58.  
  59. //----------------------------------------------------------
  60. //GetJournalText cannot be called by the user, because it is
  61. //needed only within this module to return text
  62. //----------------------------------------------------------
  63.  
  64. String GetJournalText(int WhatPosition) {
  65.   if (Position[WhatPosition].Owning_Entry != -1)
  66.     return Entry[Position[WhatPosition].Owning_Entry].Text;
  67. }
  68.  
  69. //----------------------------------------------------------
  70. //AddEntry allows you to add new entries to the journal.
  71. //----------------------------------------------------------
  72.  
  73. static function JournalModule::AddEntry(String Text) {
  74.   if (Journal_Entries == Max_Entries) AbortGame("You seem to have called AddEntry when doing so would exceed your Max_Entries.  If the problem persists, increase your Max_Entries value, which is currently %d", Max_Entries);
  75.   else Journal_Entries ++;
  76.   int available_entry;
  77.   int current_entry = 0;
  78.   while (current_entry < Max_Entries) {
  79.     if (Entry[current_entry].Visible == false) {
  80.       available_entry = current_entry;
  81.       current_entry = Max_Entries;
  82.     }
  83.     current_entry ++;
  84.   }
  85.   Entry[available_entry].Visible = true;
  86.   Entry[available_entry].Text = Text;
  87.         Entry[available_entry].Position = Journal_Entries;
  88.         Position[Journal_Entries].Owning_Entry = available_entry;
  89. }
  90.  
  91. //----------------------------------------------------------
  92. //EditEntry allows you to edit the text of an already
  93. //existing entry.  This way, you can update an entry once
  94. //an event has taken place.
  95. //----------------------------------------------------------
  96.  
  97. static function JournalModule::EditEntry(String WhichOne, String AppendText) {
  98.   int WhatPosition = 0;
  99.   int newindex = 0;
  100.   while (newindex < lstDenik.ItemCount) {
  101.    if (lstDenik.Items[newindex] == WhichOne) {
  102.     WhatPosition = newindex;
  103.     newindex = lstDenik.ItemCount+1;
  104.    }
  105.    else newindex ++;
  106.   }
  107.  MyText = GetJournalText(WhatPosition);
  108.  if (MyText !="") {
  109.   DateTime *dt = DateTime.Now;
  110.   Datum=String.Format("[[%02d.%02d, %02d:%02d[", dt.DayOfMonth, dt.Month, dt.Hour, dt.Minute);
  111.   AppendText = Datum.Append(AppendText);
  112.   Entry[Position[WhatPosition].Owning_Entry].Text = MyText.Append(AppendText);
  113.   Display("You have a new journal entry on the page %d about topic %s." ,WhatPosition+1, WhichOne);  
  114.  }
  115.  else {
  116.   DateTime *dt = DateTime.Now;
  117.   Datum=String.Format("%02d.%02d, %02d:%02d[", dt.DayOfMonth, dt.Month, dt.Hour, dt.Minute);
  118.   AppendText = Datum.Append(AppendText);
  119.   Entry[Position[WhatPosition].Owning_Entry].Text = MyText.Append(AppendText);
  120.   Display("You have a new journal entry on the page %d about topic %s." ,WhatPosition+1, WhichOne);  
  121.  }
  122. }
  123. //----------------------------------------------------------
  124. //GetJournalCurrentText grabs the text the journal should be
  125. //displaying, and returns it as a String.  This is the
  126. //function you should use to update labels after calling
  127. //EditEntry, in case the player is viewing the label you
  128. //edited.
  129. //----------------------------------------------------------
  130.  
  131. static String JournalModule::GetJournalCurrentText() {
  132.   if (Position[Current_Entry_Displayed].Owning_Entry != -1) {
  133.     return Entry[Position[Current_Entry_Displayed].Owning_Entry].Text;
  134.   }
  135. }
  136.  
  137. //----------------------------------------------------------
  138. //SetEntryDisplayed allows you to 'activate' the
  139. //journal by jumping it to an entry (probably 0, if
  140. //you are just setting it up.).  It could also be used to
  141. //make shortcuts in the journal, allowing the player to
  142. //jump to a specific entry.
  143. //----------------------------------------------------------
  144.  
  145. static function JournalModule::SetEntryDisplayed(int WhatPosition) {
  146.   Current_Entry_Displayed = WhatPosition;
  147. }
  148.  
  149. //----------------------------------------------------------
  150. //ChangePosition_GetJournalText allows you to jump to
  151. //another entry by supplying the value to move by.  For
  152. //example, a move of -1 would go to the entry above the
  153. //current, while a move of 10 would jump 10 ahead.  Always
  154. //use IsChangeValid to check the number you want to jump
  155. //by before calling this to set your label.
  156. //----------------------------------------------------------
  157.  
  158. static String JournalModule::ChangePosition_GetJournalText(int Position_Change) {
  159.   Current_Entry_Displayed += Position_Change;
  160.   return GetJournalText(Current_Entry_Displayed);
  161. }
  162.  
  163. //----------------------------------------------------------
  164. //GetEntryByText allows you to get the integer of an
  165. //entry by checking its text, useful for fine-tuning
  166. //----------------------------------------------------------
  167.  
  168. static function JournalModule::GetEntryByText(String SearchText) {
  169.   int ent_check = 0;
  170.   while (ent_check < Max_Entries) {
  171.     if (Entry[ent_check].Text == SearchText) {
  172.       return ent_check;
  173.       ent_check = Max_Entries;
  174.     }
  175.     ent_check ++;
  176.   }
  177. }
  178.  
  179. //----------------------------------------------------------
  180. //GetPositionByText allows you to get the integer of
  181. //a position by checking its text, useful for fine-tuning
  182. //----------------------------------------------------------
  183.  
  184. static function JournalModule::GetPositionByText(String SearchText) {
  185.   int pos_check = 0;
  186.   while (pos_check < Max_Entries) {
  187.     if (Entry[Position[pos_check].Owning_Entry].Text == SearchText) {
  188.       return pos_check;
  189.       pos_check = Max_Entries;
  190.     }
  191.     pos_check ++;
  192.   }
  193. }
  194.  
  195. //----------------------------------------------------------
  196. //GetCurrentEntry allows you to get the integer of the
  197. //current entry, useful for fine-tuning
  198. //----------------------------------------------------------
  199.  
  200. static function JournalModule::GetCurrentEntry() {
  201.   return Position[Current_Entry_Displayed].Owning_Entry;
  202. }
  203.  
  204. //----------------------------------------------------------
  205. //GetCurrentPosition allows you to get the current
  206. //position, useful for fine-tuning
  207. //----------------------------------------------------------
  208.  
  209. static function JournalModule::GetCurrentPosition() {
  210.   return Current_Entry_Displayed;
  211. }
  212.  
  213. //----------------------------------------------------------
  214. //IsChangeValid allows you to check whether or not it is
  215. //safe to call ChangePosition_GetJournalText by the amount
  216. //you want to move.  You should ALWAYS call this, and check
  217. //if it returns 1, before setting your label using
  218. //ChangePosition_GetJournalText
  219. //----------------------------------------------------------
  220.  
  221. static function JournalModule::IsChangeValid(int Position_Change) {
  222.   if (Current_Entry_Displayed + Position_Change >= 0 && Current_Entry_Displayed + Position_Change < Max_Entries) {
  223.     if (Entry[Current_Entry_Displayed + Position_Change].Visible == true) return 1;
  224.     else return 0;
  225.   }
  226.   else return 0;
  227. }[/font]
  228.  

39
Critics' Lounge / Re: Trying to decide on graphics style.
« on: 29 Sep 2013, 17:06 »
The last picture - inside the hut - looks good, it's a great improvement! Just one quick thought, what about not showing the roof there at all?

40
Modules & Plugins / Re: MODULE: Journal-Maker 1.1
« on: 25 Jun 2013, 15:14 »
Hi, BESTIEunlmt,
I've modified the module for my game and I don't have the original version on this comuter - I'll look for it on the other one, and if I don't find it, I'll write the "universal version" again and upload it here.

Pages: 1 [2] 3 4 ... 12