October 6, 2018

AddressSanitizer (ASAN) examples

AddressSanitizer is a great tool for finding bugs in C or C++ projects. It consists of some instrumentation added to code at compile time, as well as a dynamically linked runtime. Good test coverage is required, as it detects problems at runtime, while running your test-suite. To use it, supply -fsanitize=address to both the compiler and linker when building for tests (works in newer versions of clang and gcc). There are great resources for understanding how it works, but when I started, I was missing a few simple examples. Read more

July 27, 2018

Using Systemd to ensure unit(s) run on one CPU core

This post is based on an excellent article from Red Hat: https://access.redhat.com/solutions/1445073 I’m a CFEngine developer, so this is a more work related post. CFEngine and Systemd In some performance critical situations, it makes sense to limit management software to a single CPU (core). We can do this using systemd and cgroups. CFEngine already provides systemd units on relevant platforms, we just need to tweak them. Tested using CFEngine 3.12 on CentOS 7. Read more

June 6, 2018

The DayKnight 30-day project - Week 4 / Final update

DK30 has been over for quite some time. I wanted to post a final update about my progress, for my “fake week 4”. Work and other things have kept me busy, so I’m not done with everything I wanted to do, but still enjoy working on the game. Enemies I’ve added a few enemies, with skills and the basics needed for AI. Currently the AI is completely random. Ogre - Only knows how to attack Slime - Uses a few basic physical moves, like Attack and Slash Wizard - Can use both healing and damaging magic skills. Read more

May 18, 2018

The DayKnight 30-day project - Week 3

DK30 has officially ended. As I’ve been busy with work, progress has been slow. I’ve done some changes to pave the way for better GUI, but nothing to show there. This post is mainly about the new skills. Skills I’ve added 8 active skills, I think this is enough for the demo, and shows the potential of the combat system. For simplicity, all the explanations below assume that you have equal stats as your opponent. Read more

April 24, 2018

The DayKnight 30-day project - Week 2

Following the initial plan, I worked on effects this week. Effects (buffs/debuffs) can have positive or negative consequences, like stat boosts, damage over time and so on. Skills can apply effects, and effects can also apply other effects. I made a few improvements in other places as well. A gif should say way more than a thousand words; Notice that text is more animated now? I’ve also made changes to existing skills and started adding new ones, I’ll talk more about this next week. Read more

April 15, 2018

The DayKnight 30-day project - Week 1

This weeks task was to experiment and implement a better User Interface. I used pyglet to make a simple GUI, which currently has the same functionality as the terminal version. It’s still just text so far, creating GUI from scratch takes time, but adding more graphics and animation is now possible. Had to spend a decent amount of time refactoring, making sure the core package, which contains game logic, was completely separate from any terminal specific code. Read more

April 9, 2018

The DayKnight 30-day project

I’ve watched, and been a fan of, video game streamer Sean “Day9” Plott for many years. Since he is now encouraging community members to do a 30-day project with him, I decided to join. The goal is to stop procrastinating and focus on getting something done in 30 days. Participants choose their own projects, and I’ve decided to work on a game. If you’re interested in joining or seeing the other projects, you can read more on their discord server. Read more

December 13, 2017

Inlining a React/Material-UI web app

This guide was originally posted on Medium. I am reposting here to test the features of my new Hugo website. This guide is pretty simple and straightforward, it is not specific to React, but the example project uses React and Material UI. Before setting up a build system like this, you should at least be familiar with the UNIX terminal, JavaScript, CSS, and HTML. Inlining can be done with other tools, like gulp or create-react-app (or next year’s big new JavaScript framework), so you should explore your options. Read more

© Ole Herman Schumacher Elgesem 2021

Powered by Hugo & Kiss.