Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

19. 十一月 2015


I remember using Allegro wayyyyyy back in the day in the early 1990s.  It was one of few graphics libraries available for DOS based machines (even though it started life as an Atari library) and certainly one of the only free game libraries available.  Amazingly enough Allegro is still under active development.  Anyways enough reminiscing…  today Allegro.js was released, an HTML5 library inspired by Allegro.  For a brand new library there is already an impressive amount of documentation and reference material available.  One of the hallmarks of the Allegro library was it was brutally simple to use and Allegro.js seems to have carried on that tradition.  Here is an example Allegro app:


// bitmap oobjects
var logo,ball;

// sample object
var bounce;

// size and speed of the ball
var size=64,speed=5;

// positon of the ball
var cx=100,cy=100;

// velocity of the ball
var vx=speed,vy=speed;

// drawing function
function draw()
   // draw allegro logo background
   // draws the ball resized to size*size, centered
   // stretch it a bit vertically according to velocity

// update game logic
function update()
   // did the ball bounce off the wall this turn?
   var bounced=false;

   // if the ball is going to collide with screen bounds
   // after applying velocity, if so, reverse velocity
   // and remember that it bonced
   if (cx+vx>SCREEN_W-size/2) {vx=-speed;bounced=true;}
   if (cy+vy>SCREEN_H-size/2) {vy=-speed*3;bounced=true;}
   if (cx+vx<size/2) {vx=speed;bounced=true;}
   if (cy+vy<size/2) {vy=speed;bounced=true;}
   // move the ball
   // if it bounced, play a sound
   if (bounced) play_sample(bounce);
   // add gravity

// entry point of our example
function main()
   // enable debugging to console element
   // init all subsystems, put allegro in canvas with id="canvas_id"
   // make the dimesnions 640x480
   allegro_init_all("canvas_id", 640, 480);
   // load ball image
   ball = load_bmp("data/planet.png");
   // load background image
   logo = load_bmp("data/allegro.png");
   // load the bounce sound
   bounce = load_sample("data/bounce.mp3");

   // make sure everything has loaded
      // repeat this game loop
         // clear screen
         clear_to_color(canvas, makecol(255, 255, 255));

         // update game logic

         // render everything
      // all this happens 60 times per second
      }, BPS_TO_TIMER(60));
   // the end
   return 0;
// make sure that main() gets called as soon as the wesbite has loaded


If this looks interesting to you be sure to check out Allegro.js.  It looks like a cool library, based on another cool library, just waiting for a community to form around it.

GameDev News, Programming ,

19. 十一月 2015


The Leadwerks Game Engine game launcher now works with SteamOS with a few caveats.  From the Leadwerks blog:

Leadwerks Game Launcher now works with SteamOS, with some caveats.

First, you must set the application to use the "Official Bindings" controller configuration by Leadwerks Software.

When you start Leadwerks Game Launcher on SteamOS, a page of available games will be shown.  Click on the game you want to play.  The game will be shown on a new page, and a blue button will appear on the bottom left of the screen.  You can press the B button on your controller to go back to the main page, or mouse the cursor over the blue button and click (right trigger).
The application will pause while the game is downloaded.  At this time no progress indicator is shown while downloading, but most games only take a few seconds.  The game will then launch.  Most games can be exited by pressing the right arrow button just to the right of the Steam button on your controller. Some games will presently not work correctly.
To exit the game launcher, press the right arrow button just to the right of the Steam button.
Attached Image

GameDev News ,

19. 十一月 2015


Just a quick note to announce a new series I have started, The GameDev Toolbox.



The series is intended to bring exposure to a wide variety of tools used in game development.  This includes graphic creation packages, IDEs, audio tools, design tools and more.  Basically if it isn’t a library, framework or game engine and it’s used for game development we will probably take a look at it.

These are not reviews, nor are they tutorials.  They are meant as a quick introduction and overview and nothing more.  For now the series is video only, but I will be creating a text based version in the near future.  There is a playlist for the series available here.

It currently consists of:


This video shows the premise of the series:

Art, Design, General, Programming

18. 十一月 2015


As part of Google’s ongoing developer conference Fun Propulsion Labs, a Google team dedicated to gaming, released the open source game Zooshi to showcase a number of just announced or updated game technologies.  Zooshy is a 3D game that runs on Android, Android TV, Windows, OSX and Linux and is currently available for free on the Google Play Store.  The source code is available on github under the Apache v2 open source license.

The technologies showcased by Zooshi include:

  • Motive – animation system
  • CORGI – an entity/component system
  • FlatUI – immediate mode lightweight GUI
  • Scene Lab – in game level editing
  • Breadboard – node based scripting
  • FPLBase – cross platform API for low level access


Now that’s a number of new technologies I currently know nothing about and will have to jump into in more detail shortly.


More details about the release are available here.

GameDev News ,

18. 十一月 2015


The Goo game engine released the code under the MIT license, as announced here.  What is Goo?  It’s the underlying 3D engine that powers the Goo Create editor which enables you to create WebGL games without coding.


The Goo Engine is the core of Goo Create. Our editor Goo Create would not work without it, but the engine can function on its own if you’re ready to do a little coding. When scripting inside of Goo Create you are also using the Goo Engine.

  • Beautiful Graphics: blazing fast rendering pipeline, built on top of open web standards.
  • Animation: support for animations and geometry from major 3D graphics tools (e.g. FBX, .OBJ, etc) via our own file format converter.
  • Audio: 2D and 3D sound system.
  • Physics: High performance physics in every browser.
  • Entity-Component system: A simple, composable and extensible pattern, often used for game engines.
  • State Machine: Create interactivity in a really simple way.
  • Advanced Timeline System: Animate entity properties over time.
  • …and much more!

The code is hosted on Github and available here.

GameDev News

Month List

Popular Comments downtime today
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

Home > >

30. May 2012



As some of you may have noticed earlier today, the site was displaying a configuration related error message.  I am frankly a bit confused at what the cause was, as when I modified my web.config to show me the error, it went away!


Also, if you’ve gone to use the contact me form, you may have noticed I added a captcha to the form.  I hate to do this, as I hate captcha’s.  Unfortunately I have a script kiddy attacking the site as a result of my comments about C++.  ( sigh )  His/her attack script was resulting in an annoying number of emails being generated and thus… the captcha.


As a result of all of this, I’ve decided to take today to apply all the outstanding updates.  This unfortunately means a bit more downtime.  So if you have a bit more trouble today accessing the site, this is why.  Hopefully when I am done we will have an all around happier, more secure and quick


Again, sorry for the outages.



EDIT:  Had another outage, so I did a bit of investigating and found out why.  Apparently our intrepid hacker friend had two other friends who more or less have been slamming the server all day with hacking scripts.  GameFromScratch is actually hosted on pretty solid servers with a good sized pipe so we can survive this.


What we cannot survive however is running out of disk space.




Apparently the hack attempts grew the log files quite a bit which was resulting in running out of disk space causing the error.  The log files weren’t actually filling up the space ( that was my screw up, I automatically back up a database daily… didn’t realize that database was up to 2GB in size! So I pruned a few dozen 2GB backup files and now a 200mb log file wont do a thing), but they illustrated that I was running out of disk.


That said, this was just slapping a band-aid over the problem, so I’ve gone one step further.  First off, I implemented firewall level blocking, so all of these addresses are now blocked.  Next I put in intrusion detection that will automatically reject people making too many connections.  The threshold is pretty high, you have to try pretty hard to trip it if you aren’t a bot, but if you receive a 403 message, this is why.


Hopefully this doesn’t cause any of you problems.  If you do have connection problems to this site, please let me know!


It’s a shame I have to do this stuff at all.  Some people take their programming languages FAR too seriously.

blog comments powered by Disqus

Month List

Popular Comments