Showing posts with label retro. Show all posts
Showing posts with label retro. Show all posts

Saturday, 14 January 2017

Programming games in the 1980's

I want Arcadia to include some of my retro gaming mini-projects.  I do post a lot of this stuff over on my other blog, and I thought - well, its all about gaming - why am I not linking that stuff back here!



For those interested, I've written a few articles and tutorials...  Taking old-school games from the 80's and recreating them in python is a load of fun and challenge.  Here's a list of my articles right here:

Learning about programming by doing it how it was done in the 80s


Recreating an old Atari 2600 game in Python


Data converting for future projects


I do have a lot more in the pipeline, and I'll post those here as I go...  But for that nostalgiac fix, or just because you're historically curious do check those out. Also check out some of my other non-coding retro posts.  A variety of hardware fixes, reviews and 3D imagery!

Share:

Monday, 24 October 2016

Holy-moly! $15 for gaming tools!

As I said a few months back, the whole Python code thing is about my need to write all of the code for my MyCade game without resorting to a game making tool...  I guess its a mix of nostalgia and inability to let go of my past, along with a dose of arrogant avoidance of game making tools as the 'easy way' to do things...

And to be honest, I've managed to get quite a chunk of that code to a stage I'm pretty happy with... But I'm at the point where I need to take all of that coding and build the game itself (ie. the goals, rewards and everything else that makes a game a challenge)

Well, what a surprise I got a few weeks back when one of my students asked me if I'd seen a deal on Humble-bundle for GameMaker:Studio...

yoyo games, creators of Gamemaker studio

At a mere US$15 for the full professional studio, plus all of the exporters for Android, iOS, HTML5, Windows, OSX and so forth I just didn't see why I shouldn't go for it...  In fact, it was such a great deal that I decided to buy a copy for my brother, a guy with incredible creative talent being able to come up with some pretty original ideas.

Unfortunately this deal is over, though I would suggest everybody keep an eye out as Humble Bundle often throw in deals like this every other month or two from what I've heard...

GameMaker:Studio Pro

I will have to say that this is a nice piece of kit.  It was intuitive enough to use straight out of the box (eh, I mean straight after installation) after just a small amount of 'getting started' reading, and with a quick simple tutorial to explain the process of setting up a introductory game, I knew pretty much enough to play with my own ideas.

Actually fairly intuitive after you get the basics...
I did try the basic intro game tutorial, developed literally from simple drag-n-drop actions.  It was easy to work with, but to be honest the first thing I thought to myself is this is why I preferred to code everything - this approach to me doesn't have the feel of producing a piece of software, more a game-making construction kit with fairly simple events and actions.

I knew GameMaker had some kind of scripting ability - and digging a little deeper suddenly changed my mind completely about this tool...

Step

The Step event is one that runs constantly during a games execution.  There was an action I could attach to this event that would execute a script.  Once I linked these two together - poof! - instant reason I could now consider moving MyCade across to this tool and not drag out the Python scripting any further!

In a way, I'm saddened about abandoning the development using Python as I really get personal gratification out of coding everything from scratch (as inefficient a use of time as it was).  However, now I had code level development sussed and there were many functions and features in GameMaker that I didn't need to code from scratch - I think I'm making the right choice to move forward.  No more reinventing the wheel either - GameMaker also appears to have A* functions built in for path finding, which is an algorithm that is faster than breadth-first searching...  Great!

Events, Actions, Script...  Great!

I also like that GML is a very easy to use language (being fairly much the same structure as most ECMAScript languages) so it was relatively simple to pick up...

That said - I've got loads of development work still on in regards to Maya, Nuke and now RenderPal (a render farm platform) so it isn't like I'm going to suddenly stop coding in Python...  In the end its the best of both worlds, really.


Practice makes perfect (sense)

I haven't started to move anything across yet for MyCade, but to have a test-run at coding in GML, I figured I take a quick stab at building a simple platformer (well, a single test screen).  As I've got loads of old-skool graphics from the 80's drawn by my brother (who I bought a license for) for games we'd planned but never wrote, it was a no-brainer.  Back then there were so many cool ideas, it gave me way too many options to choose from, and it became a case of starting nothing as any game development back then required a huge amount of effort.  The amount of effort to even code just one game was way more complex as well back in those days.  Writing actual sprite routines to draw to the screen, compressing data into tiny amounts of RAM, breaking down game loops into Z80 assembler...  Well...  Yeh...  enough said on that.

I built a very simple platform jumping mini-project using images for a game we titled "Multiranea".

Multiranea

The game that never was has now become...  Well, a simple test and not really a full game - more a screen that the player can be move and jump around with some simple obstacles.


Its pretty simple, but all of the sprite animation sequences, collision, dissolving rocks, etc was done with code rather then use GameMaker's own drag-n-drop actions.  I imported all of the sprites, then used code and a load of modulus, timers and various commands to take care of the frame-by-frame animation.  I'll post up a tutorial about some of the ways in which I worked through these soon.

For anybody curious to see how it worked out and give it a play, I have an exported Windows .EXE file that can be run.

Disclaimer: Please read this before you download and run the game.  By running the Multiranea program, you agree that you do so at your own risk and will not hold me accountable for any issues that arise (that is, if they do (though its unlikely)).

Also note that its only tested under Windows 7, but hopefully (not guaranteed) it should technically work on Win 8 and 10 just fine.

Controls are left arrow, right arrow and space to jump.

The question mark blocks will dissolve after you've landed on them.  The angry-face blocks will shock you (then disappear) and the green devils will shock you on contact as well.  The devils travel left and right on the platforms, and will randomly stop for a short amount of time.

There's no goal here other then being a muck-around experiment to work my head around GameMaker scripting, so once you're done, press Escape to exit.  Occasionally it seems to freeze on collision which looks like a GameMaker issue (maybe?) but you can close the window and re-run it as it only seems to affect the game window and not the machine.

Now I'm on a roll...  Lets see where we can go from here.

More soon...
Share:

Wednesday, 13 April 2016

The first post!

Well, I had to start somewhere!

Welcome to my Arcadia blog.  At the time of this post, the theme I installed is still untouched, so if you've ended up here and wondered what all those crazy default menus are about...  Sorry, I'll get on to those asap!  (Mind you, by the time you read this its likely I will have updated a few things)

Arcadia is a space where I want to share some of my own personal tips, thoughts and historical memories about a little of everything related to (mostly retro) gaming development.  That may be snippets of old-school programming mentality, or it may be a look back at a classic game from my past, or links to interesting articles.

As well as that, its also a space for documenting the process and production as I work my way through the development of my own personal gaming projects. Right now, I'm developing (proof-of-concepting at least) a game - a sort of arcade arcade game (double-arcade...  now that sounds like double the fun! lol!).

For now I'll refer it as 'myCade' (not a final title, but I have to give it something, right?)

"myCade" - Ancient Influences

My main inspiration for this game (once I start blogging about it) was an old Apple ][ game called Spare Change, released by Broderbund Software back in 1983.

Nothing says more retro then classic green screen!

In the game, you filled up machines with tokens, and then would collect them back out of the machines...  There were two characters (Zerks) in the arcade who would run around and steal the tokens and place them into a piggy bank.

Your goal was to collect the tokens to get to the next level.  Of course, as you collected tokens, the machines would run out and you'd have to refill them.  If the other characters managed to fill their piggy bank, the game was over.  You could distract them for a short while by placing a token into a phone (one of them would pick up the phone and have a conversation), jukebox (they'd go and dance about) and later a popcorn machine.

You would eventually collect all the tokens from machines, and need to go to the till to collect more to load up the machines.  Problem is, the till only has a finite amount of tokens in the till, and you would occasionally need to go to the safe to fill up the till again.

There was only so many tokens that the machines would take before they were out of service.  When that happens, you'd lose the tokens you placed in and its one less machine that is active.

When you think about it, it does seem a somewhat odd game idea, but the cartoon antics of the Zerks (you'd get to see a variety of different Zerk Show's - short animated sequences - as you completed levels), plus the challenge of collecting as many tokens as you could before they bet you was quite addictive.  You know its a good game if the memories of it stick with you for 35+ years.

No - I'm not out to create a modern version of the game, just one inspired by its arcade theme.

myCade as I've mentioned is just a working title for now.  I'll post up more about the actual game in a later post once I get something completed and ready to talk about. For now, I'll just keep it under wraps (ahem, well, until I actually have something to show ;-) )

The Nerd factor...

My goal at this stage is to prototype using Python and pygame.  I'm a pretty old-school programmer - my roots set in the 80's where you invented and wrote your own games - before the booming industry it is today.  It was a different world back then, and I like the feeling of just coding the whole thing from scratch rather then use a game development tool that takes away the nerdy fun.

Well, that and to be honest I just love toying in Python for my 3D work as well as punching out the odd retro game just for kicks...  Though I will eventually take that prototype across to a more mobile platform. No escaping the modern world forever...

As mentioned, Arcadia is also a space where I will post up some snippets and tips - there's definitely a few things as I code that I'm sure may be of interest to others...

Anyway, enough waffle for now.  My day job as a 3D animation and VFX tutor has picked up again (a whole new class for the year) so life will be busier which may make this a slow blog, but lets see where the year takes us.  Until the next post...
Share:
Powered by Blogger.

Recent Posts