Portal Prelude / Alex Marcolina Interview
Posted by Ryan on 3 December 2012, 18:45 GMT
Over the weekend, Alex "builderboy2005" Marcolina released his TI-83/84+ version of Portal Prelude, a release that is
certain to become an instant classic for calcs. We've been watching him for some time, and he has built up a
nice little library of entertaining, stimulating, and unique bits of software over the past few years. With
Portal Prelude being received as a great success throughout the community, we decided to catch up with Alex to
see where he stands, where he has been, and where he's going from here. Click through to see the full
interview, and make sure to show Alex some serious appreciation for his outstanding work!
ticalc: Let's start out with a little background information. Where are you from, what do you do,
and how did you get into calcs? Tell us about yourself!
Alex: I am from Saratoga, California, and I am currently studying at the University of California Santa Cruz, in the Baskin School
of Engineering, working towards a degree in Computer Science - Game Design. I originally got into calculator
programming my sophomore year of high school. I had had my TI-84+ SE for about a year and I had noticed the
PRGM button before but never knew what to do with it. In my sophomore year trigonometry textbook there was a
simple example of how to program a simple Quadratic Solver, which finally piqued my interest in that little
PRGM button enough to figure out how to use it. I spent the rest of the semester making math programs for
everyone in the class, and the second semester making small "screensaver" programs with the pixel commands.
After about a year, I finally figured out how to use "getkey", and that was when I started making games. Not
long after that, I released my first Basic game ever, the original Portal.
ticalc: Let's talk about your latest release: Portal Prelude. You have stated that it was in a state
of development in one form or another for around 3 years. Can you give us a broad overview of what the
development process was like for you?
Alex: I always start development of a game with the engine first. Interestingly, I got the portal
mechanics finished within the very first day I worked on the project! I spent the next few months implementing
the 3 major components of the game: buttons, cubes, and plasma balls. It was around this time that I started
running into memory problems, which was the largest thing responsible for the long production time (besides a
lack of free time!). The fact was that I wanted a game that wasn't just a levelpa-ck, but was like Portal in
that it was a puzzle game filled with a story that you could follow along. For the longest time, I couldn't
see how that would be possible given the memory limitations that I was hitting. Both the switch to [Flash] App
form and the compromise in term of how much story I was attempting to put into the game was what allowed the
game to be finished.
ticalc: For Portal Prelude, the animation is extremely well-executed (I am quite obsessed with
that death animation), and you used some very clever visual tricks to enhance to presentation (e.g., the
"elevator" animations). What is your artistic process like for the sprites and animation with consideration
the display constraints imposed by the TI-83/84 display?
Alex: Usually the animations start from something that I want to implement and continue as I make
compromises to deal with the limitations of the hardware to end up with something that satisfies me. I think
it is important to start at what you want rather than what is possible, that way you don't lose sight of what
you wanted to create in the first place. It's just important to be able to make the compromises that allow
your vision to become reality.
ticalc: You have demonstrated a proficiency for coding physics in the past. Was Portal Prelude a big
step away from something such as the Chainfire library in terms of implementing the physics?
Alex: Actually, I would say it was the other way around. Portal Prelude was one of the earliest
exploration into calculator physics for me, and things like Chainfire and Zedd were only started after I had
gotten the basic physics completed for Portal. Portal definitely has some unique physics rules and constraints
to it, and I would say working within those constraints was what allowed me to become familiar with Axe and
calculator physics enough to be able to complete libraries such as Chainfire and Zedd.
ticalc: How did you get into programming? What types of programming have you done aside from z80
calcs, and on what platforms?
Alex: The very first programming I ever did was for this little LEGO computer called the RCX from the Lego Mindstorms
kit, which allowed you to build robots out of LEGO blocks and then program them to do what you wanted. At that
point, programming was the aside and building robots was the main theme. It wasn't until I picked up the
calculator that I actually started to see programming as something that I would want to do for a living. I now
know Java, C, and C++, with Java currently being my best language and one that I have made quite a number of
small applet games with. Over this past summer, I was interned at a motion control company called Leap Motion, and that was where I was able to exercise
and expand my C++, as they had me building small demo's to use with their software.
ticalc: You have progressed as a z80 programmer rather rapidly. What have your experiences been like
moving from entertaining TI-BASIC titles to BBC BASIC to using the
Axe Parser, and so
on? What are your favorite experiences with programming, broadly speaking, and what have been your most useful
learning experiences with programming for z80 calcs?
Alex: I will always have fond memories programming in TI-BASIC, even though I don't do it nearly as
much anymore, since it was the first language that I ever programmed a game in. I feel that BBC BASIC was a
great experiment and an awesome application for the calc, but I found its interface frustrating at times and
ended up favoring TI-BASIC in the end, even though I had enjoyed the power that BBC BASIC had to offer. I had
never really been the type to program with assembly, because even though it offered power and speed, it was
difficult to program on-the-go, which was my favorite thing about programming for calculators in the first
place. The Axe parser was the perfect language for me in that regard, as it gave me the same portability and
quick-prototyping that TI-BASIC did but with the added superspeed of assembly. I think that programming for
the z80 has been an experience in itself.
ticalc: What would you say is your strongest programming skill, your skill that needs the most
work, and the area of programming do you avoid at all costs?
Alex: I would say my strongest programming skill would be my intuition and ability to quickly think of
ways to solve a problem. I would also say I am weaker in terms of my knowledge of different languages, and the
finer details of the languages I do know. I cannot think of an area of programming that I would avoid, but
let's hope I never find it!
ticalc: What project or projects are you going to be working on in the near future, and what is your
Alex: I am tentatively working for a super small game for the Omnimaga Apocalypse Programming
Contest, but we shall see if I get that done in the small amount of time that I have left. In the
broader range, I am excited to work on a new Real Time Strategy game/engine for the calculator. I have started
work on it a little bit in the last couple months, and I am excited to see what it might become! As for my
dream job, my sights are set high. I expect nothing less than Half-Life 3.
ticalc: Anything else that you would care to share with the readers?
Alex: Once again, I would just like to thank you guys for the awesome opportunity, everybody who helped
me to get Portal Prelude to its current finished state, and the community in general for always being
supportive and generally awesome!
We would like to thank Alex for taking the time to sit down with us for the interview, for sharing his
programming experiences with us, and, of course, for Portal Prelude. We'll keep our eyes open for Alex's next