tag:blogger.com,1999:blog-17420004540543452102024-03-12T23:35:04.495-07:00Blazing Games Development BlogGame development at Blazing Games which Billy D. Spelchan is a majority share holder of.Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.comBlogger555125tag:blogger.com,1999:blog-1742000454054345210.post-53720354304848796872020-01-14T19:28:00.000-08:002020-01-14T19:32:21.863-08:00Video Poker, Part 2
Selecting the Cards
Now the player is in a position to select cards to use. We need a way of letting the player know that the card is selected which is why we have the draw movies. This movie is a single frame movie which contains the word “DRAW” in bold red letters. It is placed over each of the cards and is set to be hidden until made visible. These movie clips were placed in the “Info” layerBilly D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-32613797886174550912019-12-15T16:33:00.001-08:002019-12-15T16:33:17.039-08:00Video Poker Part 1As I only want to deal with 1 blog, I am posting the first half of chapter 8 of my "Creating HTML5 Games using AnimateCC" eBook at https://homebrewgamejam.blogspot.com/2019/12/video-poker-part-1.html where we cover the creation of my Video Poker game.Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-63716519889592960262019-10-19T17:27:00.001-07:002019-10-19T17:27:09.904-07:00Porting Halloween LicheMy first real post and for some reason it is not showing up on my home page. For those who are interested in learning how I ported Halloween Liche from Flash to HTML5, the link is http://spelchan.ca/?p=10 I will continue fighting with wordpress but if I keep having issues will have to come up with a new plan.Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-49933814992614925792019-10-05T14:21:00.001-07:002019-10-05T14:21:38.235-07:00When Blogs CollideI have concluded that having two separate blogs is just too big of a pain. I am also thinking that posting chapters one section at a time is not the best approach. If I was to post entire chapters at a time would be more useful to anyone wanting to read my work. This obviously means that I will not be posting the new blog every week but instead will be cutting down to a long post once a month. Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-53847474711820020172019-09-21T18:42:00.000-07:002019-09-21T18:42:12.825-07:00Creating the Deck classLast section we created tests for building our deck class. Now we are ready to create a deck class. Initially we will create the code within the testDeck.html file but once it is functional move the code into the Deck.js file so it can be used by our various card projects. While it is certainly possible to create the code entirely within the Deck.js file and import that file, for prototyping it Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-58406919534958271072019-09-07T14:23:00.000-07:002019-09-07T14:23:16.693-07:00Test Driven DeckWhile having a plan for testing your code is important, Test Driven Development (TDD) takes this to another level. The idea here is that you write automated tests before you start writing the code. When it is practical to do this, it is an incredibly good way of creating code. Planning tests gets you thinking about the code you are going to write – hopefully with an idea of the fringe cases that Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-65080913176238143382019-08-24T18:47:00.000-07:002019-08-24T18:47:41.157-07:00The Importance of TestingBefore you write any code you should have a way in your mind to test the code in order to make sure that the code does what you want. There are many types of tests but when you get right down to it, all tests are either manual or automated. Manual tests tend to be the easiest to implement as they just require some code that can be observed to be doing the correct thing. As games tend to be Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-53562539020173228742019-08-10T20:57:00.000-07:002019-08-10T20:57:20.008-07:00Creating the Card ClassWe will place all the code for the Card movie in an external JavaScript file. For some strange reason, Animate CC 2017 does not let you edit external JavaScript files (hopefully an over-site that will be fixed in future versions) so another editor will have to be used for editing the JavaScript file. There are numerous editors available that support JavaScript, with Notepad++ being the editor of Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-20700299768038895772019-07-27T21:10:00.000-07:002019-07-27T21:10:46.897-07:007-1 Creating the Card MovieAs you already know, a deck of cards consists of 52 cards (54 if you count the two jokers, but for now we won’t worry about those). Obviously, this means that we are going to need 52 images. In addition to the images for every card, we are also going to need an image for the back of the cards.
There are two ways we can create images for the cards. One way, if you already have a set of bitmaps Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-88732316209560685292019-07-06T18:06:00.000-07:002019-07-06T18:06:32.483-07:00Chapter 7 OverviewOne nice feature of card games, is that once you have created a card game you are able to take advantage of existing assets and code to handle the cards so that creating other card games in the future is easier. In this chapter we are going to take advantage of this in two ways.
First, in ``Creating the Card Movie'' we are going to create a card movie. This movie will have frames for all the Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-28208331236093412482019-06-29T20:28:00.001-07:002019-06-29T20:28:46.661-07:00Spelchan.com Summer 2019
Blazing Games has been closed, at least the home page has. For the moment I am leaving the other pages up so if you know the link to a game then you can still go to the page. This will be eventually changing but I'm in no rush here. I produced a lot of Games so there is a huge amount of porting work to do. I have reviewed the results of the poll and as a result have made changes to my Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-30087863338663070752019-06-15T20:22:00.000-07:002019-06-15T20:22:48.859-07:00Final TouchesAs is quite often the case with my games, the last part of the game that is created is the title screen. The first part of the title screen is the game's logo. My One of the Weeks logo is not really appropriate, even though this game is part of that series, so to make this a stand-alone game I created a new logo. For the start button, I opted for a door as that is emblematic of the game play. As Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-51338091761518450482019-06-01T16:21:00.000-07:002019-06-01T16:21:17.616-07:00Losing and WinningIn the previous section we introduced the BSoD. This leads to the problem of what to do when the player loses the game. My first thought was to have the BSoD claw the player to death. This would reflect the feeling you get when you have an hours worth of unsaved work and the real blue screen of death shows up. Not that I’ve ever had that happen to me as I always save my work frequently. Mind you,Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-70503431360539270872019-05-18T18:21:00.000-07:002019-05-18T18:21:54.635-07:00Enter the NastyTo add a bit more pressure on the player, I have a villain that pops up after the player has stayed in the room too long. Being a programmer, the first villain that came to mind is the dreaded Blue Screen of Death that occurs on Windows machines. Linux and Macintosh OS X don't have this problem (and are extremely stable operating systems) but most people have windows, and a lot of my programming Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-51993860222335970502019-05-04T19:08:00.000-07:002019-05-04T19:08:13.538-07:00Linking the RoomsNow comes the task of assembling and linking the rooms. I create a block of frames for each of the six rooms with each room being broken into three animated sequences. First is the Enter sequence (labeled enterColor, with Color being the color of the room). This sequence shows the room zooming into view. Next is the main room loop (labeled colorLoop, with color being the color of the room). I Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-85656745783416448532019-04-20T19:52:00.000-07:002019-04-20T19:52:49.473-07:00Building the RoomsThe idea behind this episode of the game is that the player is dreaming that they are in a maze of rooms being chased by something. The rooms are connected in a non-linear fashion, but the rooms each have their own color. Thinking about this, all the rooms in the game will look the same except for their color. This means that all we have to do is create a single room and then duplicate it five Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-53955839634453745482019-04-06T19:58:00.000-07:002019-04-06T19:58:00.667-07:00Planning the AdventureThe basic theme behind nightmare maze is that you are lost in a maze and must move quickly from room to room before the evil Blue Screen of Death reaches you. The maze in this game is consistent in the fact that the same door will take you to the same room, however it is not commutative meaning that the door from A to B does not necessarily go back to A. This means while there is a Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-26475813133718278772019-03-23T20:29:00.000-07:002019-03-23T20:29:11.017-07:00Nightmare Maze OverviewIn the flash version (as well as my original draft) of this book, the adventure game material was near the end of the book but as the game is fairly simple from a programming perspective, I have decided to move it to here. Nightmare Maze is actually the first episode of a 46 episode series called One of those Weeks, which I hope to be redoing using a 3D engine sometime in the future.
In "Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-32738666276252776312019-03-09T18:59:00.000-08:002019-03-09T18:59:18.827-08:00Blazing Games Life after Death
It has been
no secret that the Blazing Games site is going away in April. This may lead to
the question about what I am going to do with this blog after the site shuts
down? I have been thinking about dropping this blog keeping only my Homebrew Gamejam
blog but I am slowly porting the Flash and Java games from BlazingGames into
HTML5 and hosting the new versions on Spelchan.com. There are a lotBilly D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-91998856482653807882019-02-23T20:43:00.000-08:002019-02-23T20:43:10.184-08:005.7 ClosuresThe bind function takes advantage of something in JavaScript known as a closure. This takes advantage of the way that scope works within JavaScript and can be used to hide variables within a function. For binding it is making sure that the reference to the object that created the object is tracked.
Scope simply is a term that describes which variables are known to a particular piece of code. TheBilly D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-52115286344211968802019-02-10T08:53:00.000-08:002019-02-10T08:53:18.888-08:005.6 Binding EventsThe one really nice thing about classes is that they are a nice way of grouping data with the code that manipulates that data. This leads to a very common situation in programming where you want to do something with the data when an event happens. Event-driven programming is where the behavior of a program is structured around events instead of sequences and is the way you typicality approach Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-39862623943760496312019-01-26T20:29:00.001-08:002019-01-26T20:29:38.407-08:00Polymorphism and Duck TypingPolymorphism is just a fancy way of saying that we can use an inherited class in place of a base class. This is a very important concept in typed languages, but is automatically handled for you in dynamically typed languages like JavaScipt. One of the nicest features of JavaScipt is that you not only can use a child class in place of a parent class, but you can use any class that has the methods Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-49580219355809817762019-01-12T20:36:00.000-08:002019-01-12T20:36:15.472-08:005.4 InheritanceOne of the most powerful and most over-abused features of object oriented programming is the use of inheritance. The basic idea here is that there are a lot of classes of objects that have a lot of features in common. Instead of re-writing the same code repeatedly for similar objects, a hierarchy of related classes can be created. You start with a base class, also known as the parent, that has Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-84421865569169653122018-12-29T13:26:00.002-08:002018-12-29T13:26:30.290-08:005.3 Constructing ClassesWhile I have my January game ready, I am at my parent's place while the game is in a different city so I will not be posting it until January 2nd when I return to University.
JavaScript did not have "proper" classes until ECMAScript 6. The problem is that while there is now a class keyword that makes creating classes much easier in browsers that have an ECMAScript 6 complaint version of Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0tag:blogger.com,1999:blog-1742000454054345210.post-64473582467702703752018-12-15T18:41:00.002-08:002018-12-15T18:41:36.251-08:005.2 Creating ObjectsThere are a number of ways to create an object. The standard way of creating an instance of a class is to use the new constructor, which we will be covering in the next section. There is a special class that all classes are based off of called Object. This class can be used to create a new basic object which properties and methods can be attached to. To create an object using the new keyword is Billy D. Spelchanhttp://www.blogger.com/profile/09254188124237763645noreply@blogger.com0