|
jusk
|
 |
« on: September 14, 2015, 01:49:48 PM » |
|
Hi, thanks for looking What's 20m?20m (TWENTY METRES!) is a lo-fi (  ) game about running short distances, with 8-player local multiplayer. Inspired by classic joystick-breakers (  ) such as "Track & Field" and "Daley Thompson's Decathlon", 20m is best enjoyed with a couch-full of friends. And for those without friends, you can race a selection of AI athletes! A typical 20m race (being significantly shorter than the popular distance of 100m), can be completed in around two seconds. Summary of progress so farDespite being a modest little game, making 20m has been a slow process! It started out a few years ago as a Blitzmax prototype, with limited success. I then had another go at it in GameMaker, with some minor success (it kinda worked, with two player mode and not much else). I then recently revisited it in GameMaker: Studio, having learned some stuff working on a lot of other prototypes and tutorials in the meantime, and it has started to come together somewhat. A lot of the content could probably still be considered 'placeholder', but this seems like an appropriate time to show it to a few people, and share some thoughts on the development process. Can I play it? Yes! You can get the latest build over here: http://jusk.itch.io/20m. And, for any of you kind enough to provide feedback, there's a playtesting thread over here. But why???20m is not innovative or ambitious in scope, and deliberately so. As someone who is very much a novice, and who only has (sadly!) limited time to spend on this - I wanted to focus on a very limited project, and work through the whole process as an exercise/experiment, learning as I go. If this works out okay - there will be plenty of time for more ambitious/innovative stuff later. So I settled on an athletics game - primarily because I have always liked the clarity and simple pleasures of athletics games, and I couldn't find a modern one that quite did what I was looking for. So here it is. Software- Made entirely in GameMaker: Studio
- Music made in BeepBox
- Sounds generated with Bfxr
Features?- 8-PLAYER local multiplayer
- Optional AI opponents
- False starts
- Personal best times recorded for all players
- Record times leaderboard
- Chiptune soundtrack
- Re-configurable controls (keyboard and/or gamepads, based on Messhof's Input Dog)
- Endless replayability!
Bugs?Quite possibly - as testing an 8-player game with two hands can be difficult. Future?I would like to polish 20m a little, and add a few more features - before assessing whether to expand the game (i.e. add other track & field events), or leave it as a (hopefully) well-formed, fun little game. To-do list:- New stats/records screen
- Better sounds
- Better sprites/graphical assets
- Better animations
- Streamlined UI
- Better laid out text/info
- More variety of AI opponents (appearance and attributes)
- Explode Mode (
)
Pictures
|
|
|
|
« Last Edit: October 21, 2015, 02:01:18 PM by jusk »
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #1 on: September 15, 2015, 01:39:09 PM » |
|
A little update on today's progress. I've wanted to add reaction times for a while. They showed these in the BBC TV coverage of the World Athletics Championships recently, and as they are particularly relevant/important for very short (20m!) races, and I have a pretty robust timer - I thought they'd make a nice addition! Recording the times was straightforward - but displaying them in a sensible way will take some tinkering. Here's what I have so far - the purple figures are the reaction times (ignore the weird fadey text, that will be fixed  ): What this has highlighted (something I kinda knew already), is that my AI athletes are unfairly quick off the mark - they basically react at zero. Weirdly, all the reaction times (in milliseconds) get 17 added to them when the race screen switches to the race-end screen. No idea why that is! That's all for now!
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #2 on: September 16, 2015, 01:37:24 PM » |
|
I got my reaction times sorted out today - so AI athletes no longer have insane reactions. I've set them to be randomised from a range starting at around 110ms, which is about as good as is possible in the real world of sprinting. They're still probably going to be faster off the blocks than most keyboard-athletes, but they are a bit less super-human. Reaction times (for AI and humans) are displayed at race-end. I also found a load of old rubbish/obsolete/duplicate code to delete today - which is always nice!  The latest build is up on itch, if anyone would like to measure their own reaction times: http://jusk.itch.io/20m.
|
|
|
|
|
Logged
|
|
|
|
|
FK in the Coffee
|
 |
« Reply #3 on: September 16, 2015, 03:22:17 PM » |
|
Hey! I really wanna try this, but I'm having a lot of trouble running it on my machine. (Touch screen Asus with Windows 10 installed) The game just opens as a black screen, doesn't display anything, and doesn't exit when I press Alt+F4. The only way to get it to display anything/get back in control of my computer is to Ctrl+Alt+Del to open the task manager, after which it goes to the "Actually Quit/Don't Quit" screen. Also, input doesn't work for me when the menus are working, for some reason.
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #4 on: September 17, 2015, 01:07:14 PM » |
|
Hey! I really wanna try this, but I'm having a lot of trouble running it on my machine. ...
Hey, FK! - Man, that's annoying - you are literally the first person on earth to communicate the fact that you have tried to play 20m, and it doesn't work. I'll do some tests on whatever machines I can get my hands on asap and see if I can figure out what's going on. FWIW, I'm on Windows 10 and have no issue - but I've not had an opportunity to try it on a touchscreen machine. One thing to try - go into the c:\Users\[Yourname]\AppData\Local\20m (or equivalent) folder, and edit "settings.ini". Change 'fullscreen' from a 1 to a 0, save and then try run the game again. This should make it start in windowed mode, which may help. I might make that the default in the next build (over the weekend probably) if this continues to be an issue. Hope you get running - and thanks for your interest  edit: one more thing - on Windows 10, 'Windows SmartScreen' seems to think the exe file is dodgy. I assure you it is not! The exe is created directly from GameMaker: Studio. Will have to look into what is involved in avoiding such nonsense security popups.
|
|
|
|
« Last Edit: September 18, 2015, 01:28:35 PM by jusk »
|
Logged
|
|
|
|
|
NoOneSpecial
|
 |
« Reply #5 on: September 17, 2015, 01:15:56 PM » |
|
It doesn't work on Wine, so I can't play it, but it looks amazing. Would you ever consider doing versions for other platforms?
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #6 on: September 17, 2015, 01:22:24 PM » |
|
It doesn't work on Wine, so I can't play it, but it looks amazing. Would you ever consider doing versions for other platforms?
Sure! If people were interested - but to date, there are zero confirmed 20m players on earth on any platform, so I'll have to look at the effort to reward ratio before going down the multi-platform route!
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #7 on: September 18, 2015, 10:52:04 AM » |
|
Minor update: uploaded a new build today with some minor tweaks. It's now defaulting to windowed mode on first run - which hopefully might help FK in the Coffee get up and running... 
|
|
|
|
|
Logged
|
|
|
|
|
Mr Speaker
|
 |
« Reply #8 on: September 18, 2015, 11:52:34 AM » |
|
Ha ha, that looks fantastic! I wish it worked on Mac... Brilliant idea!
|
|
|
|
|
Logged
|
|
|
|
|
oldblood
|
 |
« Reply #9 on: September 18, 2015, 11:56:10 AM » |
|
Just chiming in to say thats a very cool, simple idea. I don't know the last time I had 7 friends over but its a great idea... Will have to give it a try.
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #10 on: September 19, 2015, 01:53:05 PM » |
|
Cheers for looking, folks - if you get a chance to try it, let me know how you get on!  Today's minor update: I've (obviously  ) not spent a whole lot of time on graphics up to this point, so today I tried adding a basic stadium background image. In some ways I kinda like it, but on the other hand I think it clutters up the screen - not sure if I should just stick with the super-minimal approach, or spend more time tweaking pixels.
|
|
|
|
|
Logged
|
|
|
|
|
FK in the Coffee
|
 |
« Reply #11 on: September 19, 2015, 08:11:33 PM » |
|
Minor update: uploaded a new build today with some minor tweaks. It's now defaulting to windowed mode on first run - which hopefully might help FK in the Coffee get up and running...  I'll try it tonight!
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #12 on: September 20, 2015, 01:01:24 PM » |
|
A few more minor improvements made today: - Tweaked my stadium background a little, and it has started to grow on me. I'm still not convinced about it, but going to leave it in for now
- The top 10 reaction times are now saved to a file
- Tidied up my Highscores page a little - it now includes both the 10 best times, and 10 best reaction times
As was the case in this screenshot, lots of 20m races come down to very fine margins: Reorganised Highscores page: I really need to look at making the menu text more easy to read. With the various new stuff added recently, the menus no longer stand out like they should. Going to try adding some sort of semi-transparent background behind them. You can get the new build here if you'd like to try it! That's it for this week - thanks for checking in. 
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #13 on: September 22, 2015, 01:38:39 PM » |
|
I've been fiddling with some more stats stuff for the past two evenings. I've wanted to add a win counter for a while - so that you could easily keep track of the score in a 'best-of-10' (or first to 6 wins or whatever) style match with your friends in local multiplayer. Rather than just record the number of wins, I've tried to keep in-theme, and added an olympics-style medals table. The result is nothing fancy, but it works - and it involved some messing around with ds_grids in GameMaker, which I was not very familiar with - so overall, this is useful progress!  Now, I'm sure this is something I'll look at in the future, and think "why on earth did I code it like that" (a very common thought of mine) - but here's what it does: - checks a list of known players from a file (numerically indexed) - checks each player from that list's gold/silver/bronze record from another file (indexed by name) - wedge all this into a ds_grid - sort the grid by golds I'm kinda thinking I should just store all player data in such a grid, get rid of those two above-mentioned files, and instead write/read this whole ds_grid from/to a file at game exit/game-load - but that's another days work.  I hope to have the medal-table stuff in the next build on itch.io, later in the week.
|
|
|
|
« Last Edit: September 23, 2015, 02:08:43 AM by jusk »
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #14 on: September 24, 2015, 02:19:27 PM » |
|
Another wee update - uploaded a new build to itch this evening, which contains the following bits of minor progress: - New medal table
- Tidied up stats/records page
- Ability to cycle through previously entered usernames on name entry screen
- Some old fashioned bug fixes
Photo finish! Just 17 thousandths of a second between 1st and 3rd. Previously typed names now remembered: Improved stats:
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #15 on: September 27, 2015, 01:30:11 PM » |
|
I've been doing some reorganising of data structures in the background on 20m this weekend. This has had a negligible impact on the actual gameplay - but it has opened up some interesting possibilities. Up to this point, I had 8 character sprite sets, and 14 potential opponents. Basically, for each AI slot - there were two alternative names. That was it as far as variation went. I've wanted to decouple the sprites from the player objects for a while, with a view to having interchangeable skins and running kits. This is more-or-less set up now. I've made a series of 'kit' sprites, which overlay the base 'skin' sprite sets, and they can now all be easily interchanged. This works well, so the next step will be to add interchangeable hair and shoe sprites, and individual AI character attributes such as reaction and speed - to allow more distinctive and recognisable opponents (in so far as a 6x9 pixel sprite can be recognisable as an actual person...  ). The restructuring was fairly tedious, but definitely worthwhile, as it lays the groundwork for a few of my next plans - namely a more developed single-player experience, and a 'historical' races mode - e.g. being able to race against the lineup of the '88 Seoul Olympics 100m final, etc. Those plans are a little further down the road, but I hope to have a new build up on itch.io with the new sprites, etc, tomorrow. And here are a few new screens:
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #16 on: October 04, 2015, 02:36:18 PM » |
|
For the last few days I've been wrestling with expanding the single-player mode to involve 16 athlete events - i.e. 2 heats and a final. It has taken (and is still taking) far longer than I thought it would, but I'm getting there. Here's a gif showing a full race meeting event: There are a few bugs to iron out, and I want to add some more visual elements to help distinguish the different rounds - but it's functional. In the gif you'll notice I didn't qualify from heat 1, but the event carries on regardless, with Justin Gatwick (winner of heat 2) pipping Usain Bold (winner of heat 1) in the final - though Bold would have won had he repeated his PB time from the heat. And Asafa Trowel got disqualified for a false start. An entire race meeting in 45 seconds! 
|
|
|
|
|
Logged
|
|
|
|
|
jusk
|
 |
« Reply #17 on: October 21, 2015, 02:00:52 PM » |
|
A quick update on 20m: I finally ironed out all the obvious bugs that adding the new single-player event mode (see gif in the previous post) had introduced, and I've uploaded a new build to itch.io, if you'd like to try it out!  It includes some of the stuff I've previewed above: - Single player mode consisting of two heats and a final, racing 15 bots of varied ability
- Names shown on lanes before race start
- A few other tweaks and fixes
I'm going to park 20m for a while now, as I've become a little bogged down in it - so I'm going to move on to something new for now. There are other things I would like to add at some point (online multiplayer, other track & field events, etc) - so I hope to revisit further down the line when I have learned some more on other projects. Thanks for reading - and let me know how you get on if you try it out!  (p.s. there's a playtesting thread over here, which any brave athletes amongst you may care to visit  ) And a few screens:  
|
|
|
|
|
Logged
|
|
|
|
|