• entries
89
88
• views
48667

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

## Tale of Two Wastes-of-Time

Ive been sick and just wanted to work on some stuff that ive been interested in, but never had any real use for.

So I made a program that lets me view files in ascii, bin, hex, decimal, and oct. It also shows all the info and attributes of the file.

Now tonight I plan on whipping something up using the windows desktop sharing API. Im also interested in possibly cleaning up my keylogger, or maybe some kind of program to play with networking, or my favorite idea..my own console! (if only i could find a use for it!)

## Core

So Core is coming along nicely.

If you dont know. Core is my library that includes a class to act as a Object Manager. You pass it a pointer to your update function and a pointer to your factory function. The factory function uses the library's Object class as a base for everything created using Core.

At the start of the frame, Core grabs the time. In the middle of a frame, Core calls your update function and also the update method of each and every Object. Then at the end of the frame, it calculates the time the frame took so that it can pass that along to update during the next frame.

Pretty useful.

Two features that its still missing:
Built-in Lua support
Serialization

Those two things, deal with subjects that I have never dealt with before so it will be interesting and may take a bit of time.

## Anyone need hosting?

(im going to wait to post anything about my engine til I have the core complete)

Is anyone interested in a Virtual Dedicated Server?
$45 a month +$75 setup will get you 10gb hard drive and UNLIMITED bandwidth.
You can upgrade any of the specs and you can choose which Operating System you want.
Nothings stopping you from reselling the hosting either ;)

PM me if any of you are interested.

## Glimpse

Core* core = 0;
core = new Core(factory,update);

Game* game = (Game*)core->newObject(TYPE_GAME);
Player* player = (Player*)core->newObject(TYPE_PLAYER);

bool a = core->deleteObject(game->getID());
bool b = core->deleteObject(player->getID());
bool c = core->deleteObject(player->getID());

std::cout

Output: 110

Thats a glimpse of my core lib. Thanks to Raymond Jacobs for all his help.

## Too Busy

Sorry for the lack of updates. I just started my new job and ive been busy.

When I have some free time (hopefully tomorrow or tuesday) ill post some code and go into detail about what im working on.

## New Project

I tried using a particular engine for my latest game idea, but it doesnt seem to be the engine for the job. So I decided id go on a learning trip and make a engine for nothing more than the game I have in mind.

I was inspired by a lib of Raymond Jacob's and have started working on my own version of the lib. It provides a common Object class that provides many useful features. The lib isnt done but it hopefully wont take too long to complete.

When I have more time I will give a much more detailed explanation of the lib, almost any game would benefit from using it.

:)

## 10,000

10,000 views!
Yaay!!

Im back from bama once again. I saw the batman movie at the Nasa SpaceDome Imax theatre which was unreal, after the initial nausea caused by the massive screen, it was awesome.

Hopefully I can have a game dev post sometime tomorrow. Ill try?

## Wizard??

Im off to see the wizard.

be back monday

## Side tracked

I first planned on working on the compiler today and maybe dabble with a net meeting like program that lets you view other peoples screens.

It turned out I worked on a key logger and making a class for the keyboard hook. Which I also used so that when I press SHIFT+CTRL+ALT no matter what window is active, my command line pops up.

Ugh, will I ever get anything useful done??

Who knows.

## College

I attended summer welcome today at the college I will be attending come next month, Austin Peay State University. I finally got to sign up for all of my classes. Though I did get all of the classes I wanted, the days and times of the classes are pretty spread out.

Im excited to see how Intro to Programming turns out. Im not interested in seeing how Calculus and Analytic Geometry is, especially since I have it 5 days a week.

Next semester will be better when I get to register for classes online whenever I want.

## Tokens

class test
{
method main()
{
int32 a;

mov a, 50;

ld "Hello";
call System.Console.Write(string);

ret;
}
}

## Smooth Sailing

In the process of trying to clean up the compiler code, I made a few pretty useful classes. The classes dont do much, they are basically for the organization of the compiler.

Class Partition I love this. I use it to organize the output code. For example, I could have one for the header, the variable declarations, the body, and the footer. This is extremely useful and the compiler will probably have the output code broken up into many more partitions than just those 4.

At first I was just using string for the output code. Now I use multiple partitions, which arnt much more than an array of strings themself, and call my Output function to output them all in order.

## SIL

Ive been working on a compiler and trying to learn about CIL at the same time.
So I worked up a few examples using a simplified version of CIL and have been working on a compiler to take that simplified CIL (lets call it.. SIL? haha) and compile it into CIL.

SIL so far in my design just makes it so that you dont have to set .maxstack, adds a MOV instruction, you use a the same instruction for pushing/popping off the stack no matter what it is, and it slims down on method calling.

Heres an example of SIL and then the equivalent CIL:

int32 a

mov a 50 //now you dont have to push 50 on the stack and then pop it into a

ld "Hello"
call System.Console::Write

ret

.locals init (int32 a)

ldc.i4 50
stloc a

ldstr "Hello"
call void [mscorlib]System.Console::Write(string)

ret

The compiler is very crude and hacked together at the moment but it does do some things. Next thing I want to do is clean up the compiler code and organize it into classes and such.

## Yay!

.assembly hello { }
.assembly extern mscorlib { }

.method static void main()
{
.entrypoint
.maxstack 1

ldstr "Hello, World!"
call void [mscorlib]System.Console::Write(string)
pop

ret
}

## Hm.

I downloaded MS Visual C# 2008 Express and thought id play around with C# since I havnt used it in over a year.

Then I was thinking about the idea of making a compiler that compiled to CIL so I just wasted my whole day on messing with CIL.

If anyone knows MSIL/CIL out there, please tell me why this causes a runtime error:

.assembly hello { }
.assembly extern mscorlib { }

.method static void main()
{
.entrypoint
.maxstack 1

ldstr "Hello, World!"
call void [mscorlib]System.Console::Write(string)

ret
}

It worked before I added the ReadLine line so it obviously has something to do with that.
Also, I have .net 3.5 but the highest version of ilasm.exe I can find is 2.0yadayadayada, isnt there a 3.0 or 3.5 version?

EDIT: Fixed the code. Guess I cant leave stuff on the stack! So I made a variable and popped the top value off the stack into it. Isnt there a way to just pop off the stack without having to do anything with the value?

## Overwhelmed!

I have a lot on my todo list.
1) Find a job.
2) Finish the website for a local hunting group/business.
4) Secant.
5) Maive.

I dont even want to think about finding a job right now. But for the rest of the night and probably most of tomorrow, ill be working on the hunting site which will bring me in a little income.

As far as Lask goes, I think im going to throw it on the back burner. Im beginning to lose interest in it and I would rather make a more simple abstract game that I could finish from start to finish in a short amount of time, so im starting Secant. (In case your wondering, Revision 5 of Lask is about done, you just cant double jump) Who knows if ill ever finish it!?!?! I personally dont care ;)

The first real program I ever attempted to make oddly enough was a compiler for my own programming language. Compiler and interpreters make up the majority of the programs ive ever made. Ive never really done it "right" at all, for example using BNF. I havnt worked on a language in about 12 months so im itching to give it a go. I got the idea of having it compile to MSIL from Telastyn so that will definately make things interesting. More on "Maive" later.

Revision 4:
SUCCESS!

My goal was to get the running, jumping, and collision working perfectly.
I did it.

It didnt take much time on this revision (experience helps a lot :-p) but as I already knew, I would have to scrap this version because it would be a pain to make jumping the way I want it to be.

Goals for Revision 5:
For today:
Basic running
Height of jump is based on how long you hold the jump key down.
Collision with all 4 sides of walls.
To do:
"Dashing" by double tapping left/right keys.
Double Jump.
If you fall off a cliff, you can still jump but it counts as the second jump in the double jump process.

## Back!

Im back from Huntsville!

Tomorrow ill be spending all day on Lask so HOPEFULLY I can get some real progress done.

In the mean time, ive been playing Megaman & Bass, possibly my favorite megaman game. All I have left is Dynamo Man before I go off to face Willy! Ive also completed about 4 bosses on Megaman 8 on the gamecube.

## Design

Oh my, ive actually been designing a little bit of the game before rushing into it!
Ok actually, AFTER I already rushed into it. As a result im going to have to basically redo most of the code since its messy and buggy. But ah well, I think I can get it working RIGHT and be done with this section of the code after this..lol yea right.

Controls
'W' jump, double jump, go up ladders
'A' run left, dash left
'D' run right, dash right
MOUSE aim
Left Click fire

You can "dash" by double tapping 'A' or 'D'.
You can double jump by pressing 'W' while in the process of jumping already.
You fire in bursts.
You CANNOT move left/right while firing. You can jump though.
You use the mouse cursor to point in the direction to fire.

ANYWAYS, when I get back from Bama in 3 days ill redo the code and hopefully the movement will be bout done. :)
Til then..

## Frustration sets in

Like I said, im turning this more into a megaman-like game.

I just spent 6 hours on redoing just about all the code over and over.
So now you can run and jump and it animates it just about right.

Problem is when you land, it looks as if you bounce up a pixel or two then snap back down.

Im not sure where the problem is coming from. The code for the "gravity" and such is a bit of a mess and redundant but it may also be coming from the sprites, but who knows.

Im tired of looking at the code, I cant seem to fix it.
Im leaving for Alabama tomorrow morning til monday so that means no progress from me. :/

## Short Entry

I redid the movement system.
You automatically run and you dont skid.

Other than that, I sat down and tried to design out the game.
I really want to change the game around.
I played the first Megaman game and im leaning towards designing it kinda like that now. Im thinking about giving the main player a sword or maybe you can switch between a gun and sword and use a simple movement system.

So much for unique-ness eh?

More later. Thanks for the feedback everyone.

EDIT: Deja Vu! SneakyRobot's Journal

Thanks for the feedback guys.
I need some comments on the problems below.

Ive gotten a lot of progress on the game but first let me tell you a little bit about the game!

Game Idea:
Its a 2d side scroller with very simple graphics. You control Lask. The game is unique because
it will have an 'Action' button like in Resident Evil 4 and many other games that lets you
interact with different objects in a certain way.

I want the 'Action' button(s) to basically be the main aspect of the game. I already have a
lot of sprites of Lask doing all sorts of different actions. You may only see certain animations
once in the game.

I want each level to be very unique and be different than all the other levels in the game
as opposed to most side scrollers such as the mario or megaman games where you play the same
way in every level throughout the game. Each boss will also be completely original in terms
of how you fight each individual one. (think Shadow of the Colossus)

Current Progress:
You can sit idly.
You can walk.
Theres a transiton sprite for changing from left/right.
You can run, by double tapping the left/right key.
You slowly speed up when running. Once you get to max speed, which doesnt take long, you will
skid if you stop or change directions.

Problems/Concerns:
I'll worry about getting the animation speed just right later on.
I wish I had someone to do the graphics for me, I always imagined a simple stick
like figure, but I also wanted the animations to be VERY smooth.

#But my main concern at the moment is should the player skid when he stops running?
#Should you auto run and not even have a walk?
#Should you gradually go from walking to running or should I keep it how it is where you have to double tap the button to run.

A lot of stuff is still up for debate and just about nothing is set in stone for the game just yet.
I'll probably put up the current build for you guys to try it out within the next few days.

Im not sure what im going to work on next, but im not happy with the movement system so ill probably go tinker with that.
Thanks!

Edit: I made a help wanted post for this game. I need a 2d artist, a designer, and someone to do the sound/music. Clicky

Ahoy there!
I know my journal may not be as entertaining as other journals but im really trying to get this one going. So please leave me feed back!

Id love to write up a nice post that goes into what exactly my game is about but does anyone out there even want to know? Please leave me feedback and tell me. :)

If people care, I'll also start posting a day-by-day update of what I did to the game. I know I love reading that stuff, even the small inner working details, so if you would like me to start posting that kind of stuff,

Here is the main character:

...or that is will what it will be called for now.

Ive spent quite a bit of time just getting the sprite system set up so nothing really to look at just yet. But heres an in game pic. In the mean time, im going to bed.