Converting TurtleBrains to OpenGL 3.2 Core

May 21, 2015
20150518_202900_gl_conversion

(Figure 1. OpenGL 3.2 Core Shader Tutorial)

TurtleBrains development began with OpenGL as it should help allow TurtleBrains to remain fairly platform independent, at least across personal computers; Windows, Mac OS X and Linux, the first batch of target platforms. At the time I did not realize I was using Read the rest of this entry »


Template Project

May 17, 2015

project_template_blog

During the last few weeks I’ve been working on a template project to kick off a new project quickly and efficiently.  After it took 17 minutes to get the project to blank screen for my first OneHourGameJame entry, it was time to improve the pipeline of starting a fresh project.  The adventure started by Read the rest of this entry »


#1HGJ Entry – Flight

May 15, 2015

20150515_flight_gameplay

Here is a game I made in a single hour for OneHourGameJam the theme, and thus title is: Flight

Flight (for Mac OS X)

Flight (for Windows)

Working on a game in an hour is a great way to learn the weaknesses about your development pipeline, be it in coding, art or audio.  The result is almost always a project that will get thrown away, seriously it took 60 minutes to make, but the experience is certain to teach you something and sharpen game development skills.

This was the third time I had tried the experiment and the first time that TurtleBrains had a working entity manager.  In both previous attempts I had to spend far too much time making sure the entities were cleaned up, so last week I worked on entity management and behavior system, but was unable to really test it until now.  The great thing is this produces a real-world test on these systems.

The art from this project was taken from voxel’s MiniLD sheet just moments before the jam started, and so was not done within the hour.  Immediately had a problem with the template project but with a slight script edit, and some copy/pasting of the concept_kit I had things ready to go.  Flight immediately put Flappy Bird into my mind, and I decided to run with a clone of that due to scope.

Created a block object that would remove itself from the entity manager once it gets too far off screen, and has a constant velocity toward the right with collision.  The player object waits for the user to press either the up or space key to start flying, which increases score and tells the gameplay scene to begin spawning blocks.  Add in a score and best score and the game was actually fairly complete.

Things learned during this hour:

  • Need to add a template_entity to the template project.
  • The collision and entity management added to TurtleBrains was simply amazing and powerful.
  • Audio failed when using bfxr on the Mac, perhaps endianness?

Start your engines!

May 10, 2015

20150509_235700_progress

Not quite started, but tonight work began on Zoom Car World 3, the demo and learning project I will be using as a stepping stone to write a full blown racing simulator.  For years this project has been placed on the sidelines, but with the current goal to work towards it for an hour a day every day, I am confident things will keep moving.

Current progress was getting back into the old ZCW3 project that was started last summer just before Sonia and I went off to Peru to hike the Salkantay-Inca trail.  The project has some form of very basic track editor in the works, although ultimately a lot more work is still needed.  Currently the efforts are being focused on giving the car an engine that is simulated, at least on a basic level, physically.

This means taking several things in consideration, the inertia of the engine.  All those rotating parts resist changes to the rotation.  If they are not yet rotating, they will fight to remain stationary, and if they are rotating they will fight the urge to slow or speed up.  A torque will be applied to the engine to increase, or decrease if needed, the speed of these rotations.  However I must have some units wrong or have yet to combine all the parts in the code correctly.

angularAcceleration = outputTorque / engineInertia;
angularVelocity = angularVelocity + angularAcceleration * deltaTime;
engineSpeedRPM = angularVelocity / tbMath::kTwoPi * 60.0f;

That is essentially what I believe I need to do.  angularVelocity should be in radians a second from everything I understand, and outputTorque and engineInertia in Newton-meters (Nm).  This would make engineSpeedRPM, in revolutions-per-minute to be 60 times angularVelocity over a full rotation (two-pi).  This does make sense to my brain, however the results, rate at which the engine speed increases / decreases is not quite what I was expected with no clutch or drive train.  It takes a good 3 seconds to go from 1000rpm to 8000rpm and I would be expecting this to be like a second.  Will continue tweaking, so stay tuned for updates.


#1HGJ Entry – Survive

May 9, 2015

02_survive_gameplay

A quick entry for the 4th OneHourGameJam entry: Survive.

Survive (for Windows)

Working on a game in an hour is a great way to learn the weaknesses about your development pipeline, be it in coding, art or audio.  The result is almost always a project that will get thrown away, seriously it took 60 minutes to make, but the experience is certain to teach you something and sharpen game development skills.

Read the rest of this entry »


#1HGJ Entry – Bouncing Boxes

April 29, 2015

 

01_deeper_gameplay

A quick entry for the OneHourGameJam entry: Bouncing Boxes.

Bouncing Boxes (for Windows)

Working on a game in an hour is a great way to learn the weaknesses about your development pipeline, be it in coding, art or audio.  The result is almost always a project that will get thrown away, seriously it took 60 minutes to make, but the experience is certain to teach you something and sharpen game development skills. Read the rest of this entry »


Development Equipment

April 28, 2015

razer_blackwidow

Don’t skimp when it comes to buying a good setup to use for development, especially if you spend most of your time developing.  A few years back I was lucky enough to work for a company that provided better than needed equipment.  I had been using a small keyboard with flat keys that came standard with the Mac machine, and made a comment about missing the Read the rest of this entry »


Portal Miner Post Mortem

April 22, 2015

Play Portal Miner:

Going into LudumDare 32 a team formed, my girlfriend, Dizzy, wanted to help with art using InkScape as she had done during LD27 in our Feeding Time game.  Mmango had also been interested in doing the audio, sound and music, and I would take point to keep the team together and do the programming.  This would be the first event where I would

Read the rest of this entry »


The Big Picture

April 12, 2015

big_picture_race

Looking around here it isn’t hard to see that I have a passion for programming.  One may even be able to gather that I am also interested in racing.  For years I have been wanting to develop my own racing simulator, much like Live For Speed or iRacing, and have started to Read the rest of this entry »


Collaborative Project: APRIL

April 9, 2015

20150408_233100_april

This screenshot doesn’t show the action of attacking and defending units, but in the last few days I’ve been leading a small team on a collaborative project: APRIL.  The project is Read the rest of this entry »