• Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

About this blog

You are in a maze of twisty little passages, all alike.

Entries in this blog

26 Games 26 Weeks

26 Games 26 Weeks is about the community designing a game each week for 6 months and I make them. My Kickstarter campaign has launched and I need your guys help. It is all about making the games that you guys want to play. I am really looking for people who are interested in helping design and develop the games.

Please help spread the word!

The Kickstarter page:http://www.kickstarter.com/projects/41165200/26-games-26-weeks/




My third flash game, released a few months ago, based on Lumines but with my own twists. I really, really should have spent more time polishing the game, making it smoother, adding overall polish, and definitely putting in more sounds and graphics. I plan to do so soon, after I finish game #4, along with adding a bunch of new features and release it as the sequel.

Let me know what you guys think!

Im back...again!

So ive been extremely busy/lazy with school. Im trying to get back into the habit of programming, but its tough. I have however, released a game since I last posted, which I will post on here soon enough. Ive also managed to make two games that are about 90% done, a sequel for a game using the same engine thats about 50% done, and dozens and dozens of prototypes when I was looking for a future game to make.

So sometime today I will post about my Lumines-like game that I released a few months ago. My original goal was to finish 2 other games during my spring break but thats not gonna happen...


Tunnel Syndrome

My second flash game, Tunnel Syndrome, is out.

This is my first flash game that was done completely done by myself. It seems that the number one factor for making a popular game is POLISH. You can have incredibly simple gameplay that has been done over and over, but as long as it is very polished, it will be popular.

My other flash game, Stay Up, received about a 3.2 out of 5 starting rating. Tunnel Syndrome received a 2.85, this is obviously because of the lack of polish, lack of testing, and bugs. Atleast I learned the lesson of test, test, test, polish, polish, polish.

The law of exponential returns is true.

Tunnel Syndrome

First Flash Game

I released my first flash game!

Stay Up

It was a collab with a buddy of mine. It was just a project to get me up to speed with flash, which is extremely easy to use. Im working on my own project now with it, it should be done in about a month.

Go play Stay Up and give it a good rating!

First Flash Game

I released my first flash game!

It was a collab with a buddy of mine. It was just a project to get me up to speed with flash, which is extremely easy to use. Im working on my own project now with it, it should be done in about a month.

Go play STAY UP and give it a good rating!

Bullet holes? Yum!

Havnt been working much on Game 2, mostly because of a bug I cant fix in one of my types of doors. Guess im stuck with sliding doors :/ After a few snags tonight, I got bullet holes to work! Yay. Also, I think my lack of motivation is due to not finding someone who is willing to do graphics for the game. That along with my lack of design, is making this project barely trudge along. Temptations to start a different project are creeping up... anyways, heres the bullet holes in all their glory (theyre that big for debug purposes):

Really wish someone would help me out and do some artwork for me... COUGH COUGH... check out my Help Wanted post!

Made the holes smaller and also made the vertical spread (which is random) better.

Game 2

Game 2, my new project, is a "fake" 3d first person shooter, similar to Doom. Though I hope for it to have better graphics and music (I will be posting in the help wanted section for a 2d artist soon) than Doom, it will probably have less features as far as gameplay. Things such as multiple levels (as in altitude, ie stairs, ledges, raising platforms, ect) adds far too many obstacles for me (auto-vertical aiming is one of them, along with many others), this is just a hobby game afterall.

Features I plan on the game having:
4 or 5 different weapons
Different types of mobs
Multiple levels
Atleast 1 boss
Doodads (with some of them being destructible)
Decent hud

Things already in the game:
Basic movement and strafing
Collision detection
A base enemy that makes it pretty trivial to add other types
Two different weapons and it will also be trivial to add more

Next things to add:
Decent hud
Ammo (and being able to run out of ammo and having to reload)
Better graphics!
Everything else.


If you havnt tried out my game, Hypertac, please do. Scroll down for pics. Play through all three levels and beat the boss. It shouldnt take you more than a few minutes! DO IT! Hint: Tapping 'M' allows you to shoot a lot faster than just holding down the space bar.

Now on to a bit of a summary:

Hypertac was my first game that I completed from start to finish. The reasons I think I actually completed it are:
Its very simple.
I designed everything out first. This goes for gameplay aspects and internal code.
I made a todo list and worked through it.

Most people could probably make a game like mine, but 100 times better, in a single day. Well, I cant.
And neither can a lot of other beginning game developers. This feels like such a big achievement for me
and I hope other people trying to get into gamedev are reading this. So I have a few bits of advice for
anyone working on their first game:
Plan out how the games going to work internally, the more detail the better.
Know exactly how the games going to be, design before diving into implementation.
Break things down into tiny bits and get them done, one at a time. Make a very detailed todo list.

In other words: Plan, plan, plan, and plan some more.

But dont think everything went smoothly, oh no. I had originally planned for there to be basic background effects, like possible scrolling stars or a simple scrolling image. I kind of just left that out without even considering it. I also had planned for there to be 5 levels and there being 2 different types. One type being the Kill X Number of Mobs (which is what the whole game is) and also a Survive for X Minutes. I scraped that after some reorganizing and thought it would be too difficult and that my current implementation wasnt flexible enough to easily add in another level type. The only other thing I left out was a few details with the boss. I wanted the boss to fire at you (but instead I made him spawn more mobs) and also to "dive" at you in an arc. That I deemed too much work for what the game would gain from it.

I used to dive into a game, thinking I would design it as I go.
This is a definate nonono and is probably the main reason I have never finished a game start to finish.
Why is this so bad? You need to know how your code is going to be setup, for example your object heirachy
or even your basic game loop. Not knowing how my game was going to be, often left me with a feeling of not
knowing what I should add next, which ultimately led to me dropping the project. Also, not breaking down
the features/tasks into small pieces can cause you to feel overwhelmed, which is very easy to do. So plan
and get it done.

P.S. Backup your files :D


Scroll down for pics and download link!

My first game, start to finish. Use WASD to move and either hold space to fire (slow) or you can tap M to fire fast. Once you run the game, give it a few seconds to load, sorry its so slow. Also forgive me for the large download size, the sound files are all mp3.

Tomorrow I will give details on my little adventure of making this game and some very good advice for other game developers working on their first game. I will also reveal my next project that is much more ambitious.

Tell me what you guys think! Flames welcome. :)

Download link: Hypertac


EDIT: Changed the bmp's to png's. Sorry steve :)

Im back!

Its been a while but I renewed my subscription, yipeee!

In the next day or so I will be posting about my current project, which is a very crappy shooter, with the only goal being, "complete it from start to finish", and it seems that I have done just that.

After showing off my crappy game and letting all of you flame me because you downloaded my game and realized it was a waste of your life to play it, I plan to dive into my next game project which im actually excited about.

Pics and download will be coming within the next 24-48 hours. :)
Adding the features I wanted to the compiler was trivial. Thus im getting bored of this BASIC compiler since I have everything done that I wanted to add except for basic type checking, error checking/reporting, and some optimization. But I know exactly how I would do all of the those, except for optimization which isnt much of a priority, so im tempted to dive into working on the language I REALLY want to work on. Im bored at the moment so I suppose I am going to go ahead and write out the grammar and basic design on paper and see what comes up.

Later All!
BASIC Compiler
I am very pleased with the progress I have made on my BASIC to C++ compiler. It is roughly complete, minus a few useless commands and a few things that were left out of the Tiny BASIC grammar I was basing this on, even though they are in the implementations.

I plan on turning this BASIC compiler into 3 separate projects, what I have so far being the first phase, which is complete. The second phase I plan to revamp a lot of my existing code, add more features, and implement a small amount of error checking/reporting and optimizations. Many of the things going into this phase will be added as I go.

The third phase on the other hand I have planned out in detail. It will be much closer to a modern dialect of BASIC. LET will not be required to modify variables, a symbol table will be needed, variables will have to be declared first, variables will have a type, variables will have a scope, some major changes to the grammar, and a lot more features added.

Hopefully breaking it up into three phases will keep me working since it appears there is less stuff on the todo list. Phases II and III may fade together but thats fine. After im done with this BASIC compiler I should have a understanding of all of the basic concepts of compilers. This way I will be ready for the language I really want to create a compiler for, but at this point it is too far over my head.

Phase II's Deadline: Friday the 20th

Still Spring Break

BASIC to C++ Compiler

Input BASIC Code:

LET x = 39 * 2
PRINT "Hello, World!", 50+1, x
IF 5+5 > 123 THEN PRINT "Testing"
INPUT x, a, b

Output C++ Code:

//Begin Intro Segment
using namespace std;
int main()
//End Intro Segment
//Begin Variable Segment
int x = 0; int a = 0; int b = 0;
//End Variable Segment
//Begin Generated Code Segment
x = 39 * 2;
cout << "Hello, World!" << 50+1 << x;
if(5+5 > 123){ cout << "Testing";}
cin >> x >> a >> b;
//End Generated Code Segment
return 0;

Spring Break

Game/Electronic Dev
I have been playing a little bit with my AVR and continued on getting a simple game working with the setup that I already had. The LCD only has two lines so picture it as scrolling. The player is represented as a O and with the press of the button, you move back and forth between the first and second lines on the LCD. You cant move any other way. X's approach you from the other side of the LCD, moving closer and closer to your position but never switch between the lines on the LCD. You lose if an X touches you. Now I just need to add the feature of displaying your score (how long you live) after you get touched. Oh and maybe speeding the X's up after time to make it more difficult! Hah.

Compiler Design
Telastyn and ApochPiQ have been working on their own languages for quite some time now. Telastyn's Tangent language seems to follow the evolution of other languages, adding more and more layers of abstraction with syntactic sugar and more features, which seem very interesting, my favorite being his implementation of phrases!

Apoch on the other hand has been working on his attempt, Epoch, to produce a language that is elegant, simple and gets the job done; with a focus on concurrent programming. So far it has turned out to be: elegant and simple!

I have always played with the concept of compiler design and implementing simple languages. In fact, my first [real] program ever was a parser for a variant of HTML! The high level concepts that Telastyn juggles with are far more than my mind can fathom and the idea of producing a get-the-job-done real world language that Apoch is kickin together is just a dream to me.

But there are some particular concepts of languages and compilers that I think I can handle. In particular, a type system that builds off of Ada's. No implicit casting, AT ALL. No casting an int to a float implicitly. No treating the integer value 1 as a bool. All types are completely different from each other unless specified as a subtype or explicitly casted. Also you will beable to bound a type to a particular range of values.

So I plan to implement this type system along with a few other ideas in a rudimentary language that compiles into C++ code. If I get the base of a language established then I can play with other concepts that I need some experience with, such as implementing complex grammars and optimizations.

It wont match Tangent or Epoch, or even BASIC, but it will be something.. I hope. :)


I'll save you guys from having to see another boring picture tonight. But I did have a few exciting things to mention. I added a power switch so that I way I dont have to connect the battery every time I want to turn it on and then disconnect it to turn it off. Well I added the switch and all seemed to be working properly.. until about 15 mins later I grabbed the battery to move it out of my way only to burn the **** out of my hand. It seems I over looked that, when the power switch was on, it was disconnecting the connection to ground.

Besides that I didnt get much done. I soldered some wires so I wont have to mess with braided wires or have to wrap wires to the prongs on the push button. Right now the program the MCU runs just says BUTTON NOT PRESSED when the push button is not being pressed, then when you press it, it says BUTTON PRESSED and lights up an LED.

Next programming session that I have I will work on making a simple game for this. Its kindof hard since im limited to a 2x24 Alphanumeric LCD, but I have an idea!


Let There Be Light

Button Not Pressed:
Button Pressed:

If youve been reading my journal the last few days, I decided to dive into the land of electronics and microcontrollers. My ultimate goal is to get a keypad wired up and use this simple 8 bit "computer" to learn more about Operating System design. Tomorrow or thursday hopefully I will have pictures to show off a simple game using my single push button.


Here You Go

Benryves asked..

Using a pair of wire strippers as a prop, im showing off the lovely AVR, my messy wiring, the lcd once again, the programmer on the far left, and me with a shirt on this time. Im still new to electronics. Im trying to figure out how to get this push button I have to work, I believe its SPDT? Perhaps someone (benryves) can shed some light on how to make a lil demo with it?

Fathom Update

I am about to make the third revision to my virtual cpu, Fathom. This last one should support just about everything that I plan to add to it and there shouldnt be any more major changes after its complete.

But there are some design decisions I have come to, specifically about the instruction set. The Z80, IIRC, uses up to 4 or 5 bytes for certain instructions. But I orginally wanted Fathoms instruction set to use only a single byte per instruction, though thats impossible if it has a 16bit address bus. Now, I could squeeze most of the instructions (such as all of the variations of the LD instruction) into a single byte, if I cut down on the number of registers and such. But I didnt like that idea, nor did I like the idea of having to do something like
LD R0, 5
LD R13, R0
Instead of being able to do:
LD R13, 5

So I guess what im going to do is only have the core instruction in the first byte. What I mean by that is, LD RX, RX will have its own instruction and be expecting the next byte to specify which two registers it is acting on. I could also go somewhere in the middle of these two choices, some instructions fit all of the variations in the first byte, while others expect a byte after it.

Does anyone get what im saying? Or even care? :)

Fathom This

I am either too much of a loser or just too dumb too code anything else (or both), so I have been working on an emulator for a VIRTUAL cpu that I made up. It is extremely simple. It has a 8-bit wide data bus and a 16-bit wide address bus. It is based off of the virtual CHIP-8 (without the game aspects) and the infamous Z80.

Yes, this is 100% useless..but I have my reasons. Anyways, I have completed the majority of the instruction set. Including basic math ops, control flow, and bit manipulation. There are no interrupts or input/output instructions as of yet. Also almost all of the instructions act on 8-bit data and there are no 16 bit registers, that is something that still needs to be worked on. There are 16 8-bit registers, R0-RF.

The reason for this project is to setup an enviroment, though its virtual, that will allow me to work on Operating System concepts on a very simple 8-bit system.. and to hold me over until my AVR that I ordered gets here.

I will probably finish the instruction set, add some 16-bit registers, and then have the emulator hook any JMPs to locations in the first sector of memory, as to simulate a BIOS call. That way I can get started working on some OS stuff.. or what will more likely happen: rewrite the emulator after I find all the nasty stuff.

Can you say useless? :)

Code Has Errors

I have finally finished typing the 34 files of code found in Appendix A of the latest edition of the Dragon Book. All the files compiled just fine. So tonight I typed up the last package, parser, which is the longest file at 207 lines long. I get 3 errors, one of them was just a typo so I recompile. 3 errors again. I look at the errors and it seems they are NOT typos. :(

Which really sucks because I typed all this code up just for there to be errors in the code that was published. It really sucks because I dont even know Java so its going to be a pain to try to fix it. It looks like the errors that are coming up all have to do with the parameters not matching the function declarations. I will post the code so anyone who wants to look at the compiler can attempt to fix it. I will give you a cookie if you do!

EDIT: Here is the link to the zip containing all the code. Please note that this is not my code, it can be found in Compilers: Principles, Techniques, & Tools, Second Edition. I tried to type the code just like it was in the book, but I still need to go back and add in all the comments. Here is the code:

Dragon Book

For those who dont know, I have always been into compiler design. Though I have never finished an actual working compiler. I am making yet another attempt at it, this time though I have the Dragon Book on my side.

It has a complete front end in the appendix of the book that I wanted to possibly base my code off of... 2 problems.
1) Its in Java.
2) I cant find the code online.
Sooo I have taken it upon myself to type allllll the code. I am sacrificing myself for the good of the common man. I will be posting the code once I finish typing it all and making sure it runs. Then I will attempt to translate it into C++, or who knows I might just keep it in Java.

The question is, does anyone want the source once I type it all?
Sign in to follow this  
  • Advertisement