PROJECTS
BLOG
YouTube
Twitter
Space Levels

After giving up on using Box2D for Dart (the language), and then giving up on porting my Java code to Dart, I've started afresh.

I've learnt a fair bit about Dart, and how I want to program with it. Here's my 3rd attempt, with a level editor (in green space)

I've used the model from my previous post as the character (it still needs cleaning up) which I believe looks much better than my previous attempt.

The idea is to have the walls and floors filled in automatically, instead of needing to create a model for each possible combination. I can see that rendering so many small meshes (2 triangles) is inefficient, so I'll probably have to merge them into one after editing is complete.

 

One of the cool features in Dart is this:

bool get isItemSolid => _solidity ~/ 2 == 1;

It's a cool example of:

  • Arrow functions (one-liners using "=>")
  • Getters (looks like a field, actally invokes a method. Less clutter)
  • Integer division (no unnecessary casting)
  • Private fields (start with "_" always)
Up and running

Recently I've been working on a run animation for my character. After tidying it up a little, and creating a new model (still WIP), i came up with this animation

I haven't seriously looked into skeletal animation/rigging ever since highschool, where i used a demo version of 3Ds max. I've decided to get back into it for game development because it brings so much life to a game.

For my space game, I'll be exporting every 5 frames to its own mesh so i don't get distracted writing another exporter/importer. In the future however I'd like to do a whole lot more skeletal animation.

McSpace Remake

I've decided to remake my Ludum Dare 27 entry, "Commander McSpace". You play as a spaceman who has to fix the gravity generator in a space station, by collecting parts and dodging obstacles.

For the competition is was written Java, and all drawn in 2D. To make it more accessable, and as a bit of an experiment, I'm writing it in Dart, with WebGL, using a port of the Box2D physics library. The code I write in Dart will be compiled into Javascript that most people can run.

Here's what it's looking like at the moment:

My experience with Dart so far has been good. It's much more structured than Javascript, so it's faster to develop and debug, and also leads to much more manageable code. The IDE available on the website is based on Eclipse, but it really cut down to focus soley on Dart.

The game is in its early days of development. There is only this one test level, and there are no story elements yet. There are many more 3D models to make, and I need to replace the derpy looking man, perhaps with a customisable character, with proportions like characters in the Scott Pilgrim game, shown here, but in 3D. I am also working on a better lighting scheme, possibly something like Ambient Occlusion.

Edit: Video of the buggy Box2D

Remake time?

I've been toying around with remaking one of my Ludum Dare game jam entries, Commander McSpace in javascript, so more people can play it.

It would alow me to use a port of the Box 2D physics engine, and i could use WebGL!

Here's a mockup I made

But for now, its just a mockup. I think i want to finish another ongoing project before getting into the code with this one, so for the meantime I'll be restricted to my sketchbook

Chair Simulator V1.1

Chair Simulator has been updated!

A lot of code was re-written, as the original code was pretty bad (it's still not perfect)

Here are the features

  • Buy chairs, patterns and woods independently
  • Once you buy something, you own it forever
  • Click other players to see their name, score, and to point the camera at them
  • Faster spinning (too fast?)
  • 3 camera angles
  • New chairs (deck chair is missing for now)
  • Cool new buttons
  • A title
  • Your score and name in the top right
  • You can press enter when logging in
  • Log out works

You can comment below, or email me (tom) at madcoretom (dot)  com

Snazzy Chairs

I wrote a Blender exporter so that I can export models directly into my VBO format for opengl

#name
position x,y,z, normal x,y,z texture u,v
position x,y,z, normal x,y,z texture u,v

...

For example:

#cube
-1,-1,-1,0,0,1,0,0,0
-1,-1,1,0,0,1,0,1

After doing that, I decided to try loading those models in my Chair Simulator code. After doing that, I ended re-writing all of the rendering code, allowing snazzy materials like this

I have an endless list of suggested features for people, and I plan to implement some of them for the next release!

If you're interested in the exposter, leave a comment below (if they're working)

Dynamic world generation

In my latest c++ project, I'm playing around with dynamically generating the game world.
Many other games do this; Minecraft and Worms both come to mind, but there are many others

The screenshot here shows a heightmap generated using Perlin Noise. A good starting point is to look at the code here (not mine).

I'm still fiddling around with it. i think I'd like more flat places, maybe ill round the hights to descrete values, so it's less wavy and more .. steppy.

The tiles, using an Array Texture, is generated similarly, but with different parameters

edit

Now with better textures, running at 1126 FPS

Chair Simulator!!!

Ever wanted to know what it was like to be a chair?

Is being a human just too hard sometimes?

Do you want to know the feeling of being reupholstered?

Then Chair Simulator is for you!

Head over to play.madcoretom.com/chair and create yourself a free account to start playing!

It's the first web-based furniture-centric MMO created in 2014 to feature a shiny floor!

How to play:

  1. Create a user
  2. Log in
  3. Earn XP
  4. 'Buy' new chairs with your XP
  5. Feel fulfilled!

Controls:

You control the game using the on-screen buttons

  • Zoom In / Zoom out - moves the camera, shows more or less of the chairs
  • Log Out - logs you out of the game, why would you want to do that?
  • Offline Players - toggles chairs that have logged on recently (they're in the list)
  • Player List - toggles a list of recent players, with you on top
    • Click the names to centre the camera on them
  • Enter shop - spend your hard earned XP on new chairs and materials
    • If you're just changing the material, then you don't need to pay for the chair again
    • Prices are based on a complex model. The more people who have a certain chair/material, the cheaper it is
    • If you click 'Buy' but the price has changed, you'll have to try again at the new price
    • 'Exit Shop' exits the shop

Boy, that escalated quickly

A few months on, and I'm still working on the dungeon puzzler game.

I'm working on a level with a good length and good level of complexity, but it just takes so long.

I'm sick of Javascript too, while its lack of types lets you get away with things, it is still more of a hinderance. I could use libraries, but I just dont feel like learning any.

I have been having fun making textures. I've limited myself to 64x64 pixels at most

Oh, and I also have a secret project thatI'll announce someday

Low Poly Goodness

Still working on a remake of my last Ludum Dare entry. I'm enjoying modelling, and level design



The problem I'm hitting currently is stairs.

Recent Posts








Random Posts








Tags

Older>