It was the end of HackUST, a hackathon I miraculously got the opportunity to organize, alongside a few of my peers in the HKUST eclub, who let me help despite being an exchange student at HKU. Picture below is our fearless team.
Yesterday ended the busiest 36 hours of my life.
It was the end of HackUST, a hackathon I miraculously got the opportunity to organize, alongside a few of my peers in the HKUST eclub, who let me help despite being an exchange student at HKU. Picture below is our fearless team.
The Hackathon was big deal. In a lot of ways. First, it was the second collegiate hackathon in the history of Hong Kong. This is only because last year's was the first. Secondly, we had over 200 participants. Talk about a huge turnout! And to be clear, this doesn't include judges, mentors, the organizers and student helpers/volunteers, whom without we couldn't have made this thing happen. The whole Hackathon went with a hitch, from registration, coding, feeding the hackers, judging and presenting the contestants.
My main duty for the hackathon was marketing to external universities, like HKU and PolyU, along with being a main event organizer/leading our group meetings. I'd never in my life extensively planned an event, and although most must say this after planning their first event; "Wow, a lot more goes into it than I had any idea".
The following post is an essay I completed for my class Introduction to Video Game Studies. It features Brogue, my current favorite game. Enjoy!
Launched in 2012, Brogue is an ASCII character based roguelike dungeoncrawler, much in the theme of its namesake (Rogue, 1980). Ogres, trolls, jackals and Naga inhabit these procedurally generated worlds, and only most cunning of adventurers can return from depth 26 with the amulet of Yendor.
Brogue is a turnbased dungeon explorer. On each turn the player gives a single input. This can be to move to an adjacent square, attack, search, wait, equip armor, quaff potions, apply wands or staves or read scrolls. The player begins on the first, 2d depth of the dungeon, and explores the dungeon by descending further using staircases on each level. Inhabiting the dungeon are myriad dangers, some animate, others not. One can find a huge selection of creatures, ranging from rats to kobolds to dar blademasters to revenants, underworms and dragons.
The layout of each floor is procedurally generated, meaning that the game uses random number generation to dictate the layout of floors, walls, trees, pits, water, lava and items. In addition to the floors being populated with just enemy (and some ally!) creatures, the floors are filled with more complex mechanics, including healing and explosive gases, and various traps. Stepping on a pressure plate for one of these traps can easily lead to a character's demise.
Death is also a central part of any roguelike experience, and Brogue nonetheless. As each character's death is permanent, a single playthrough can last anywhere from seconds to hours. The game's procedural generation however ensures that no two playthrough's are alike, resulting in near-endless gameplay. Additionally, no options, classes, races or attributes are chosen at the start of Brogue, rather, one starts with the same attributes and few items at the beginning of each game.
Expectedly, the monster frequency and strength increases as one descends through the dungeon, requiring more advanced gear and play-styles. The various items one can find are listed more thoroughly here: weapons, armor, scrolls, potions, staves, wands, charms, rings, keys and most importantly; food and gold pieces.
Gold pieces are found in stacks of 50-200 and are scattered along the dungeon at the same rate of other items. The gold pieces however serve no actual function in the gameplay, they are simply estimates of dungeon progress. This is so that when one dies or ascends (programmed end of game, more about that in a bit), one can record a 'score' consisting of the amount of gold collected.
How one can 'win' the game per se is to reach the 26th depth, where the amulet of Yendor is held. Once one grabs the amulet, the player must race back to the 1st depth while being chased by the guardian, an invulnerable creature, and racing against their stock of food. Food, as mentioned earlier, is of critical importance to the player. Similar to other roguelikes like Nethack and Zangband, the player has a 'nutrition' attribute, which goes down by a small amount each turn. Only by eating food can one restore this. When the player's nutrition counter hits empty, the player sustains massive damage each turn, usually resulting in a quick death if the player cannot find food quickly.
As items are of such large importance to the player, brogue appropriate made a similarly deep item system. The most different concept for players new to roguelike RPG's is the item identification system. For each playthrough, every staff, wand, weapon, piece of armor, potion scroll and ring the player finds is unidentified. A minor amount of items will be identified, if found in vaults - essentially loot chests that one can open by obtaining keys.
While exploring through the dungeon, other than the 'nutrition' level, a player has a few other attributes. A player will have an armor value, based on the armor rating they are wearing, their current strength, and the effective level of the armor. (A player can equip a heavy plate mail, but only once they have quaffed enough strength potions will the mail give them adequate protection). Additionally, the player has a stealth range, outside of which monsters cannot detect them. The player then of course also has a strength attribute, starting at a fixed point, and increased by drinking certain potions.
The stealth mechanic in Brogue works as follows: creatures default states are either wandering, sleeping or guarding. For every turn that a creature is n your stealth range, they have a chance to detect you, resulting in most cases (depending on creature behavior) to change to 'hunting' and begin chasing/attacking the player. Many monsters will have alternative behaviors however. Spellcaster creatures will often flee from the player until a certain range, then begin casting spells, or Monkeys for example can steal an item from a player's inventory, and then proceed to flee.
The player can also endure other variations of states, one can call buffs, debuffs or enchantments. These include special powers that one gets from drinking potions. Some of these effects are haste, telepathy (can sense presence of creatures on dungeon floor), confusion, nauseous, weakened, shield, burn, poison, hallucination, paralysis, stuck in web/nets, fire immunity, levitation and more. Creatures can also suffer the majority of these effects (all except hallucination) and other variants that change their AI behavior, such as discord (attack creatures friendly to them), sleep, and silence.
While the retro ASCII character design may look old primitive to some, brogue is a game of surprising depth. One must weigh almost every situation, whether it be how to slay a creature, avoid a trap or continue to explore a dungeon, and must do so in the wisest or most efficient way if the player wants to reach deeper levels.
The most difficult challenges for new players, as stated before, is the identification of items. One can quaff potions and read scrolls recklessly, as this both reveals the function of the magic item and unleashes it, however many items are cursed! There are multiple types of cursed scrolls and potions, which can summon a swarm of monsters, releasing clouds of paralyzing of poisoned gas, or explode in a fireball around the player. The player of course can use the items for their own use, as throwing a confusion potion into a school of goblins and watching them move in random directions (and if there is another goblin in that direction, it will attack it) can be an easy way to deal with a mob of otherwise fatal creatures.
The myriad of options at each turn of Brogue, paired with its procedural generation of floors and items really allow a huge variations of playing styles to be viable. Due to the manner of Brogue however, many times the character is essentially created for you, rather than the player choosing what role they would like to play. This is due to the random items found on each floor. If a player finds a staff of firebolt early on in the game, the player may choose to focus on a staff based class by spending scrolls of enchantment on that, and looking for charms of recharging (staffs are reusable and cast a fixed spell with each use). Alternatively, if a player finds melee gear, it may be wise to keep items that aid in weapon combat options, such as haste potions.
Although the gear is for the most part random, the player is given some degree of choice in their equipment. Primarily, the dungeon will have "vaults" spread throughout it. These vaults are locked by an iron gate that requires a key, found on the same level, to be used to open it. To obtain these keys, the player must outsmart hidden traps or defeat certain creatures on that level. Also, some vaults contain no door, but instead require finding a hidden lever, or using a scroll of wall-shattering at the correct spot instead.
Inside these vaults are 3-7 items that are guaranteed to be uncursed, and if they are a ring, staff or wand they will be identified (but not weapons nor armor). This can give the player a huge advantage in choosing quality gear that will help define their play style, which is constantly changing based on their equipment.
This brings us to the concept of cursed weapons and armor. When a weapon or armor is cursed, it will be less effective than its regular counterpart, and once the player equips it, they cannot unequip it unless they use a scroll of protect weapon/armor, or a scroll of remove curse/enchantment, all valuable items.
Although there is no character 'level', one can improve the character attributes using items scattered through the dungeon. This way, the player will be more powerful as they descend further through the dungeon. These items are sparse among the huge variety of loot, and the dungeon becomes increasingly difficult and complex
as one descends.
These items primarily include potions of life, potions of strength, and scrolls of enchantment. Potions of life both heal a player to full health, and increase their max life by 33%. Potions of strength of course increase the strength of player, allowing one to use more advanced weapons and armor effectively. Potions of enchantment however are the main process of 'leveling' in Brogue. Every staff, weapon, armor, charm and ring have a certain item level. The item level can be increased by one if a player uses a scroll of enchantment on it. This will make weapons do more damage and hit more, armor block more damage, and makes rings', charms' and staffs' magical abilities more powerful. Since these scrolls are relatively rare, one must choose between items on which gets an enchantment. Because the dungeon's difficulty scales much faster than the player, one must consolidate enchants onto a few items that will be strong enough to carry them into lower depths. For example, a +2 axe and a +3 sword is much less effective than a +6 sword.
It is because of this consolidation that one must choose wisely what type of character to play. If one has powerful staffs, it will be much more useful to pick their ring of reaping (recharges staffs faster) than a ring of health regeneration, as they will increase their offence more. Alternatively, the player could invest their scrolls of enchantment into a scroll of empowerment to increase the strength of the goblin ally they gained by freeing him.
Because of the multitude of tools the player has to solve each encounter, each becoming their own sort of mini-game in a sense, the game incorporates a strategic tone to it. And although the game could be analyzed though a numbers-heavy approach, where one could roll the potential damage, hit % against each monster, the game community (as experienced on the game's official forum) does not. The game remains true to its roots in Rogue. Brogue is a game about adventure. The player must use their guts and cunning to outsmart the enemies and traps in the dungeon, create a powerful avatar, and always venture down further the retrieve the Amulet of Yendor.
One dies in the adventure quite often. If the author were to estmate, approximately .01% of playthroughs of the average player result in retrieving the amulet and returning to the first floor. As of the writing of this essay, the author himself has not even ascended once. Nonetheless, the game has its own way of glorifying dying, as with many roguelikes. Because death is so common, the game gives some satisfaction in its death procedure. Firstly, once the player reaches 0 health it pauses the gamestate, and allows the play to look at all of their items fully identified, as well as the combat log and dungeon floor. It then saves the character's progress on the record board, listed by the score (gold pieces picked up) on each run.
Each playthrough of Brogue teaches the player one more way to die, and how they might have lived, hopefully making a player better. And although there is a mechanical, -simulation-like feeling to the gameplay, nothing can stop the heart-stopping pause I experience when an underworm breaks out from a wall 3 spaces away from me, and I just used by potion of descent to take care of the ogre in the last hallway, nor the scheming, planning mood I put myself in when I find myself one hit away from life against a swarm of enemies, planning which item has the best chance to save my character. Lastly, the process of adventuring deeper than you ever have before, finding your first Fire Salamnder ally, getting horrifically dismembered by a revenant, or discovering a summoning altar for the first time simply instills a sense of curiosity for just what exactly could be next, further down in the dungeonﾅ If you can get that far!
Happy belated Chinese New Year! I spent Chinese New Year in Taiwan, visiting Taipei, Yilan and Hualien. Yilan was absolutely gorgeous, and there's a reason it's called one of the seven natural wonders of Asia! Also new development, I ran my first 400m for the University of Hong Kong! It was an honor to be able to compete over here, and things felt right at place, even if there were skyscrapers towering over me and the track.
The Classes I'm taking here are as follows:
Data Structures (cool)
Object Oriented Programming & Java (cool)
Programming Tools & Technologies (really cool)
Introduction to Video Games (AMAZING!!!!!!)
Really looking forward to expanding my serious coding chops with data structures, and OOP & Java should complement my C++ with deep knowledge in another formal programming language. We also cover GUI in conjunction with Java, so I'll be able to write a fully fledged program by the end of this. Already have some plans for this (thinking something plant related).
Programming Tools & Technologies plans to be pretty awesome as well. The class consists of mainly Command Line Interface shortcuts and scripting technologies to simply make me a more productive coder. Real excited to up my Linux skills with this one.
Lastly I'm taking an arts/humanities area course to balance out my schedule. I was out of my mind when I finally got approved for this course, Introduction to Video Game studies. This coincides with a new blog I'm starting, a video game review blog. (Soon to be posted). Already have a dozen plus ideas of essays I'd love to write.
It's been a freakishly awesome start to the semester over here in HK, and more posts in the future will be dedicated to exploring more of Hong Kong's state and culture. Peace!
As fall comes to Tufts and classes begin I sit and reflect on what was, without a doubt, the best summer of my life. Living in my house, working full-time and cooking for myself has been just a part of the adventure. Me and my beloved house hit the beach, climbed mountains (okay we climbed one, but still) and cooked some amazing meals. I learned how to code effectively, multiple digital marketing platforms, and most importantly howto effectively navigate the rush-hour subway.
Firstly, major shoutout to Kerafast, the life sciences startup where I worked this summer. If you haven't read in the previous blog posts, I worked as their eMarketing intern, helping with Google Adwords and SEO. If you're interested in learning more about one of Boston's most amazing startups poised to change up the entire industry of biological research and materials transfer, check them out. They also just announced their 100th academic institution!
News from other parts of the kingdom include a big change: I'm now officially declared as a Computer Science major!! I decided that my interests have shifted more to Information Technologies and Digital Marketing, and that the skills learned in computer science will inevitbaly be more effective at achieving that goal. I won't say attempting to finish the major in my two remaining years will be easy, but hey, they say nothing worthwhile ever is right?
Along with a fresh set of classes, it's been more than welcome to have my brothers of the Beta Mu chapter of Delta Tau Delta back, along with the beginning of track workouts starting today. It's shaping up to be a good semester. Thanks for tuning in!
The month of July has been a busy one over here in Boston, MA. With weekend trips to Gloucester, the best damn 4th of July party around, and lots of side projects to satiate my curiosity. Firstly, my latest project has been this beauty. I rescued this old computer from the Craigslist free section, and now, after multiple operating systems, formatting of what I learned to be corrupted drives, and some orders to amazon, I have a perfectly function retro game console. So far I’ve installed a Super Nintendo (SNES) emulator and have it hooked up to my TV through a DIV-HDMI cable. Here she is in all her glory:
Other news, my backyard has been overgrown and now is the closest thing to jungle that I know of in the Medford/Somerville area. My sunflower continues to grow straight up (that thing is as tall as me now!) and amidst the many weeds and other undesirables in my yard I noticed this very established cilantro plant! Needless to say, I was overjoyed with the thought of large supplies of *free* fresh cilantro.
I’ve also just arrived back from a weekend trip to D.C., which I’ve learned is an amazing(ly expensive) city. On my way included a 90 minute layover in New York, a first visit to that area as well.
Stay tuned for more adventures!
Huge summer update: incoming. It feels insane to say that it is already July. Preparations for America’s birthday (can anyone say grilling on top of our garage!) are well underway, and I’ve logged my first month at my internship at KeraFAST. I’ve also managed to keep myself busy with a few other muses, but first, more on that internship.
This summer I’m working as at KeraFAST as their eMarketing Intern. It’s been a position that I’ve been pushed to learn a lot, and I’ve seen some pretty cool results already. KeraFAST is a small, (currently 10 people,) startup with an office located in Boston’s innovation district. What we do there is essentially market used biology reagents. Let me go further in detail:
Biology lab creates/clones some sort of reagent, whether it be antibodies, viruses, plasmids, vectors or really anything. These compounds will usually be completely novel and unobtainable anywhere else except by creating them yourself. The labs will create extra of these in case experiments go awry, and often will end up with leftovers. These materials will the usually sit in the freezer for up to years since they are so specific in their use. They will either be confine to freezer purgatory for eternity or will be requested by other researchers through a time-intensive, arduous Materials Transfer Agreement. This MTA will often result in no financial return for the institution for the providing laboratory.
What we do is we find these labs with extra materials, and then they identify what materials they would like to sell on our website. We then actively market those compounds on an ecommerce platform. This frees the labs from the burden of fulfilling MTA’s, returns the lab’s material and labor costs with royalty payments shared with us. We offer royalty payments that are multiplets time larger than commercial licensing, and we allow labs to sell items that are low in stock. This gives back to the providing institution and allows procuring institutions to more easily find reagents that will further their research creating a global science community.
What I’ve been doing for KeraFAST has been an area exciting and new for me. I’ve been optimizing our Google Adwords campaigns in conjunction with Google Analytics to ensure that our paid keywords are gaining the traction we want and converting to sales. This project has been eye-opening to the power behind Google Analytics and Adwords as free tools to analyze emarketing.
Other than a bit of gardening, barbequing (a lot of that actually,) and brushing up on Spanish on my commute, I’ve been picking up a new skill. I recently finished the CodeAcademy course for HTML5 and CSS, in which you rebuild the AirBnB website. I would highly recommend the course to anyone looking to dip their feet in coding, as I found HTML to be a very straightforward language to pick up. The free course provided by CodeAcademy gave me the perfect amount of freedom and wiggle room. I recently redid the AirBnB site with pictures of Corgis! Check it out! (http://www.codecademy.com/es/betaPro09669/codebits/xAlAGa)
Lastly, through my extensive attempts at growing anything, one plant has sprouted. Of the many, many, seeds I planted this summer, one sunflower has grown. This survivor gives me hope that someday, I will be able to grow at least 1/20 plants that I sow. I could not be happier with how this guy is doing, and hopefully he’ll grow to be as tall as I am. Well, that’s all for now. More summer posts coming include some more cooking, queing, coding and hopefully a taller plant.
This past week I traveled back home to the left coast to spend some quality time with family. I experienced the regular unpleasantness of the airport of shuttling, standing, waiting and walking. Just past security an large, blue advertisement caught my eye. I found this:
If you can't read the fine print, (sorry for the picture quality, How to Take an Effective Smartphone Picture Skillset coming soon to a blogger near you) it reads
"Experts agree that as little as 30 minutes of brisk walking can do wonders for your health. To get more walking into your day: use the stairs instead of the elevator, get off a bus one or two stops early and walk, when shopping or commuting park at the far end of the parking lot"
On the other side of the sign reads a suggestion to take a map to walk between health stations located throughout Logan Airport. What particularly struck me about this was how effective it was in reframing a common customer pain point. People in the airport are almost always grumpy simply due to the unenthusiastic air of the airport, and hauling around luggage surely doesn't help.
I think that this is effective because it can improve the mood of the viewer regardless of how they interact with it. If the viewer buys in, grabs a map and has a walking adventure, fantastic! They're sure to not be disapointed (as of writing this article I've discovered from Steward that there are stations to evaluate blood pressure and BMI at the other walking points). If the viewer simply reads the sign and carries on however, their travel to thier gate is no longer a forced march. Instantly the idea that they are doing something healthy by walking is implanted into their mind, and I think most people will get some small satisfaction from the reminder that although they had to walk a distance, it was a healthy "choice" for their body.
This is an example of how focusing on the positive (notice how there is no mention of a customer having to walk an uncomfortable distance) can make someone almost enjoy a task they previously would have disliked. Instead of solving the problem directly, the airport simply changed the way the customer perceives the (former) problem.
Welcome to my Blog! I've begun this as a side project to share some thoughts on the worlds science, marketing and life. As of writing this, I have just ended my sophomore year of college at Tufts University, and am well on my way to a degree in Chemistry with a minor in Entrepreneurial & Leadership Studies. Where I'll end up with those is still unclear to me, but I do know a few things to point me in at least some semblance of a career direction. For one, I know I love the world of science, specifically chemistry, as since I was introduced to the topic in 10th grade by an important mentor in my life. I know I love exploring and learning about the physical laws that dominate the world we live in, and most of all I know I love sharing these passions of mine. I've always said, "I like chemistry, but love talking about it." The Entrepreneurship and Business Planning course I've just completed confirmed my interest that I belong in and around the field of chemistry, but not in the forefront of it performing laboratory research.
This post's focus is on a novel marketing tool employed by Starbucks this past year. The Starbucks "Tweet-a-Coffee" program allowed its customers to link their Starbucks and Twitter accounts in order to gift $5 gift cards to others by including @Tweetacoffee in the tweet. Research firm Keyhole reported on the campaign: Over 27,000 people used this feature creating revenues upwards of $180,000.
Starbucks created an easier and more hip way to gift someone their product. Starbucks understands its customer and how its customer interacts with the world around them. Not only this, but by engaging an authorized account purchase simply by including the @Tweetacoffee handle, Starbucks has built upon the effective functionality of the twitter platform itself, for better or worse. Other benefits of this, as Keyhole plainly notes, is the linking between the twitter handle, credit cards, mobile devices and geographic location of where the gift card is used, a huge lump of data for customer identification and profiling.
The double-edged sword in this technique is that because Keyhole used tweets that are available to the public to analyze the campaign, the competitors can too just as easily.
Also worth noting is the concrete figures for ROI that can be developed for this tool. Rarely can a business so directly link how social media/marketing efforts are affecting sales figures, and this is just another consequence of the world becoming more digitalized and trackable.
Either way, Starbucks had an effective, although small overall in gross sales, campaign that demonstrated their knowledge of their customer. I only expect more companies to follow in this trend following Starbucks' success.