Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - patrickgh3

Pages: 1 2 3 4 [5] 6 7 8 9 10 11 12
61
Game Design / Re: Medley how?
« on: August 13, 2016, 04:16:45 PM »
What Kyir said. But I want to say that if this is one of your first games (which I'm assuming since I don't remember seeing your name, I could be wrong), I highly recommend you finish some non-medley games first. People expect a higher quality out of medley games, and they're also harder to do well.

62
Game Design / Re: YoSniper's Fangame Contest 2016 *RESULTS*
« on: August 13, 2016, 04:10:19 PM »
Thanks for hosting the contests Yosniper. Next month, September, I'm planning to host a smaller scale contest / collab, inspired by your contests. We'll see how that goes.

63
Help, Suggestions & Feedback / Re: Discord
« on: August 13, 2016, 04:01:41 AM »
httpss://discord.gg/rN3RZzN Here you go. The #invite-codes channel in the discord has the newest link to use. They're each limited to 25 or so uses, so for anyone reading this in the future, if the link runs out then post on the forums.

64
Engines / Re: I Wanna Be the Engine KS Edition (For GMStudio)
« on: August 07, 2016, 02:33:05 PM »
For this kind of error, where the error itself could be anywhere in the project, it's best to upload your project gmz (go to File -> Export Project). My guess is you have your new room at the top of the list, when rInit should always be at the top so it's the starting room.

65
Meet and Greet! / Re: Hello +gif
« on: August 02, 2016, 11:08:42 PM »
Hi Woodenmushroom, welcome to the forums! I think persistent blood is a cool idea, if done right. You might be interested in joining our community's discord: httpss://discord.gg/cw2BAQt. We have a pretty nice gamemaking channel. Good luck making fangames!

66
General Discussion / Re: Delete
« on: July 29, 2016, 01:16:28 PM »
I appreciated you writing that post Shoe. To me at least it cleared up a lot of things, and it probably did for others. A forum post is better for this kind of message than talking on stream because it reaches many more people, so thanks for doing it.

A lot of the time forum posts don't get many replies in our community, but looking at the view count (150) a lot of people read it. I wish I would have replied had I known you were considering deleting it.

I wish you good luck with everything you're going through.

67
Gameplay & Discussion / Helpful Streaming Tools
« on: July 21, 2016, 05:03:14 PM »
Let's compile a list of tools, scripts, plugins, etc. that are useful for streaming fangames.

Snip adds playing song information from Spotify, iTunes, Winamp, foobar2000, or VLC to a Text Source. I configured snip to launch on startup of my computer.

I wrote a batch (.bat) script to automate opening all the stuff i use when streaming. It's not perfect; please let me know if you find any improvments.
Code: [Select]
start /b "" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\OBS Studio\OBS Studio (64bit).lnk"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "httpss://www.twitch.tv/patrickgh3/dashboard"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app="httpss://www.twitch.tv/patrickgh3/chat?popout="
start /b "" "C:\Patrick\Stream\pat chat bg.exe"
start /b "" "C:\Patrick\Stream\pats balls.exe"
pause

68
Game Design / Re: GM Studio Pros and Cons
« on: July 21, 2016, 02:01:43 AM »
GMFileSystem kind of works, but in my experience it's kinda quirky and buggy. It's used in Jtool and I still get occasional messages from people who get errors. We've discussed making an alternative in the discord a few times, but it seems difficult and unlikely to happen.

69
Game Design / Case studies in fangame design
« on: July 19, 2016, 06:17:24 PM »
A case study is a detailed examination of an isolated event, person, or thing in order to see what can be learned from it. Or something close to that anyways. I think sharing small writeups like this can help us learn from how others approach design stuff. Feel free to post your own! I'll start it off.

https://i.imgur.com/XZJiG2N.gifv

This is an attack of a boss from I wanna run the Marathon before tweaks. It kind of feels unfair and unfun. The peaches are too fast and unpredictable, and the random direction of the crowns is too luck-based. Often when I die it feels like there was nothing I could have done.

So, I decided to change the attack instead of scrap it because its ideas seemed solid.
  • Fix the peaches sprite origin so they rotated around their center correctly and weren't confusing to read.
  • Make peaches move a bit slower overall to give more time to react to them.
  • Instead of randomizing both x and y speed, randomize only x speed and keep y speed constant so peaches land in the lava at regular intervals.
  • Make crowns always launch at the same direction to the left.
  • Make even numbered peaches land on the left half of the arena, and odd numbered ones on the right half. I noticed that the attack was free if most peaches were far away, and too hard if most peaches were near you, and this spreads them out more evenly.

Now the attack felt fair and mildly challenging every time. Mission accomplished! I want to note there were many other variables I could have adjusted, such as peaches size, crown size, crown speed, peaches spawn rate, peaches arc height, and crown arc height. So I think the main takeaway point here is there's usually a lot of variables and axes you can adjust, and you have to think hard to find them since they aren't all immediately obvious.

https://i.imgur.com/ibl0i2U.gifv

70
Game Design / Re: Required reading for new developers
« on: July 19, 2016, 04:00:44 PM »
Here are some notes that aren't critical, but are good to keep in the back of your head.

Make your game stream-friendly
  • Keep the stream bitrate in mind and don't make visual effects too crazy. For example, the VVVVVV boss in Classic looks fine on video but bad on stream. Most of the time this isn't an issue, but it's good to keep it in mind.
  • Be aware that certain songs get parts of twitch VODs muted. It's a tradeoff between having music you want and being able to listen to VODs.
  • Don't include inappropriate content that puts streamers at risk for being banned. It may be funny or artistic, but being able to stream games is more important than that.

Make your game speedrun-friendly
  • Avoid RNG having too big an impact on time. For example when making a boss don't make one attack it can choose be twice as long as another. This also makes casual play feel better.
  • Consider making cutscenes skippable or fast-forwardable. This also helps casual play since some people don't care much for cutscenes.
  • Don't sacrifice parts of the casual play experience for the speedrunning experience. For example the grass encounter RNG in the pokemon area of run the marathon kinda sucks for speedrunning, but it makes casual play more exciting, so we kept it. I also think if you focus too much on making your game speedrun-friendly you'll be let down if no one speedruns your game, so I'd leave speedrun-related tweaks as afterthoughts rather than early-on decisions.
  • When bugs and skips are discovered (and they will be), think carefully and consult with people who have run your game. Sometimes these exploits make the run interesting and sometimes not. You don't want to backstab runners by invalidating all times when it's not necessary. And if you do update, do it as soon as possible to minimize invalidated times.

71
Game Design / GM Studio Pros and Cons
« on: July 19, 2016, 03:10:38 PM »
I thought a centralized pros and cons list like this would be useful. I'm a big supporter of switching to studio, but I tried to be fair and present both sides. Please note anything I missed and I'll add it to the list.

Switching to Studio from 8.X for fangames

Pros
- Better optimized
        • Games can handle more objects before lagging
        • No need to worry about ~150MB project size limit
- More features
        • Built-in good networking
        • Built-in shaders
        • Built-in good audio system with pitch and volume changing, etc
        • Built-in physics system (e.g. golf area in run the marathon)
        • Draw begin and end, draw GUI, pre and post draw events
- Better project structure
        • Easier to transfer resources between projects
        • More easily compatible with version control (git, etc)
- Better interface
        • Can have multiple code windows open
        • Room editor can stretch and rotate, and select multiple objects
        • Dark theme option
- Other
        • Lots of misc small improvements (script argument hints, play multiple mp3s, better “var” syntax)
        • Yoyo’s engine works great and is well-organized
        • Forced initializing variables makes debugging easier
        • Better debugger
        • Supported by the company, improvements are coming (however slowly)
        • Many people have switched, you can trust their judgement

Cons
        • Have to get used to initializing variables
        • Have to get used to small changes in UI and hotkeys
        • Have to get used to some logic changes (e.g. creation code after create event)
        • Manipulating files is annoying due to sandboxing
        • A select few people get mysterious occasional lag with studio games
        • The input delay is slightly lower, which bothers a select few people
        • Some functions were made obsolete, most you shouldn’t use anyway
        • Introduces a few new annoying quirks, to be expected

72
I'm looking forward to seeing the entries. And if you happen to need someone to help out with judging, I'm available.

73
To remove the normal player when entering the room, I would first destroy the player object since it's persistent. And also be sure there's no player start object in that room, obviously. So,

Code: [Select]
example warp object or something:

if place_meeting(x, y, objPlayer) {
    with objPlayer instance_destroy()
    room_goto(rPokemonHome)
}

I guess another thing is how to deal with saving and loading with an alternate player. In my save and load scripts, I added a check for the effect (the roomIsPokemon script above). If it returns false, then proceed as normal. If it returns true, then save and load the alternate player's position. For example:

Code: [Select]
in scrSaveGame:

if roomIsPokemon(room) {
    global.savePlayerX = objPokemonPlayer.x
    global.savePlayerY = objPokemonPlayer.y
}
else {
    // normal kid
    global.savePlayerX = objPlayer.x
    global.savePlayerY = objPlayer.y
}
Code: [Select]
in scrLoadGame:

if roomIsPokemon(global.saveRoom) {
    instance_create(global.savePlayerX, global.savePlayerY, objPokemonPlayer)
}
else {
    // normal kid
    instance_create(global.savePlayerX,global.savePlayerY,objPlayer)
}

And you can imagine having multiple else-ifs if you have multiple alternate players, like run the marathon does. Hope that helps.

74
How I would do something like this is find all the behaviors I want to disable, and wrap each of them in a conditional (if statement) that checks a script to see if the effect is currently active.

So for example, in the pokemon area in run the marathon, I had a script called roomIsPokemon which looked something like this:
Code: [Select]
return argument0 == rPokemonOverworld
or argument0 == rPokemonGym
or argument0 == rPokemonHouse
or argument0 == rPokemonHouse2
or argument0 == rPokemonCenter

And then to disable pressing R, I found where that logic was and did an additional check with that script:

Code: [Select]
if (scrButtonCheckPressed(global.restartButton)
and !roomIsPokemon(room)) // added this check
{
    /* ...
       restart game
       ...
    */
}

I also called that script in many other places. And you can imagine changing that script to just check a global variable instead of a room, or whatever other logic.

75
Unfinished / Incomplete / Re: I Wanna Grind MMO
« on: June 22, 2016, 02:05:35 PM »
I wish you the best of luck making this. But on a similar note as bananaguy and wookie, I feel that setting huge plans and doing a public announcement before much work has been done isn't good. To me this is an instance of planning too much before working, which I believe drains motivation for the creator. And to the public, since this post has nothing to show yet, it doesn't attract people to work with you or to be interested in your progress.

Pages: 1 2 3 4 [5] 6 7 8 9 10 11 12