Job Offerings
 Pixel Joint Forum : The Lounge : Job Offerings
Message Icon Topic: [unpaid] Educational game about programming Post Reply Post New Topic
Author Message
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Topic: [unpaid] Educational game about programming
    Posted: 04 August 2011 at 4:21am
Hello everyone,

I am a computer science teacher and in the past years, I noticed that my students have a hard time understanding the concept of computer programming. As I am always on the lookout for great ideas that might help me illustrate what programming is all about, I stumbled upon two flash games by coolio-niato where a small robot has to lit every light within a level. The interaction between the robot and the user is done through a set of "instructions" that the robot follows blindly and which is a fantastic idea to illustrate programming.

You can find both games here:

lightBot1: http://armorgames.com/play/2205/light-bot
lightBot2: http://www.newgrounds.com/portal/view/539621

I am currently working on a new version of lightBot that I'm implementing in HTML5 using canvas. I am currently hard at work implementing the game engine but I am progressing steadily and I am confident that I will have a working alpha version in the next weeks.

You can find a working version here: http://www.haan.lu/lightbot/

Your job, if you'd be interested, would be to create isometric sprites for the robot. The robot can look in four different directions (north-east, north-west, south-east, south-west) and can stand still, walk, jump and light a tile. As I am more the technical type, I would give you full creative freedom for the artistic art-style (it doesn't have to be a robot but it can be anything you want), the size of the sprites as well as the number of frames for each animation. At the moment I have implemented the standing position and the walking animation using two frames only for a walk cycle and mirrored the images for north-east and north-west (as well as south-east and south-west).

You can find an example of my current sprite setup here: http://www.haan.lu/lightbot/img/sprites.png

I am doing the project in my free time for no payment as I think that it is important to have great educational tools in class that better illustrate difficult concepts (and my students are having fun when they are allowed to "play games" in class). I hope to find a similar-minded person that would be willing to contribute his skills to this project. He will of course figure on the website of the game and receive full credit for the game art with a link to his portfolio or email address.

Feel free to reply to this post for further questions or suggestions.

Update 08/05/2011: Added "walk forward" and "light tile" instructions to bot instruction set. Changed placeholder level to something more complex to show possibilities of map engine. Users might need to clear cache (Ctrl + F5) to see new level. Bot "jump" instruction will be implemented next.

Edited by Malorian - 26 September 2011 at 10:04am
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 14 August 2011 at 5:26am
I wanted to inform everyone that I made a lot of progress on the development of the lightBot game and that the first version of the game is nearly done!

You can find the latest version here: http://www.haan.lu/lightbot/

As you can see, the game is still lacking graphics for the welcome/help/level screen as well as the sprite for the robot/character. However, almost the entire game mechanic has been implemented and all that there is left to be done is implement a creative direction for the game to give it a nice consistent look and feel.

I would like to extend my offer once more and ask you kindly if someone would be interested in helping finish the game by agreeing to provide graphics or create the sprite for the character.

Any help would be welcome!
IP IP Logged
Zenobia
Seaman
Seaman


Joined: 26 May 2020
Location: Netherlands
Online Status: Offline
Posts: 31
Quote Zenobia Replybullet Posted: 22 August 2011 at 4:10am
Hey,

I think this is a great project. I really hope for more integration of games into education.
Unfortunately it is not entirely within my area of expertise (especially the sprite), but I can do your welcome/help/etc screens if you like.

Just drop me a message at zententia @ gmail .com
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 12 September 2011 at 10:57am
I wanted to let everyone know that the game is slowly coming together piece by piece and that I added a few cool features on the programming side:

  1. A cool new "Repeat" instruction that lets you repeat a fixed number of time a certain number of instructions. You can even put a Repeat instruction within a Repeat instruction.

  2. I added background music to both the menu and the game screen

  3. I implemented the basic content of the help section and added a video player that will play short sequences to go along with the textual description of the help content (videos still placeholder).


With the precious help from Zenobia, the game screens are coming together as well. We are currently finalizing the game theme and Zenobia is hard at work creating the different screens.

As you can see, we are still lacking a sprite pixel artist that could help us with the robot sprite. I understand that it is a lot of help but I am really dependent on this artist because I can't finish the game without one! Any help would be immensely appreciated!

As always, you can find the latest version here: http://www.haan.lu/lightbot/

Edited by Malorian - 12 September 2011 at 10:57am
IP IP Logged
surt
Commander
Commander
Avatar

Joined: 30 December 2015
Online Status: Offline
Posts: 413
Quote surt Replybullet Posted: 12 September 2011 at 4:13pm
What source license is the program using?
If it is copy-left I might be willing to give the spites a go.
IP IP Logged
jalonso
Admiral
Admiral
Avatar

Joined: 29 November 2022
Online Status: Offline
Posts: 13537
Quote jalonso Replybullet Posted: 12 September 2011 at 4:58pm
This sounds like a good cause.

Since this project is designed to be an educational tool and of general interest to pixelartists, when complete please send us a link so we can share with everyone in the gallery and give 'badges' to the artists who support such a cause with their time and work.
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 13 September 2011 at 1:33am
Originally posted by surt

What source license is the program using?If it is copy-left I might be willing to give the spites a go.


As a computer science teacher, my main interest lies in communicating my knowledge to others and especially our children (the next generation). The entire source code will be freely available under copyleft terms. I will make sure to give credit to each and every artist contributing to this project and that everyone interested can use, study, copy/share and modify (four copyleft principles) the source code as he pleases. I am thinking about releasing the entire project under the GNU General Public License.

Edited by Malorian - 13 September 2011 at 2:06am
IP IP Logged
surt
Commander
Commander
Avatar

Joined: 30 December 2015
Online Status: Offline
Posts: 413
Quote surt Replybullet Posted: 16 September 2011 at 3:15am
A quick concept:

Jumper cable hands connected to car-like battery to jump-start the light-tiles.


Edited by surt - 16 September 2011 at 3:19am
IP IP Logged
Hapiel
Rear Admiral
Rear Admiral
Avatar

Joined: 30 June 2023
Online Status: Offline
Posts: 3266
Quote Hapiel Replybullet Posted: 16 September 2011 at 5:02am
Just in case your students like the game more then they like programming, be sure to recommend them robocode. One of my favorite games and requires serious programming in Java
IP IP Logged
Zenobia
Seaman
Seaman


Joined: 26 May 2020
Location: Netherlands
Online Status: Offline
Posts: 31
Quote Zenobia Replybullet Posted: 16 September 2011 at 5:05am
Wow very cool concept surt!
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 17 September 2011 at 12:23am
I like the concept, looks very promising!
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 20 September 2011 at 7:31am
Today I used the prototype the first time in a real class. Students were really enjoying themselves and said they were looking forward to the final game. So am I!
IP IP Logged
surt
Commander
Commander
Avatar

Joined: 30 December 2015
Online Status: Offline
Posts: 413
Quote surt Replybullet Posted: 23 September 2011 at 6:00am
Got the base sprite mostly done. Not sure about the size, It's significantly bigger than the current sprites.

I'll try to get this finished up over the weekend (sorry for the slow pace, it's reminded me why I don't do much iso).



Also I noticed that the tiles aren't quite pixel-isometric (2:1), don't know if that's intentional.


Edited by surt - 23 September 2011 at 6:00am
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 23 September 2011 at 8:55am
Wow, that looks absolutely stunning! I really like the battery on his back and I could imagine the "light" animation to have him bend down and maybe small sparks coming out of his cable hands. Fantastic work!

As explained on this website, I went with 1:2 ratio instead of true 30° isometric projection to get smoother lines. However, the entire game uses internally 3D coordinates which are projected to a 2D screen with a projection matrix. If I wanted to change from 1:2 ratio to "true" 30° isometric, I would simply have to change the values in the matrix and the game would adapt itself automatically.

As for the sprite size, I can easily adapt the tile width to go with the sprite. If the current tiles are too small, I can adjust their width easily.

Edited by Malorian - 23 September 2011 at 8:55am
IP IP Logged
shampoop
Commander
Commander
Avatar

Joined: 12 January 2015
Online Status: Offline
Posts: 202
Quote shampoop Replybullet Posted: 23 September 2011 at 11:24am
Another example of this type of game, this is done with pixel art!

http://pleasingfungus.com/
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 24 September 2011 at 1:24am
Originally posted by shampoop

Another example of this type of game, this is done with pixel art!

http://pleasingfungus.com/


The only similarity that I can find between the two games is that they include robots. It has nothing to do with programming.
IP IP Logged
surt
Commander
Commander
Avatar

Joined: 30 December 2015
Online Status: Offline
Posts: 413
Quote surt Replybullet Posted: 26 September 2011 at 1:54am
It will probably still need a bit of tweaking, but I'll let you poke it in the game so I can see what needs fixing.
The link to the original sprite is dead, so I hope everything is here.
Walk cycle is: 0, 1, 2, 1
IP IP Logged
shampoop
Commander
Commander
Avatar

Joined: 12 January 2015
Online Status: Offline
Posts: 202
Quote shampoop Replybullet Posted: 26 September 2011 at 9:29am
Actually, if you played the game past the first couple levels, you would see that the robot is controlled by a state machine. A 300 level CS subject.
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 26 September 2011 at 10:12am
surt, the sprites you created are absolutely incredible! That is fantastic work.

From the image you posted I could easily find out that a sprite has a width of 80px. However, since the image is 232px high, I was a bit unsure about the exact sprite height. From "Jump0" and "TurnOn0" I calculated that a sprite with a height of 100px would fit all the images and that's how I created the sprite image that is currently used in the game: http://www.haan.lu/lightbot/img/sprites2.png

I also updated the current version of the game to include your sprite with some small fixes to the code to have everything display nicely. I also haven't changed the tile size yet ... still waiting for more opinions on the tile/bot ratio.

A few things however:
- I guessed that "Jump0" is for jumps going up and "Jump1" for jumps going down. Looping through the two frames resulted in a "weird" animation.
- The jump animation still looks a bit unnatural. This is mostly because of the code I use to calculate the jump distance: the robot always jumps in a straight line which looks wrong. Additionally, in complex levels my occlusion code fails a bit and parts of the robot are visible/invisible when they shouldn't.
- I wonder if I should change the tile colors to have the robot pop out more. Any suggestions welcome.

Check it out and tell me what you think!

Edited by Malorian - 26 September 2011 at 10:14am
IP IP Logged
surt
Commander
Commander
Avatar

Joined: 30 December 2015
Online Status: Offline
Posts: 413
Quote surt Replybullet Posted: 27 September 2011 at 6:24pm
Originally posted by Malorian

From the image you posted I could easily find out that a sprite has a width of 80px. However, since the image is 232px high, I was a bit unsure about the exact sprite height. From "Jump0" and "TurnOn0" I calculated that a sprite with a height of 100px would fit all the images and that's how I created the sprite image that is currently used in the game: http://www.haan.lu/lightbot/img/sprites2.png
That looks to work well. Give my obsession with multiples of powers of two. I would put the nominal all-encompassing sprite size as 64x112 with the pivot point at (32,88). Though that isn't at all communicated by the image I provided (would result in overlap and empty space).

Originally posted by Malorian

- I guessed that "Jump0" is for jumps going up and "Jump1" for jumps going down. Looping through the two frames resulted in a "weird" animation.
Yep, up, then down. Not a loop.

Originally posted by Malorian

- I wonder if I should change the tile colors to have the robot pop out more. Any suggestions welcome.
If you want I can put together a couple tiles for you. Just plain tile, light on, light off with varying heights for each?
IP IP Logged
Malorian
Seaman
Seaman


Joined: 04 August 2011
Online Status: Offline
Posts: 11
Quote Malorian Replybullet Posted: 28 September 2011 at 10:45am
At the moment the tiles are all calculated and drawn with basic shapes and I don't use any images for them. That's also the way I'd like it to stay since it makes the entire process more flexible if I decide to add more tile types.

Currently, I use 7 colors for the level:



1. a normal tile from the top, currently #ffa605
2. a normal tile from the unlit side, currently #e28b00 which is a 10% luminosity difference from color 1
3. a normal tile from the lit side, currently #ffc133 which is a 6% luminosity difference from color 1
4. base color for an unlit light tile, currently #0468fb
5. highlight color for an unlit light tile, currently #4c81ff
6. base color for a lit light tile, currently #e3e500
7. highlight color for a lit light tile, currently #ffff7c

If you'd like, you could just post me the seven color values and I'll pop them in to see what they are like.
IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum