Tag: GameMaker

scrollsnap extension for GameMaker: Studio

My latest GameMaker extension, scrollsnap, is published!

Asset listing at the YoYoGames Marketplace

Documentation

Demo video:

What’s scrollsnap?

Scrollsnap is a way of setting up a View in your room so that it “snaps” to the next screen’s worth of space when the followed instance moves outside the view. Simply put, it’s a view that stays put, but if you walk off the edge of the view, the view updates, giving the appearance that you walked off the edge of one screen and on to another.

Old-school video games such as Adventure, Pitfall!, and Berzerk used this approach to provide a larger game world to explore and play in, before programmers figured out how to make the hardware support scrolling.

Simple Performance Test 1.0 released to GameMaker Marketplace

Simple Performance Test is a stub project to enable GameMaker developers to quickly set up and run performance tests comparing two snippets of GML code to see which is the faster.

Ever wanted to know which way of coding your project will run faster?

Want to understand GML better?

Use Simple Performance Test to compare two blocks of GML code, and prove which is faster.

Don’t guess at which code is better optimized, test it and know!

It’s completely free!

Get Simple Performance Test at the GameMaker Marketplace

Project documentation

 

Latest Google Chrome changes break HTML5 applications built with GameMaker: Studio

Users who browse this site with Google Chrome will have noticed that the HTML5 demos and games that I have built in GameMaker no longer work in the latest version of Chrome. I became aware of this fairly recently, but until yesterday I had hoped that it was just a problem with the configuration of my primary computer, as the problem did not seem to be evident on my other computer that I do testing with. Unfortunately, after updating that computer to the latest build of Chrome, I found that the problem is more widespread.

This thread on the GMC forums explains what to do if you’re a programmer who has an HTML5 game that needs to be patched in order to fix it with the latest Chrome. I have yet to try this on my own games, but will be experimenting in the near future. Presumably, YoYoGames will be updating the GameMaker: Studio build for HTML5 to rectify the problem in an upcoming release, and once done, re-building the game will also fix the issue.

Mmap 1.0 released

Mmap is a GameMaker asset pack that provides powerful, flexible, easy to use mini map functionality.

MMapIcon200x200

Features:

  • Easy to use, Beautifully coded! Source code thoroughly documented, very easy to understand, modifiable.
  • Great performance.
    • 2000-4000 mappable instances in HTML5
    • 10000+ mappable instances in Windows (YYC).
  • oMmap object
  • oMappable parent object
  • Four types of mmap:
    • Basic
    • Radar
    • Sonar
    • Static
  • Identify Friend-or-Foe (IFF) color code system
  • Fully customizable!
    • colors
    • alpha transparency
    • screen size
    • detection range
    • zoomable
    • refresh rate
    • blip tracking
  • Tested on Windows, Windows (YYC), and HTML5 builds

Live Demo in HTML5

Documentation

Buy it at the GameMaker Marketplace

YoYoGames launches Marketplace (early access)

YoYoGames has opened its new marketplace to early adopters. Now is the best time to get a product up, as there’s not much competition right now.

It seems the going price for most things is $.99-1.99. Some things are free, and larger products cost more. It seems that the marketplace is currently geared toward selling singular assets a la carte, rather than larger bundles and collections. I’d like to see the sellers create bundles for certain types of assets, rather than try to nickel and dime their way to maximized revenue. I’m also curious to see if the marketplace will allow sellers to use a “choose your price” model a la the Humble Store.

All sorts of assets are available, from graphics, sounds, and fonts, to shaders, scripts, and extensions. Not every category offers something yet, but I expect this to blow up quickly as developers rush to market.

I have some mixed feelings about this, but overall it’s a positive development. On the positive side, it enables GameMaker developers to see their work to each other, which should encourage the aspiring professional by providing a way to make money and an incentive to produce. On the negative side, I’m not sure that the community needs such an incentive — there’s a huge amount of freely available stuff that has been openly shared in the GameMaker Community. Creating a marketplace will tend to introduce greed and cause developers to guard their secrets, or at least want to be compensated for sharing them. In the long run, this could prove more detrimental than beneficial.

Could a build farm be coming to GameMaker Studio?

Interesting.

Earlier today, I posted an idea I had to the GameMaker Community Forums Suggestions board: for YoYo Games to provide a Build Farm service to GameMaker: Studio users who would like to build their games for platforms that they do not own.

Currently, while GameMaker: Studio enables users to build to multiple platforms, certain of those platforms have fairly steep requirements in terms of a physical device to connect to in order to build, and even membership in developer programs. Maintaining all these devices and memberships is prohibitively expensive for anyone who isn’t making a living by doing it.

Providing a Software as a Service model for building to remote cloud-hosted virtual devices that are configured and maintained by YYG themselves would greatly simplify the effort required to build to non-Win32 platforms, making it far easier for GameMaker Studio users to reach all of the platforms that GM:S allows them to reach. Suddenly, it becomes feasible for a solo developer studio to release a game on all platforms without having to own a Mac, an iPad, an Android device, etc.

Further, I suggested that once the build farm was up and running, the next logical step would be to allow developers to submit their newly-built games to various App Stores for whatever target they have built to, enabling GM:S users to bring their games to market far more easily. YoYo Games could have their own store, and GM:S users who have accounts with other app stores could connect their accounts to their YYG Store account, which would enable them to submit their games to the other stores very easily.

Shortly after posting my idea, YYG CTO Russell Kay commented “Squirrel!” — which, apparently, means that I’ve suggested something that YYG has plans to do.

I’m not sure how much of the above ideas they are working on, or how closely what they are working on will resemble what I’ve outlined above, but it’s extremely exciting to think that this may be coming at some point in the indefinite future.

Anything that makes it easier and cheaper for a game developer to bring their products to market — without having to handle all the other aspects of running a business — makes it possible for small studios to compete and do business and make money without having to grow and support a full staff in order to handle these functions internally.

GameMaker Studio Standard now Free

Today YoYoGames announced that they are discontinuing the much-derided free edition of GameMaker Studio, GM:S Lite. In its place, GameMaker Studio Standard is now free. Previously, Standard was $49, but often discounted to free for special promotions. The Lite edition was not favored by users for being too limited in features and resource constraints.

This is a good move for YYG, as it serves to strengthen their position among neophyte developers who want a first tool they can use for free. GameMaker has long been a “gateway drug” for many indie game developers and programmers, and making a free version that is actually useful will continue to ensure that new users will have little reason not to give it a try.

Their official announcement is copied below:

YoYo Games Ltd.

Today, YoYo Games announces that a powerful version of GameMaker: Studio is now available to developers for FREE. We’ve taken the resource-limited “Free” version of GameMaker: Studio and replaced it with a feature-rich version of GameMaker: Studio called “Standard.” The newly launched GameMaker: Studio Standard puts the full power of GameMaker: Studio at the fingertips of games developers everywhere!

If the cost of GameMaker: Studio was holding you back before, there isn’t anything holding you back now.

For more info, visit https://www.yoyogames.com/studio.

Game on!

Alamogordo: Post-mortem

I almost didn’t submit a game this time around. For some reason, I couldn’t get my creativity going. I thought that Beneath the Surface was such an excellent theme, too, with great potential. When they announced it, I started trying to think of a game that would happen underground, or under water. But all I could think of was the setting, not what you’d do there. My brain was being an enemy to me.

So I stayed up until about 6 AM Saturday morning, and still hadn’t thought of any good ideas. My best idea of the night came to me when the Neil Young song, “The Needle and the Damage Done” popped into my head, and I briefly considered making a game about heroin use and damaging the skin beneath the surface. If I wanted to do that right, I needed to make a chiptune cover of the song, and I still can’t do music properly. One day…

So, I put that idea aside, and then nothing else came to me. I slept in until around 11:30, and spent most of the afternoon sitting around, waiting for inspiration to hit me, but nothing happened.

I dicked around on the internet, reading stuff, and started reading all these articles about the New Mexico landfill dig, where they were trying to determine if the legends of massive amounts of unsold Atari merchandise being buried in the desert were really true.

Turns out, they were true!

I found the story fascinating, because why would people still care  that much that they’d dig around in a land fill trying to find that stuff. It’s not as though E.T. was a rare and valuable game. To me, the story wasn’t fascinating, it was people’s fascination with the story that was fascinating. It seemed to be getting a lot of coverage in the media.

I still didn’t have any ideas for what would be a good game, and by around 5 or 6, I had given up and resigned myself to not producing anything this time around, and felt pretty down about my failure to come up with any good ideas. I had a relaxing Saturday evening, went to bed, had a pretty normal Sunday, and then, around 7pm it occurred to me that the land fill dig was happening beneath the surface of New Mexico. Beneath the surface…

Beneath the surface…

Beneath the surface…

Beneath the surface…

neath the surface…

the surface…

surface…

urface…

face…

And I got this visual in my head of the pits in the E.T. video game, and connected that to the landfill, and immediately realized that there was a potential game in there.

Digging in the Alamogordo, New Mexico landfill, in a pit from the E.T. video game, searching for the secret stash of E.T. videogames. I knew exactly what I wanted it to be, not really a challenging game, just an idle time waster that paid homage to the legend and the events of the weekend. I had less than 2 hours before Compo deadline, and knew I’d never make it, but this would need to be a Jam entry anyway, as I wanted to use graphics and audio sampled from the E.T. video game.

Unfortunately I was already on my way to spend the evening with friends, and I didn’t get home until close to 11pm. By 11:30, I had just gotten started, and I worked through the night until 6:30am, and which I had most of the level laid out and working. Movement and collisions were very buggy, but the game was basically playable by this point.

I took a power nap, worked Monday, and then cranked out bugfixes until I got everything working right. All told, the game took about 10 hours to build. My fastest development time ever. Howard Scott Warshaw took 5 weeks to make E.T., his fastest development time ever.

I used that time rather well, struggling only a little bit with the bug fixes, and all I really needed to fix those bugs was to step away from the project and return to it fresh — once I did that, it was fairly easy to redesign the code that handled movement and fix the problems I’d been having in the wee hours of the morning earlier in the day. Throughout the project there was very little re-work, almost nothing thrown away, and everything that I built was done in such a way that it doesn’t feel like a mess. The project code is actually pretty decent. Almost every LD48 that I’ve done so far, I’ve struggled with some stupid error in a feature that should be very basic and easy to do, and ends up sucking a lot of my time away from the project, but this time, I worked effectively from start to end. Only, I had just about 10 hours of work put into the project over the entire weekend.

The game itself, well there’s nothing much to it, but it does feel somewhat like one of those terrible shovelware titles that caused the Great Crash of ’83.

So, there it is, an homage to terrible games. Since that’s what it is, it somewhat excuses it from itself being a fairly terrible game. At least the programming is fairly decent, …beneath the surface.

Well, play it and see what you think.

Alamogordo

Making a Configuration System in Game Maker, part 3: Where’s Part 3?

A while ago, I started a series of articles that I never finished, on creating a configuration system for GameMaker games. I posted Part 2 almost 2 years ago, and had intended to follow up in just a couple weeks with Part 3, but it stalled and never came out.

A few readers have asked, so I figure an explanation is owed.

The series I had started on creating a configuration system has been on hold since the second article. As I got into designing the system, I kept running into problems with making my system platform-independent and universal.

I had intended to write a universal configuration management engine for handling things like monitor resolution switching, master volume, music volume, and sound fx volume, and a customizable set of configuration widgets for whatever your game might need (essentially, a set of generic, reusable buttons, sliders, checkboxes, and other UI controls). Ideally, I had hoped to write a set of scripts that would use GML functions to define rooms and objects that would constitute the configuration system. Ultimately, I wanted to create a GML script config_system_create() that would set up the entire system — rooms, objects, and functionality, so that you could simply import a GEX extension, call one function, and have a full-featured system generated at runtime, without having to spend any time designing and implementing all the resources yourself. But in GM:S, YYG obsoleted the functions that allowed me to define objects at runtime, execute strings as GML code, and a number of other functions relating to how Windows handles video and audio.

My goal was to enable a developer to drop in my finished configuration system as a GameMaker extension, and invoke its default implementation with a single function call, and use other function calls in the extension to build custom features, but use most of the features without modification, beyond turning features on or off, and to also have the capability of adding customized settings specific to their game. I wanted to write my system one time, and have it be re-usable so that I could save myself from having to spend a lot of time re-creating the system in each new project.

Most difficult of all, it requires that I design a system that anticipates every need a game developer might possibly have, for any type of game they might dream up. Doing it one time and never having to touch it again would be great, but it’s probably not realistic.

This was an overly-ambitious goal. I’m laughing at myself a bit, now, thinking about it.

Still, there were a lot of achievable ideas that I had for the tutorial, and a demonstration of how to implement them would be a worthwhile exercise.

It won’t be drop-in, single-function system, and it’ll be specific to the Windows build target, but the design should be adaptable to your project with a little work.

I don’t want to make a promise for when I expect to deliver this, but I will complete the series and a reference implementation before I publish the first article.