Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


The Bag of Holding



MMOs! Y u no EZ?

Posted by ApochPiQ, 05 February 2015 · 0 views
MMO
A common aspiration among nascent game developers is to make an MMO . It's actually a pretty common aspiration in many perfectly functional, well-established studios, as well; but at least on GDNet, we mainly see newbies who want to make the next World of Warcraft, and so it's easy to be misled into believing that the MMO fascination is somehow peculiar t...


Fun with templates. "Fun." Ha, ha.

Posted by ApochPiQ, 10 December 2014 · 404 views

So I have an interesting situation where I wrote a math-intensive API to allow easy composition of various functions. The details are pretty easy so I'll just show an example of what the API usage looks like:

formula.Create() .Set(0.0f) .AddWithWeight(some_data_source, 0.5f) .Multiply(other_data_source) .Display(); The API is mean...


Stupid bit rot

Posted by ApochPiQ, 05 November 2014 · 446 views
Epoch
After a couple of days of preoccupation with other things, I sat down tonight to start hacking on Epoch. I was unprepared for the bizarre puzzle that unfolded immediately after.


I had been mucking around for a little while when it came time to compile and test my changes. Everything seemed to build cleanly, and then I started the program, only to be gre...


More hacking on native executables

Posted by ApochPiQ, 31 October 2014 · 497 views
Epoch
I've started the long and tedious process of slowly but surely hooking up every single Epoch language feature to the new LLVM bindings, so that the compiler can emit 100% native binaries instead of JIT compiling the native code when the program is started.

So far the only thing that works is printing out strings, and only statically defined strings at th...


Native Binary Project: Day Whatever

Posted by ApochPiQ, 27 October 2014 · 414 views
Epoch
I continue to hack on the Epoch compiler, slowly shaping it into a powerhouse of executable binary generation. So far I've gotten the program string table and DLL import table built in a flexible and extensible manner. This is the first step towards getting actual code generation back online at full capacity.

Now that I can link to DLLs from native Epoch...


Rewrite ALL the things!

Posted by ApochPiQ, 23 October 2014 · 416 views
Epoch
OK so I'm not really rewriting everything ... just... a lot of it.

The current runtime infrastructure for Epoch is precarious at best, and desperately needs some improvements. There are a number of things I want to do that all happen to coincide nicely with a desire to rewrite the runtime system:
Destroy the EpochLibrary DLL forever. This is an ancient c...


Slimming down the Epoch runtime and improving program start times

Posted by ApochPiQ, 18 October 2014 · 369 views
Epoch
Right now a big limitation of the Epoch program execution model is the fact that .EXEs generated by the compiler are not in fact native binaries. They are compact bytecode wrapped in a thin shim that churns said bytecode through an LLVM wrapper layer each time the program is launched. This means that every single time you start an Epoch program, it is bas...


Epoch Mailing List

Posted by ApochPiQ, 13 October 2014 · 352 views
Epoch
I've spun up a mailing list for the Epoch project, mostly because I'm tired of having conversations about it span half a dozen websites and PMs and blah blah.

Here's the link: clicky . Or you can email epoch-language@googlegroups.com to accomplish the same thing.

It should be open to anyone to come and talk about the language or just ask questions. I'll...


Three toads and the spit of a badger

Posted by ApochPiQ, 13 October 2014 · 314 views
Epoch
So Epoch has a couple of warts that I'm looking at smoothing out. One of them has to do with overloads that do type decomposition of algebraic sum types:

//// How things look today//type Optional<type T> : T | nothingTest : integer x{ print(cast(string, x))}Test : nothing{ print("Nothing")}entrypoint :{ Optional<integer> exists =...


Watching syntax evolve

Posted by ApochPiQ, 08 October 2014 · 431 views
Epoch
I'm still thinking a lot about the question of task syntax in Epoch. The more I contemplate the matter, the less I like the idea of having tasks be overloaded as the "only" way to do namespacing. I also don't like the idea of static methods/data very much.

I still really like keeping tasks as the single mechanism for packaging functionality with data. I...






April 2015 »

S M T W T F S
   1234
567891011
12131415161718
192021222324 25
2627282930  

Recent Entries

Recent Comments

PARTNERS