🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Epoch Release 1

Published July 28, 2008
Advertisement
I decided to go ahead and release the current Fugue source code as it stands, for two reasons. First, the sooner I get feedback on the system, the better. Second, I'm looking at a couple of very busy upcoming months for work, so my available time for working on Epoch related stuff is going to shrink considerably.

Here's the download: Epoch Release 1 - Prototype.rar (47KB)

Please be as anal-retentive with this as possible. If I missed a comment on a code block, point it out. If I slipped up with some inconsistent formatting, get on my case (my personal formatting conventions are different from the ones I use at work and so I occasionally use the wrong one). Most importantly, if you notice any design or architecture issues, dumb C++ mistakes, or whatever, shoot me a note.

Two minor caveats:
  • There are some hardcoded paths in the source; change these to suit your local install setup. Just do a global search for "d:\\epoch" and you should find all of them.

  • The project is only in VS2005 format at the moment. It may not be portable to other compilers. Actually, getting portability is something I'm very much interested in, so if someone wouldn't mind pumping this through GCC on some flavour of Unix, I'd be much obliged.


I'm very interested in getting reactions to the language itself and starting to generate a bit of exposure and interest. So lay it on thick - this is your chance to help shape the language of the future!


(OK, so that was cheesy and melodramatic. Shoot me.)


[edit/afterthought] You may find it handy to have an example program to run through the VM. This is my current test code:

entrypoint : () -> (){	string(inputstring, "")	integer(inputnumber, 0)	integer(randomnumber, 0)	boolean(quit, false)	assign(randomnumber, random(99))	assign(randomnumber, add(randomnumber, 1))	testfunction()	debugwritestring("Guess my secret number... it's between 1 and 100.")	do	{		assign(inputstring, debugreadstring())		assign(inputnumber, lexicalcast(integer, inputstring))		if(equal(inputnumber, 0))		{			assign(quit, true)		}		else		{			if(less(inputnumber, randomnumber))			{				debugwritestring("Too low! Try again.")			}			if(greater(inputnumber, randomnumber))			{				debugwritestring("Too high! Try again.")			}			if(equal(inputnumber, randomnumber))			{				debugwritestring("You're right! You win!")				assign(quit, true)			}		}	} while(notequal(quit, true))}testfunction : () -> (){	debugwritestring("Test of external function calls")}
Previous Entry Epic Epoch Update
Next Entry Egotism
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement