Official MEGA-THREAD for "Finish Your Damn Game" Contest

Make games! Discuss those games here.

Moderators: Bob the Hamster, marionline, SDHawk

User avatar
marionline
Metal Slime
Posts: 673
Joined: Sat Feb 26, 2011 9:23 pm

Post by marionline »

Hello hello! :o
The last days were busy, time for making games was rare. Not much progress. :(

I looked at some sprites and noticed the colors of some sprites are not arranged according to the other sprites.
So either palette swapping is difficult or I redo the sprites. I did neither, I'll just use less variants of NPCs.

I also drew some more sprites. Here's one with hats:
Image
Hats are difficult to draw

How do you go about battle balancing?
I came up with an idea about how make battle balancing easier for the game.
I'm using the FF version of magic in the "Magic&Monsters game".
The player can choose diffrent attacks, but they do the same damage.
Exmple: Attack A hits 1 time and does damage of 20. Attack B hits 2 times and does damage of 10.
Anyone more experienced: Is that a good idea? :???:
Or are there pitfalls I did not consider? (I did not consider any... )

Also I need to check if negative costs for attacks are working...
The negative costs for attacks will be used, so the game can give tokens to the player. These Tokens can be use for special attacks.
(If i remeber corecctly the ideas was the giz? :???:)

I found information on script arguments (see this: http://rpg.hamsterrepublic.com/ohrrpgce ... ent_for%3F).
And today in the helpfile of the OHR-Editor I read, that I need to set "allow gameplay and script" OFF in order to use it.
Maybe I can use it for multiple choice questions. :)

I've begun plotscripting for the alien game.
As I want to make quizes to test the players knowledge, I want to use menus for multiple choice questions and answer options.
(And because it is a very important feature, I'll try to figure it out before doing easier plotscripting things like cutscenes.)
By the way why is there a max number of letters that go into s menu? >_<
Sometime my question takes 2 lines because of this!


Image
The first "quest" is to do your homnework... that sounds very bad for promotion, I think.

Image
I used some easy plotscripting and menus that set tags.


@KF ­Harlock:
By reading about how you make games, I realized my approach is usually to work map by map. Graphics come first, then ome map where I add things, usually it is just testing and playing aound without a real plan.
If I got an idea, I plan some more, adding graphics as I need them. At some point, after setting up the plot is done, I decide how many maps I'll use, and I start add missing npcs, graphics and texts, plotscripts.
Music and sounds I tend to do last, because it is less annoying when play testing one's game. Also it makes your game easily (a bit) disorganized, especially for textboxes, since some are added during the progress you can't bundle them up.
Maybe a tagging feature for textboxes could be usefull for this kind of workflow?
I've only ever finished one game, so I can't say if it's a good way or not.

Your idea about the moral choices is interesing. And the graphics are really, really good!
I stared at the stone-face for a while, trying to figure out how you maked it looke like stone and not like a face.

Trading a game file sounds like a very good idea to keep being motivated.

Thanks for your good advice to ask for help either in chat or in the forum. :D
I'm sure I'll come back to that as the games progress.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

Changing the order of the colours that a sprite uses is very annoying, but don't forget about the colour Replace tool (R).
Also I need to check if negative costs for attacks are working...
The negative costs for attacks will be used, so the game can give tokens to the player. These Tokens can be use for special attacks.
Negative item and gold costs work. All other negative costs are broken; see bug 2018. The reason that I didn't just immediately fix that bug was due to backcompatibility concerns.

Yes, the max length of a menu item is 38 characters, which is the width of the 320x200 screen (well, actually, 39 would fit...), because multi-line menu items aren't supported yet.
Maybe a tagging feature for textboxes could be usefull for this kind of workflow?
Great idea!
Last edited by TMC on Wed Nov 09, 2016 2:47 pm, edited 1 time in total.
User avatar
KF Harlock
Slime Knight
Posts: 194
Joined: Wed Oct 22, 2008 10:45 am
Location: East Coast USA
Contact:

Post by KF Harlock »

Marionline: I actually get asked about how to balance battles a lot, so I think I'll do a whole write-up on it, make it its own post, and then I'll also copy it here or something. Look for that in about an hour or so, it'll be pretty detailed!
SPELLSHARD: THE BLACK CROWN OF HORGOTH now COMPLETE! <a href="http://www.slimesalad.com/forum/viewgam ... 4363">Grab it today!</a>
User avatar
KF Harlock
Slime Knight
Posts: 194
Joined: Wed Oct 22, 2008 10:45 am
Location: East Coast USA
Contact:

Post by KF Harlock »

Marionline: here is my battle balancing tool (in Excel format): http://www.crithit.org/hlock/OHRRPGCE_E ... atter.xlsx

To use it, you need to arbitrarily define your hero stats first, and set them relative to one another. You need to do it arbitrarily because one needs stable hero stats against which to define ideal enemy stats. It doesn't matter too much what the hero stat values are, as it does how they relate to one another (e.g. - make sure your warrior has more attack power than your wizard, or whatever). Once you have those, copy them into the spreadsheet, follow the instructions, and it'll take care of the whole thing pretty automatically.
Last edited by KF Harlock on Fri Nov 11, 2016 8:07 pm, edited 1 time in total.
SPELLSHARD: THE BLACK CROWN OF HORGOTH now COMPLETE! <a href="http://www.slimesalad.com/forum/viewgam ... 4363">Grab it today!</a>
User avatar
RMZ
King Slime
Posts: 1698
Joined: Tue Oct 16, 2007 12:39 am
Contact:

Post by RMZ »

I doubt I'll finish my new project by end of this contest, but I did decide to make a new RPG and your spreadsheet looks super useful. What an awesome tool. Thanks for making and sharing that.
User avatar
marionline
Metal Slime
Posts: 673
Joined: Sat Feb 26, 2011 9:23 pm

Post by marionline »

What tools/software do you use for game making?
I started using gitlab for backup-ing my game and I began filling it with 'issues', all these things that still need to be done. It takes some time to add those, but in the end I hope to have a good overview on the progress.
I plan on having lots of dialogue and I'd like to use portraits with expressions to reflect the characters feelings. To know how many I need to draw, the dialogue has to be written first, it seems.

About writing, I would be very happy, if someone could check the dialogues I am writing for mistakes/unfitting words. After having written down most of the plot, I could make a post in the work for hire threat, right?
I would be sorry, if the story is spoild by the choice of wrong words or strange expressions. Beside that, I plan to use Artha (https://sourceforge.net/projects/artha/) to improve my vocabulary. That's is a thesaurus for english language, helpful to find words or meanings.

@KF Harlock:
Marionline: here is my battle balancing tool (in Excel format): http://www.crithit.org/hlock/OHRRPGCE_E ... atter.xlsx
Thanks for posting the spreadsheet tool ane explainibg how to use it! It lookes very usefull. :D
(I am nowhere near actually doing the battle-balancing but, if that time comes, I'll happily use your tool.) Thank you for sharing it! :)
It's a very good idea that you can set up the enemies to take n-number of hits and plan everything around it. How many hits should a monster take for a normal battle? 3-5?

I'm not sure how/where to include random battles in my game... A school should be more or less, a monster free zone, if everyone tells you the forest is forbidden to enter, because it is full on monsters. Maybe there's a small gap in the fence and tiny monsters sneak in... I like that idea. Just imagine you are the unlucky student to find that gap. :o
(<- That's me having ideas while writing posts, ... I'm lucky this thread exists.)

@RedMaverickZero:
[...] I did decide to make a new RPG and your spreadsheet looks super useful. [...]
What's you game going to be about? Will you enter it in the contest?
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

Interesting that you use git for backups and an issue tracker to track work to be done. There are a few other people here, including myself, storing our games in git/svn/hg, and I think Ichiro also uses a public issue tracker. I don't do that, I just keep TODO lists in text files, which can get very disorganised.
Using git/hg/svn probably doesn't have many benefits until you want to collaborate on a game with someone else, and merge changes.
User avatar
guo
Metal Slime
Posts: 749
Joined: Fri Dec 04, 2009 9:12 pm

Post by guo »

Have a look at Asana. It's really great for blocking out the elements of a game and keeping track of what needs to be done. Great for team based projects too.
vvight.wordpress.com
User avatar
Willy Elektrix
Liquid Metal Slime
Posts: 910
Joined: Sun Aug 15, 2010 11:30 pm

Post by Willy Elektrix »

marionline wrote:This game has the best sprites I managed to draw so far.
I think I've played every one of your OHR games at this point. Your graphics have really improved! These look very attractive. The muted color palette is nice.
User avatar
marionline
Metal Slime
Posts: 673
Joined: Sat Feb 26, 2011 9:23 pm

Post by marionline »

@TMC:
Using git/hg/svn probably doesn't have many benefits until you want to collaborate on a game with someone else, and merge changes.
Agreed. It's most usefull for collab work. But it's good for me if I work on diffrent machienes on the game, to not overwrite the progress I made.

@Willy ­Elektrix:
Thanks for the praise. :D
Wow. :o You played all my game?
I am very happy to hear this, hehe. (^_^)

@KF ­Harlock:
How's Game making going?
This thread has been somewhat somewhat quite lately.

**My Progress:**

Plot in very short:
The plot is about a boy who got cursed and tries to get rd of the curse, but fails.
In the end he accepts he's cursed.

That does not sound like very fun, right?

Having lined out the plot and written some parts of it, I am still wondering if a) the story itself is good enougth to be a game and b) if I should add or drop some parts of the plot. I would love to do foreshadowing for the other parts of the game (but that's just for fun).

Besides the story, it's time to to figure out what game play elements I want to add to the game. I plan mix story and gameplay elements well enough so that playing the game and progressing the story will be fun. Thinking about game play elements was not that easy. I set up a plan for crafting. Carfting items fits a mage school environment. Also there can then be enemies to fight, who drop ressouces for crafting.

I imagine the plotscripts for crafting to simple, just a long list of "if (inventory(item:NAME1) > 2 AND inventory(item:NAME2)) then (settag(x))" for triggering menu-options to choose what item to make. The crafting script would just remove the said items and add the produced item. (I hope i do not need to check for full menu slots or something like that.) I've never done a crafting system before and mine seems not to be very balanced. I will try to adjust the enemies drop-rewards accordingly.

Image

Especially in regard to enemies graphics, I will be a lazy gamemaker and simply take graphics from all of my other games.
(And I hope that you won't notice. :P)
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

marionline wrote:I imagine the plotscripts for crafting to simple, just a long list of "if (inventory(item:NAME1) > 2 AND inventory(item:NAME2)) then (settag(x))" for triggering menu-options to choose what item to make. The crafting script would just remove the said items and add the produced item. (I hope i do not need to check for full menu slots or something like that.)

Yes, you can do that. I think it would be less work to use a script like the following to build the menu automatically than to use the menu editor:

Code: Select all

# name is a string id, whichscript is a script id
script, add craft recipe, name, which script, begin
  variable&#40;mitem&#41;
  mitem &#58;= add menu item&#40;top menu&#41;
  set menu item type&#40;mitem, menutype&#58;script&#41;
  set menu item subtype&#40;mitem, which script&#41;
  set menu item caption&#40;mitem, name&#41;
  set menu item bit&#40;mitem, menu item bit&#58;close menu when selected, on&#41;
end


script, craft sword, begin
  delete item&#40;item&#58;blade&#41;
  delete item&#40;item&#58;handle&#41;
  get item&#40;item&#58;sword&#41;
  #show some textbox too
end

...
if &#40;inventory&#40;item&#58;blade&#41; && inventory&#40;item&#58;handle&#41;&#41; then &#40;add craft recipe&#40;$0="Sword &#40;blade + handle&#41;", @craft sword&#41;&#41;
You still need to create a blank or mostly-blank menu (with the "Allow gameplay & scripts" bit turned on) in the menu editor and "open menu" before you populate it with recipes.
Last edited by TMC on Mon Nov 28, 2016 9:25 pm, edited 3 times in total.
User avatar
marionline
Metal Slime
Posts: 673
Joined: Sat Feb 26, 2011 9:23 pm

Post by marionline »

@TMC:
Wow! Many, many thanks TMC! :D
That saved me from about writing 50 tags and implementing menu items!
It's way more fun to use that script.
User avatar
guo
Metal Slime
Posts: 749
Joined: Fri Dec 04, 2009 9:12 pm

Post by guo »

Hi TMC,

I've been looking to use a script like this myself. A couple questions:

Where would you implement the "if (inventory(item:blade) && inventory(item:handle)) then (add craft recipe($0="Sword (blade + handle)", @craft sword)) " part of the script?

What are the $0="Sword (blade + handle)" and "@craft sword" parts? I'm guessing $0 is a string to caption the new menu item and @craft sword indicates which script the crafting menu should call, but I don't see the connection/where they are referenced within the script.

If you could, please explain the script to me like I'm 5 years old (or have the brain of a 5 year old... in my case ).

Regards :hurr:
Last edited by guo on Mon Nov 28, 2016 8:50 pm, edited 1 time in total.
vvight.wordpress.com
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

OK.
$0="Sword (blade + handle)" gives the name (caption) of the menu item).
A little known feature is that $X="..." to set string number X also returns the value X, which is very handy when you want to pass a string to a command or script.
@craft sword is equal to the ID number of script "craft sword". The script ID is what you have to set as the menu item subtype to get that menu item to trigger the script.

The idea is that you have a script to build the menu that looks like this:

Code: Select all

plotscript, crafting menu, begin
  open menu&#40;2&#41;   # open the menu template

  # add the menu items
  if &#40;inventory&#40;item&#58;blade&#41; && inventory&#40;item&#58;handle&#41;&#41; then &#40;add craft recipe&#40;$0="Sword &#40;blade + handle&#41;", @craft sword&#41;&#41; 
  if &#40;inventory&#40;item&#58;sword&#41; && inventory&#40;item&#58;pixie dust&#41; >= 2 && party money >= 3&#41; then &#40;add craft recipe&#40;$0="Better Sword &#40;sword + 2 pixie dust + 3GP&#41;", @craft better sword&#41;&#41; 
  # etc...

  # you might want to put a waitformenu here, as well as put some suspend/resume commands at the top/bottom of this script
end

script, craft sword, begin
  delete item&#40;item&#58;blade&#41;
  delete item&#40;item&#58;handle&#41;
  get item&#40;item&#58;sword&#41;
  #show some textbox too
end

script, craft bettersword, begin
  delete item&#40;item&#58;sword&#41;
  delete item&#40;item&#58;pixie dust, 2&#41;
  pay money&#40;3&#41;
  get item&#40;item&#58;better sword&#41;
  #show some textbox too
end

# etc
A variation would be to always show all menu items, but disable them if the player doesn't have the right items. That could be done like this:

Code: Select all

# name is a string id, whichscript is a script id
script, add craft recipe, name, which script, enabled, begin
  variable&#40;mitem&#41;
  mitem &#58;= add menu item&#40;top menu&#41;
  set menu item caption&#40;mitem, name&#41;
  if &#40;enabled&#41; then &#40;
    set menu item type&#40;mitem, menutype&#58;script&#41;
    set menu item subtype&#40;mitem, which script&#41;
    set menu item bit&#40;mitem, menu item bit&#58;close menu when selected, on&#41;
  &#41; else &#40;
    # Cause the menu item to be greyed out by requiring tag 1, which is always false &#40;"hide item if disabled" defaults to Off&#41;
    set menu item tag&#40;mitem, 1, 1&#41;
  &#41;
end 


...
add craft recipe&#40;$0="Sword &#40;blade + handle&#41;", @craft sword, inventory&#40;item&#58;blade&#41; && inventory&#40;item&#58;handle&#41;&#41;
...
(Untested)

For simplicity, in these scripts you have to create one script for every craftable item (eg "craft sword"), which is run when you select that item from the menu. It would be possible to put some information in the menu item extra data and run the same script when any menu item is selected, but you would probably have trouble fitting enough information in the three extra data slots. It would also be possible to show a "You crafted <item>!" message without having to manually create heaps of textboxes (hint: use the "get item name" command and write a script that takes the item ID number as an argument).
Last edited by TMC on Mon Nov 28, 2016 9:27 pm, edited 1 time in total.
User avatar
marionline
Metal Slime
Posts: 673
Joined: Sat Feb 26, 2011 9:23 pm

Post by marionline »

guo wrote:
What are the $0="Sword (blade + handle)" and "@craft sword" parts?
I'm guessing $0 is a string to caption the new menu item and @craft sword indicates which script the crafting menu should call ...
That's right. :)

TMC wrote:
script, add craft recipe, name, which script
Attention: No end here! :o

name and which script are parameters/variables of the add craft recipe script. In the example case name is the '$0="Sword (blade + handle)"', and @craft sword is 'which script'.
Inside the add craft recipe script '$0="Sword (blade + handle)"' is then refered as the variable name. And the which script is a variable used for craft sword.
Does this help you a bit?

Edit: Oh, I did not see that already was an answer by TMC ...
Last edited by marionline on Mon Nov 28, 2016 9:30 pm, edited 3 times in total.
Post Reply